《微机实验及课程设计》实验报告
loop loop2 pop cx mul bx
add output,ax ;将值累加 jc error inc si jmp again
over: add output,bx jnc over1
error1: mov right,0 over1:ret change endp
;---------------------------------------------------------------- disp proc near ;显示子程序 push dx push ax
cmp dl,9 ;判断是0~9 还是A~F jbe num add dl,7 num:add dl,30h mov ah,02h int 21h pop ax pop dx ret disp endp
code ends end start
实验现象:
分步进行: 调试string.exe:
5
《微机实验及课程设计》实验报告
运行结果:
调试num.exe:
运行结果:
6
《微机实验及课程设计》实验报告
四.提高与创新研究
(说明提高与创新部分实验情况,简述实验步骤,电路和关键/重要的程序片段) 1)利用带符号调试开关/Zi 和链接开关/v, 进行编译连接,并用TD.EXE 进行调试,尝试直接对符号 变量进行修改、检查操作;
2)程序(2)中,在输入数值时采用按位判断方法,即每位数字输入时判断,如果不符合则拒绝输入该 字符,并将符合的字符存入; 3)如何合理地利用断点技术。
五.分析与总结
(总结现象,分析原因和结果,评价实验(设计/效果/调试/测试方法))
本次实验花费了较长时间,其中在修改调试程序上花费时间占绝大部分。虽然用的是参考程序,但还是得检查程序编译的正确性。程序编译出错主要出现在语法错误上,不过这些错误很少,容易修改。其次是一步一步运行程序,一开始没有注意,全部用的是t来执行单步运行,结果发现有些程序段被跳过了,这是由于t仅仅单步执行当前指定地址处的指令,忽略了程序中断时的那部分程序运行,所以在执行中断程序时,我用p来执行,结果正确。
虽然,实验花了很长时间修改,解决种种问题才能够输出正确结果,但我觉得不断的找出错误并修正错误这个过程更能锻炼人,学到的东西更多。
7