1:用DOSBOX里的edit编写程序并且运行,保存为1.asm
2:简易方法运行程序
观察到屏幕上输出数字36
3:修改dl的值且重新汇编:
观察到修改dl的值使输出数字变为66,说明词条语句mov,dl xx控制输出数值(是否是ascll码值)
4:用debug调试1.exe文件,并且用r查看寄存器数值
观察到ds的值为15cah cs值为15dah 满足(cs)=(ds)+10h(这是肯定的)
5:观察psp内容
验证psp开始数据为 cd20(why?)
6:用u命令反汇编
7:t单步执行
遇到int 21用p命令
最终出现Program terminated normally 运行成功
2:输入代码 简易方法运行程序,出现红色36
按照要求修改后,36变化为红色29
再次按照要求修改数值,红色36变为蓝色36
总结:首先两个实验都是在显示屏上输出字符,实验一中经过修改比较,证明是通过程序在屏幕上输出数值,且推测为ascll码值,
果真经过修改数值 屏幕上输出的是
实验2中经过修改对比,发现实验2是通过修改内存直接修改显示器上的值,分别是修改颜色和数值 但这导致一定风险,因为是在dos模拟下问题不大,但是直接在cmd中修改屏幕的显示会产生风险。