汇编语言第二章实验

学习当然不能只是看书上的知识啦,只有实际上手操作才能体验到计算机语言的乐趣与奥妙。接下来就是我根据书上的实例和实验在个人计算机上做出的练习

先熟悉一下-e  -a等命令

CS=073F,IP=0100,所以内存073F:0100处的指令为cpu当前要读取和执行的指令,此处存放的机器码为00 00 ,对应的汇编指令为ADD balabalbla

-r命令可以改变寄存器中的内容(修改cs与ip的内容)

 

-d查看10000H(1000:0)内存处的内容(-d 1000:0会列出当前地址开始的128哥内存单元的内容)

行起始地址       内存单元内容                                                                                数据对应的ASCII码

-e改写内存内容

用-e将机器码写入内存再用-u察看机器码对应的汇编指令

-t执行一条或多条汇编指令(将cs:ip指向1000:0)

-a以汇编指令的形式在内存中写入机器指令

实验任务

(1)

这个实验注意寄存器溢出不计,编译时cs:ip地址注意指向起始写入地址,-e写机器指令,-a写汇编指令

(2)

jump2000:0003表示修改cs:ip,在此实验中表现为重复编译add ax,ax;

使用-a命令执行daa ax,ax 8次就是2的8次方的16进制0100H,十进制的256

(3)

如图所示命令可知,dos内显示区域起始位置为b8000,奇数项数字控制图案(第一行中的奇数项1代表笑脸),偶数项两个数字,后位代表0-f共16种颜色,前位0-7和8-f颜色都有背景色(颜色和后位一样,而且8-f有闪烁效果)

由下图可知我的实验三显示的是显存地址空间的内容

 

实验3总结不全,忘各位大佬指正。

猜你喜欢

转载自www.cnblogs.com/Sakura0-0/p/9749069.html