汇编语言的基本使用
通过基本例题入门
任务一:
运行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:0010076A:0015之间的内容。
(2) 执行E指令 -E
截图:
实验说明:
① -E指令修改存储单元的内容
截图指令表示把从内存单元075A:0001开始依次替换为F3、X(58)、Y(59)、Z(60),BD
② -D显示修改之后的内容。
(3) 执行F指令 -F
截图:
实验说明:
① 用一个指定的十六进制数填入一部分存储单格式
② 截图指令表示把076A:0100076A: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地址处开始运行程序;若指定地址,则从起始地址开始运行,在断点地址处停止,并显示所有寄存器及标志位内容,和下一条要执行的指令
转载:https://blog.csdn.net/weixin_44135909/article/details/102572883