NASM:未指定操作大小

时间:2016-11-20 13:47:53

标签: assembly x86 nasm x86-16

我在emu8086中编写了这段代码并且它在模拟器中表现良好但是当我尝试使用NASM编译它时,它会让我误解:“操作大小未指定”,帮助某人?

add bx,[3565]
sub bx,0xcc
mov [bx],0CCh

1 个答案:

答案 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。只需使用调试器打开它,您就会明白为什么。