[计算机组成原理] 寻址方式与指令的结合

4-15 指令的执行结果

已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。

  1. MOV CL,20H[BX][SI]
    EA(偏移地址) = BX+20H+SI = 56H
    PA = DS*10H+EA = 91D0H + 56H = > C L = F 6 H CL=F6H CL=F6H

  2. MOV [BP][DI],CX
    EA = BP + DI = 56H
    PA = SS*10H + EA = 1E4F6H = 5678H

  3. LEA BX,20H[BX][SI]
    MOV AX,2[BX]
    LEA指的是 将数据传给寄存器

    BX = 20H +BX + SI = 0056H
    EA = BX + 2 = 58H
    PA = DS*10H + EA = 9228H
    AX = 9228H = 1E40H

  4. LDS SI,[BX][DI]
    MOV [SI],BX
    应该也是将数据传送到 寄存器中
    EA = BX+SI = 56H
    PA = DS*10H + EA = 9226H
    SI = (09226H) = 00F6H

4-19 结果

在实例模式下,假设(DS)=1234H,(SI)==124H,(12464H)=30ABH,(12484H)=464H,有以下程序段:

LEA    SI,[SI]
MOV    AX,[SI]
MOV    [SI+22H],1200H
LDS    SI,[SI+20H]
ADD    AX,[SI]

上述程序执行后,(DS) = ____,(SI) = ____,(AX) = ____

EA SI,[SI]

[ S I ] [SI] [SI]放到SI当中,则 S I = 124 H SI=124H SI=124H

MOV AX,[SI]
PA = DS*10H + SI = 12340H+124H = 12464H
AX = (12464H)= 30ABH

MOV [SI+22H],1200H
PA = SI+22H+DS*10H =12486H
[12486H] = 1200H

LDS SI,[SI+20H]
SI = DS+SI+20H = 12484H
然后再将SI+2赋值给DS
(DS) = SI+2 = 12486H = 1200 H
SI= (12484H) = 464H

ADD AX,[SI]
AX = (12464H) + [SI] = (12486H) + 464H
则AX + [SI] = 350F + 464H = 350F

则(DS = 1200H, SI = 464H , AX = 350F)

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值