该程序是将十六进制数8H通过查表的方式转换为ASCII码38H。通过反汇编后可知8H存放在偏移地址为0010H中,转换后的数据38H存放在偏移地址为0011H中。调试结果如下,证明程序是正确的。
例4.2:
该程序是将12345678H与12345678H相乘得到14B66DC1DF4D840。通过反汇编得到被乘数与乘数分别存放于偏移地址为0000H和0004H起始处,结果存放于偏移地址为0008H起始处。调试结果如下,证明程序是正确的。
例4.3:
该程序是将是对X=90和Y=57进行比较得到X>Y,所以Z=1。通过反汇编得到X与Y分别存放于偏移地址为0000H和0001H处,结果Z存放于偏移地址为0002H处。调试结果如下,证明程序是正确的。
例4.4:
该程序是利用SF位来判断补码数Z=7938H是否为正数,求其绝对值。而7938H=0111 1001 0011 1000B,它是一个正数。通过反汇编得到Z存放于偏移地址为0000H处,结果送回原处依旧是7938H。调试结果如下,证明程序是正确的。
例4.5:
该程序是是将NUM1=0623AB78E390AFH和NUM2=7F367D82A9027C8BH两个8字节的无符号数相加得855A072E21E60D3A。通过反汇编得到NUM1与NUM2分别存放于偏移地址为0000H和0008H起始处,结果SUM存放于偏移地址为0010H起始处。调试结果如下,证明程序是正确的。
例4.6:
该程序是将字节变量BYTE_DATA=8FH这个数用8位二进制数显示。通过反汇编得到BYTE_DATA存放于偏移地址为0000H起始处,结果BUF=10001111B存放于偏移地址为0001H起始处,计算机的所存储的是相对应的ASCII码,并且显示器显示了10001111。调试结果如下,证明程序是正确的。
例4.7:
该程序是将长度小于等于100个由键盘输入的字符串的每一个的符号ASCII码值+2。通过反汇编得到我输入的字符串‘ABCD1234’存放于偏移地址为0002H起始处,之后加一个回车(ASCII码为0D),符串长度为H存放于偏移地址为0000H处,实际输入长度08H存放于偏移地址为0001H处。结果存放于偏移地址为0066H起始处,并且字符串的结尾加上‘$’(ASCII码为24)。调试结果如下,证明程序是正确的。
例4.8:
该程序是将从1开始到整数N求和,要求和不大于10000,并保存N。用C语言编程的该数为142。通过反汇编得到结果NUM=8EH存放于偏移地址为0000H处。调试结果如下,证明程序是正确的。
例4.9:
该程序是将,34,23,47,2,93,13,26,3,90这10个数按从小到大排列。通过反汇编得到这10个数存放于偏移地址为0000H起始处,结果送回原处。调试结果如下,证明程序是正确的。
例4.10:
该程序是统计字符串‘ASDFJKL’对应的ASCII码串中的二进制1的个数。通过反汇编得到‘ASDFJKL’存放于偏移地址为0000H起始处,CX=55表示字符总个数为56,结果NUM=21存放于偏移地址为0007H处。调试结果如下,证明程序是正确的。
例4.11:
该程序是将从键盘输入的十进制数(-32768—+32767)转化为二进制数。通过反汇编得到我输入的‘1234’存放于偏移地址为0002H起始处,之后加一个回车(ASCII码为0D),字符串长度为07H存放于偏移地址为0000H处,实际输入长度04H存放于偏移地址为0001H处,结果BINARY=4D2H存放于偏移地址为0009H起始处。调试结果如下,证明程序是正确的。
例4.12:
该程序是将ASCSTRING=‘1’,‘A’,‘6’,‘E’这四位十六进制ASCII码转换为二进制数。通过反汇编得到ASCSTRING存放于偏移地址为0000H起始处,结果放于偏移地址为0004H起始处。调试结果如下,证明程序是正确的。
例4.13:
该程序是将一个16位二进制带符号数以十进制形式输出到显示器显示。调试结果如下,结果显示Divide overflow(除法溢出)。
例4.14:
程序开始编译时出错了,经查错是LP_MUL标号后面少写了“:”。
该程序是分别对三组信息表的各自前两个数相乘(46,4和78,9和25,6),相乘结果放到第三单元中,之后乘积累加放到RESULT里。通过反汇编得到LIST1存放于偏移地址为0000H起始处,其中乘积DBH存放于偏移地址为0002H处,LIST2存放于偏移地址为0004H起始处,其中乘积2BEH存放于偏移地址为0006H起始处,LIST3存放于偏移地址为0008H处,其中乘积96H存放于偏移地址为000AH处,结果RESULT存放于偏移地址为000CH起始处,经计算RESULT本应该等于40CH,结果却显示43CH。调试结果如下,证明程序是错误的。
例4.15:
该程序是将以ARRAY为首地址的数组[25H,36H,H,20H,40H,9AH,5BH]求和。通过反汇编得到ARRAY存放于偏移地址为0000H起始处,结果RESULT=239H存放于偏移地址为0009H起始处。调试结果如下,证明程序是正确的。
例4.16:
该程序是利用递归完成一个无符号数N=7的阶乘。通过反汇编得到N存放于偏移地址为0000H处,结果FN=13B0H存放于偏移地址为0002H起始处。调试结果如下,证明程序是正确的。下载本文