发布网友
共1个回答
热心网友
2000h是立即数,加[]的一般是表内存单元的引用,ax和这个一样。
如果是用masm,对于自定义的标签,加不加[]都被汇编器翻译成对地址的引用,虽然一定程度上简化了代码书写,但增加了迷惑性,比如:
.data
a dw 3
...
mov ax, a ; 这句被解释为mov ax, [a]
所以在引用内存内容时还是加上[]好一些,用nasm就不存在这种问题。
ADD AX, BX
bx中的是数,至于是地址还是操作数,那是根据上下文给出的修饰词,add ax, bx只负责把bx加到ax里去。
热心网友
2000h是立即数,加[]的一般是表内存单元的引用,ax和这个一样。
如果是用masm,对于自定义的标签,加不加[]都被汇编器翻译成对地址的引用,虽然一定程度上简化了代码书写,但增加了迷惑性,比如:
.data
a dw 3
...
mov ax, a ; 这句被解释为mov ax, [a]
所以在引用内存内容时还是加上[]好一些,用nasm就不存在这种问题。
ADD AX, BX
bx中的是数,至于是地址还是操作数,那是根据上下文给出的修饰词,add ax, bx只负责把bx加到ax里去。
热心网友
2000h是立即数,加[]的一般是表内存单元的引用,ax和这个一样。
如果是用masm,对于自定义的标签,加不加[]都被汇编器翻译成对地址的引用,虽然一定程度上简化了代码书写,但增加了迷惑性,比如:
.data
a dw 3
...
mov ax, a ; 这句被解释为mov ax, [a]
所以在引用内存内容时还是加上[]好一些,用nasm就不存在这种问题。
ADD AX, BX
bx中的是数,至于是地址还是操作数,那是根据上下文给出的修饰词,add ax, bx只负责把bx加到ax里去。
热心网友
2000h是立即数,加[]的一般是表内存单元的引用,ax和这个一样。
如果是用masm,对于自定义的标签,加不加[]都被汇编器翻译成对地址的引用,虽然一定程度上简化了代码书写,但增加了迷惑性,比如:
.data
a dw 3
...
mov ax, a ; 这句被解释为mov ax, [a]
所以在引用内存内容时还是加上[]好一些,用nasm就不存在这种问题。
ADD AX, BX
bx中的是数,至于是地址还是操作数,那是根据上下文给出的修饰词,add ax, bx只负责把bx加到ax里去。