求详解啊。汇编算物理地址啊。很急很急!
设(DS)=2000H,(ES)=3000H(SS)=4000H(BX)=1000H(BP)=1000H,(SI)=0001H(DI)=0002H(21000H)=341...
设(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)=
求详解啊。
1,不明白冒号是什么意思,
2,方括号都是什么意思,
3,物理地址是怎么算出来的,AX怎么算出来的 展开
1)MOV AX, ES:[1000H] 物理地址 (AX)=
2)MOV AX, [BX] 物理地址 (AX)=
3)MOV AX, [BX][SI] 物理地址 (AX)=
4)MOV AX,[BP+DI] 物理地址 (AX)=
求详解啊。
1,不明白冒号是什么意思,
2,方括号都是什么意思,
3,物理地址是怎么算出来的,AX怎么算出来的 展开
2个回答
展开全部
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
算法: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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询