8086汇编环境的使用

先打开emu8086,写入代码

;给11003H的地址赋1234H的值

;不能直接给DS赋值需要寄存器中转
mov dx, 1100H
mov ds, dx
mov ax, 1234H
;不能直接给内存地址赋值,需要DS:[偏移地址]指向内存
mov [3H], ax

点击emulate开始模拟

出现调试框,调试框的内容如下。左侧是当前所有寄存器的值;中间蓝色的是当前执行指令的位置,蓝色的行数就是当前执行指令的长度;右侧就是当前即将执行的指令

点击view -> memory 查看内存

内存列表展示

修改默认地址,并通过list的模式展示,查看相应内存地址的值

再次查看调试框

可以看到

  • CS=0100H,IP=0000H,CS:IP=0100H*10H+0000H=01000H,刚好就是当前将要执行的指令的地址。

  • 当前所有数据寄存器都为0000H

  • DS=0100

点击single step执行mov dx, 01100h指令

可以看到

  • dx寄存器的值为1100H,即dh=11,dl=00H

  • 由于上条指令的长度为3,所以IP寄存器的值加3,此时下条指令的地址为CS:IP=0100H:0003H=01003h

点击single step执行下条指令

可以看到

  • IP=0003H+0002H,上条指令的长度为2,当前的指令长度为3

  • ds=1100H

点击single step执行下条指令

可以看到

  • ax=1234H

  • ip=ip+0003H=0008h,CS:IP为下条指令的位置

点击single step执行下条指令

可以看到

  • ip=ip+3=000BH

查看内存,可以看到已经完成赋值,并采用小端模式存放

以上便是给内存赋值的全过程

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值