在汇编语言的串操作中, MOV DI, DS MOV ES, DI 这两条指令到底有什么作用?

 我来答
定玉枝裴寅
2019-07-08 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:851万
展开全部
(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给出了这样的指令,在某些情况下,可能会用到你提到的这两条指令。
希望能帮到你。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式