Assembly NASM:未指定操作大小
我用emu8086编写了这段代码,它在模拟器中运行得很好,但当我试图用NASM编译它时,它抛出了一个错误:“未指定操作大小”,是否帮助其他人Assembly NASM:未指定操作大小,assembly,x86,nasm,x86-16,Assembly,X86,Nasm,X86 16,我用emu8086编写了这段代码,它在模拟器中运行得很好,但当我试图用NASM编译它时,它抛出了一个错误:“未指定操作大小”,是否帮助其他人 add bx,[3565] sub bx,0xcc mov [bx],0CCh NASM无法理解像mov[bx],0CCh这样的行是什么意思。清晰地 这会将某些内容设置为0CCh。但是你想让bx指向一个字节吗 ,短的,长的。。。?这将表现为相当不言自明的事实 错误:在NASM中未指定操作大小。您可以避免指定类型的错误,如下所示: SECTION .tex
add bx,[3565]
sub bx,0xcc
mov [bx],0CCh
NASM无法理解像
mov[bx],0CCh
这样的行是什么意思。清晰地
这会将某些内容设置为0CCh。但是你想让bx指向一个字节吗
,短的,长的。。。?这将表现为相当不言自明的事实
错误:在NASM中未指定操作大小。您可以避免指定类型的错误,如下所示:
SECTION .text
global start
start:
add bx,[3565]
sub bx,0xcc
mov byte [bx],0CCh
那会把它组装好的。。。当然,不要试图按原样运行它,它会产生异常\u访问\u冲突
。只要用调试器打开它,你就会明白为什么。NASM肯定也告诉过你在哪行代码上发现了错误mov[bx],0CCh
需要一个大小说明符,例如mov byte[bx],0CCh
。而且,添加bx,[3565]
看起来很奇怪。为什么要尝试从偏移量为3565的内存中读取?