我在emu8086中编写了这段代码并且它在模拟器中表现良好但是当我尝试使用NASM编译它时,它会让我误解:“操作大小未指定”,帮助某人?
add bx,[3565]
sub bx,0xcc
mov [bx],0CCh
答案 0 :(得分:1)
NASM无法弄清楚mov [bx],0CCh
之类的行是什么意思。显然,
这设置为0CCh。但是你想让bx指向一个字节
, 短长, ...?这将表现为相当不言自明
NASM中的error: operation size not specified
。您可以避免指定类型的错误,如下所示:
SECTION .text
global start
start:
add bx,[3565]
sub bx,0xcc
mov byte [bx],0CCh
那会把它组装好......当然,不要试图按原样运行它,它会产生EXCEPTION_ACCESS_VIOLATION
。只需使用调试器打开它,您就会明白为什么。