源操作数的物理地址是es ds ss 怎么判断

源操作数的物理地址是es ds ss 怎么判断
.设DS=2000H,ES=3000H SS=4000H,BX=1000H BP=1000H,SI=0001H DI=0002H [21000H]=1234H,[21002H]=5678H [31000H]=9ABCH,[31002H]=0DEF0H [41000H]=3456H,[41002H]=789AH 计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容.1.MOV AX,ES:[1000H] ________ AX=__________ 2.MOV AX,[BX] ________ AX=__________ 3.MOV AX,[BP+DI] ________ AX=__________ 4.MOV AX,[BX][SI] ________ AX=__________
我想知道为什么第一个的物理地址用ES X 16 + 1000H ,第二个用DS,第三个又变成ss,这些是根据什么来运用不同的段基址
数学人气:311 ℃时间:2020-02-03 13:42:07
优质解答

呵呵   俺可以帮助你

  MOV AX, ES:[1000H]       物理地址用ES X 16 + 1000H =30000H+1000H=31000H 

  本体中源操作数 ES:[1000H]   已经指定其段地址为ES      

  (AX)=  9ABCH 

  2.   MOV AX, [BX]    ;物理地址用DS X 16 + 1000H =20000H+1000H=21000H 

         源操作数没有明确指定段地址时,默认DS为段地址

        (AX)=  1234H 

  3. MOV AX,[BP+DI]  ;物理地址用SS X 16 + (BP)+(DI) =40000H+1000H+0002H=41002H   

         [BP+DI]采用基址+变址时   (当 BP作为 基址寄存器时,默认SS为段地址)

        (AX)= 789AH 

  4.  MOV AX, [BX][SI] ; 物理地址用DS X 16 + BX)+(SI) =20000H+1000H+0001H=21001H  

        基址+变址时  一般默认DS为段地址.

        (AX)= 5678H

 

 呵呵     满意就选满意回答的啦

我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版