作业帮 > 数学 > 作业

设(DS)=2000H,(ES)=3000H (SS)=4000H (BX)=1000H (BP)=1000H,(SI)

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/07/15 07:26:05
设(DS)=2000H,(ES)=3000H (SS)=4000H (BX)=1000H (BP)=1000H,(SI)=0001H (DI)=0002H (21000H)= 3412H,(21002H)= 7856H (31000H)=9ABCH,(31002H)=0F0DEH (41000H)= 5634H,(41002H)= 9A78H,计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容.
1)MOV AX,ES:[1000H] (AX)=
2)MOV AX,[BX] (AX)=
3)MOV AX,[BX][SI] (AX)=
4)MOV AX,[BP+DI] (AX)=
2,
3,物理地址是怎么算出来的,AX怎么算出来的
设(DS)=2000H,(ES)=3000H (SS)=4000H (BX)=1000H (BP)=1000H,(SI)
1) MOV AX, ES:[1000H] AX=9ABCH 地址:31000H
算法:ES*10H+1000H 声明的段寄存器ES
2) MOV AX, [BX] AX=3412H 地址:21000H
算法:DS*10H+BX 默认段寄存器DS
3) MOV AX, [BX][SI] AX= ? 地址:21001H
算法:DS*10H+BX+SI 默认段寄存器DS
这道题是不是你哪里敲错了,你题中没有这个21001H 地址
4) MOV AX,[BP+DI] AX=9A78H 地址:41002H
算法: SS*10H+BP+DI 默认段寄存器SS
方括号里面代表地址,比如 mov ax,[bx] 就等于 mov ax,[1000h],冒号代表段前缀,冒号前面的是段寄存器,将以指明的段寄存器寻址,段寄存器 * 10H + 后面的地址 即是物理地址,如果没有指明段前缀,将以默认的段寄存器寻址,BX,SI,DI 这3个寄存器默认的段寄存器是 DS,BP的默认段寄存器是SS