基于DOSBox的汇编语言初步

汇编语言的基本使用

 通过基本例题入门

任务一:

 运行leapYear.exe并且将结果截屏。

解答:

在这里插入图片描述

实验说明:

(1) mount c c:\masm5 斜杠后面的文件夹一定要放在c:\下面的指定位置;
(2) 执行之前要把盘符切换为c盘 执行指令: c:\
(3) 执行指令顺序 :

 MASM leapYear.asm->LINK leapYear.obj->leapYear-->显示结果。

任务二:

单步或多步运行该程序以及实践PPT上面的指令。

解答:

单步以及多步执行 -T指令
截图:
在这里插入图片描述

实验说明:

① 执行debug leapYear.exe 输入-T指令 其中 AX BX CX DX 为数据寄存器;
DS ES CS 为段寄存器
SS 栈段寄存器 CS 和 IP 表明当前CPU执行的指令地址 比如:cs:ip = 0770:0003 BED8 MOV DS,AX 表示CPU在0770:0003 执行 MOV DS AX 指令 ② -T 2表示一次执行两步 IP值递增两次。
(1) 执行D 指令 -D指令

截图:
在这里插入图片描述
实验说明:
(1)-D 指令显示当前显示内存单元的内容
-D 10表示显示076A:0010内存单元的内容
(2)-D 10 15表示显示076A:0010076A:0015之间的内容。
(2) 执行E指令 -E
截图:
在这里插入图片描述
实验说明:
① -E指令修改存储单元的内容
截图指令表示把从内存单元075A:0001开始依次替换为F3、X(58)、Y(59)、Z(60),BD
② -D显示修改之后的内容。
(3) 执行F指令 -F
截图:
在这里插入图片描述
实验说明:
① 用一个指定的十六进制数填入一部分存储单格式
② 截图指令表示把076A:0100076A:0120替换为4F
(4) 执行R,R AX指令 -R R AX

在这里插入图片描述
实验说明:
① :检查和修改寄存器的内容
② 截图指令为显示AX寄存器内即将077A 改变为076A再显示。
(5) 执行RF指令
截图:
在这里插入图片描述
实验说明:
① :显示和修改标志位状态
(6)执行A指令 -A
截图:
在这里插入图片描述
实验说明:
① :可以键入汇编语言语句,并能把它汇编成机器代码,相继放入从指定地址开始的存储器中。
② A输入之后加入地址 在该地址中编辑代码
MOV AX,1
MOV BX,1
ADD AX,BX
就实现了1+1=2的指令操作。
③ 若要进行单步执行需要将CS 和 IP改编成输入的地址即可。
④:通过观察AX,BX的值即可判断值得变化。最终结果时是BX为2.
(7) 执行G、U指令 -U G

截图:
在这里插入图片描述

说明: ① : U可以键入汇编语言语句,并能把它汇编成机器代码,相继放入从指定地址开始的存储器中. ②
G若没有指定任何地址,则从当前的CS:IP地址处开始运行程序;若指定地址,则从起始地址开始运行,在断点地址处停止,并显示所有寄存器及标志位内容,和下一条要执行的指令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值