在汇编语言的串操作中, MOV DI, DS MOV ES, DI 这两条指令到底有什么作用?
1个回答
展开全部
(1)这两条指令没有上下文的情况下,无法为您判断它们的实际意义。看不出与串操作有什么直接关系。在串操作中,一般是将两个串分别放在DS:SI和ES:DI寻址的内存单元中,以方便于串的比较、移动等操作。
(2)mov
si,ds指令的意义是:将数据段寄存器的段地址值赋给SI,执行完成后:SI=DS
(3)MOV
DI,ES
的意义是将扩展数据段寄存器的段地址值赋给DI.即执行完成后,DI=ES
一般情况下,程序中很少用到这样的指令,如果要保护DS和ES的值,通常用PUSH
DS和PUSH
ES指令。如果要计算物理地址,也是将段地址放到AX寄存器中。当然,即8086CPU给出了这样的指令,在某些情况下,可能会用到你提到的这两条指令。
希望能帮到你。
(2)mov
si,ds指令的意义是:将数据段寄存器的段地址值赋给SI,执行完成后:SI=DS
(3)MOV
DI,ES
的意义是将扩展数据段寄存器的段地址值赋给DI.即执行完成后,DI=ES
一般情况下,程序中很少用到这样的指令,如果要保护DS和ES的值,通常用PUSH
DS和PUSH
ES指令。如果要计算物理地址,也是将段地址放到AX寄存器中。当然,即8086CPU给出了这样的指令,在某些情况下,可能会用到你提到的这两条指令。
希望能帮到你。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询