汇编实验三zxt

练习一

Step1:编写t1.asm

Step2:对t1.asm进行编译、连接、调试、运行

对t1进行调试

对t1的调试运行结束了,我不会对t1进行更改,所以我又写了一个t2......(嘤),一下为t2的输出

使用r命令查看cx、ds、cs的值 cs=ds+10这是因为ds指向内存区地址,cs指向程序开始的地址,psp占了256个字节所造成的

cx是程序长度

用d命令查看psp,反汇编得到

练习二

step1:编写t3.asm

 清屏后的输出为红色的36

 

 编写t4......

 

输出为红色的29

总结:练习一   

          经百度,int 21h为一个子程序,要想调用它输出数值的功能需要将ah的值设置为2,同时dl中存放想要输出的字符的ASCII码

          查表得48为0,转换为16进制就是30h(我用了数据结构课上写的数值转换,我真是个小天才,哈哈哈)

         

        一次输出一个字符,所以第一次输出36,第二次输出87啦~~~

        练习二

        0b800h是显存的起始地址,bh表示颜色,bl存放数值(ASCII码)

总结:学会了挺多的,学的越多越觉得自己啥也不会。昨天弄了一晚上,一直编译不了,结果是因为忘了加文件的.asm后缀(哭泣)。

猜你喜欢

转载自www.cnblogs.com/fengmian/p/9973581.html
今日推荐