不能直接用数值改变DS寄存器中的内容,如:
mov ds, 1000H,而需要进行一次中转,比如可以用
mov ax, 1000H
mov ds, ax
也可以用某个内存地址中的数据来修改DS寄存器的值,比如:
mov bx, 1000H
mov ds, [bx]
还需要注意的是:
mov ds, ax 没有问题,但是add ds, ax或者sub ds, ax都会报错
补充:不止DS,其他段寄存器的值也不能直接用立即数进行修改
本文介绍了在汇编语言中如何正确地修改段寄存器(如DS寄存器)的内容。不能直接通过立即数修改其值,必须通过寄存器或内存中的数据进行间接设置。文中还提到了不能对段寄存器进行加减运算。
不能直接用数值改变DS寄存器中的内容,如:
mov ds, 1000H,而需要进行一次中转,比如可以用
mov ax, 1000H
mov ds, ax
也可以用某个内存地址中的数据来修改DS寄存器的值,比如:
mov bx, 1000H
mov ds, [bx]
还需要注意的是:
mov ds, ax 没有问题,但是add ds, ax或者sub ds, ax都会报错
补充:不止DS,其他段寄存器的值也不能直接用立即数进行修改
1311
2188
1万+

被折叠的 条评论
为什么被折叠?