四、程序调试说明(包括:调试情况,如上机时遇到的问题及解决办法,观察到的寄存器、存储器的内容或状态及其分析.对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及诸如调试日期、文件存放位置等需要记录的信息。)
起始堆栈指针sp=0040h,ds:13BE,ax为0。在实现对ds的保留时,sp=003C,内容为13BE和0000。在实现ds的装入时,ax=13CE,ds=13CE。接着ax=0006,000D,0068,0062,0031。执行result传送数据的语句时,ds:0005=31。符合预期的设想。调试成功。
在程序设计时,心中的想法应和设计的程序吻合,心中应对程序的步骤清晰无比,以便在程序出错时能及时找到错误,并给予纠正。然后要谨记程序的格式,对指令的使用要十分的清楚。尽量减少病句的产生。
四、实验结果与结论(经调试正确的程序的运行结果)
实验对公式z=[(x+y)*8-x]/2进行运算,在定义数据段时,已经对x和y赋值,分别为6和7,经计算结果z=49,而实验结果result=0031h,与其符合。实验成功。
五、使用说明(包括:程序的使用方法,调用方式,操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的适用范围等。)
程序对公式z=[(x+y)*8-x]/2进行运算,只需在数据段定义时,修改x和y的值便可得到用户想要的结果。程序的子程序proc1可被指令call调用。
六、实验中遇到的问题及解决方法
试验过程中对移位指令shl的使用错误,直接用了shl ax,3使程序出错,在修正后,mov cl,3 Shl ax,cl后,程序可执行。