汇编语言实验(一)

实验1

本实验说明请在《汇编语言》第四版 P35 查看。

首先得配置DOS环境和Debug工具。

在Vscode插件中搜索MASM/TASM下载。(已配置好环境)

实验配套教程: https://blog.csdn.net/orangehap/category_8914680.html。

新建一个test.asm汇编文件,右键打开DOS环境。

在命令行中输入debug,使用debug工具。

image-20210926181820224

r命令可以查看、改变寄存器内容。

1
2
r # 查看所有寄存器的内容
r ax # 查看指定寄存器内容并可以在:后输入要修改的数据,十六进制形式

image-20210926182056353

d命令可以查看内存中的内容。

e命令以机器指令格式改写内存内容,a命令以汇编指令格式向内存内容写入一条机器指令。

实验任务:

image-20210926182410255

image-20210926182421069

参考答案:

(1)用a命令以汇编指令写入内存,记住起始的内存地址

然后把命令抄进去就行,指令不区分大小写,数据最后表示十六进制的h不用加上。

连续回车就退出了输入模式,然后d 起始内存地址查看内存内容。

注意:历史命令是看不到的,不能回退!

d 起始内存地址将内存中的机器指令翻译成汇编指令。

image-20210926183924689

r命令查看寄存器内容,看看cs:ip是否对应起始内存地址,如果不对需要修改。

t命令执行当前地址的一条机器指令。

退出:quit命令。

(2)输入:a 2000:0,抄入指令。

image-20210926185613802

然后输入r 2000:0命令,输入t命令一条一条执行。

jmp指令用于跳转地址。在这相当于循环八次,然后ax寄存器中存的就是2^8。

(3)输入d fff0:0 ff命令,查看一段内存区间的内容。DOS窗口右侧就是对应的ASCII码。

虚拟环境下的值不是真实的生产日期:

image-20210926191020815

(4)按照要求填写数据,会显示笑脸符号,向显卡写入信息,没有显示可能是因为虚拟系统。

image-20210926191634389

坚持原创技术分享,您的支持将鼓励我继续创作!