汇编,[2000H],2000H,[AX],AX 有什么区别?请教

发布网友

我来回答

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里去。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com