77范文网 - 专业文章范例文档资料分享平台

51汇编第三章第四章部分题目的参考答案(5)

来源:网络收集 时间:2020-04-13 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

因为没有16位加法指令,DPTR要分为高低两个8位来相加。程序中用R2存查表项的列号,R3存查表项得行号。程序如下:

TERM EQU 10 ;被统计课程代号 NUM EQU 50 COURDE EQU 15

MOV R2,#TERM ;R2存列号 CLR A

MOV R3,A ;R3存行号 MOV R4,A ;总成绩先为0 MOV R5,A

MOV R6, #NUM ;循环NUM次

LOOP: ACALL PICK ;调用查表子程序 CLR C

ADD A,R4 ;累加成绩低位 DA A MOV R4,A CLR A

ADDC A,R5 ;累加成绩高位 DA A MOV R5,A

INC R3 ;到下一行再查表

DJNZ R6,LOOP

SJMP $

PICK: MOV DPTR,#TAB ;表格首地址 MOV A,R3 MOV B,#COURSE MUL AB ADD A,DPL MOV DPL,A MOV A,B ADDC A,DPH MOV DPH

MOV A,R2 ;再加上列号 MOVC A,@A+DPTR ;查表 RET

3-30 编写16位无符号数除以8位无符号数的除法程序。被除数存于R1R0中,R1为高8位,除数存于R2中。运算后,商存于R0中,余数存于R1中。除数为0则置OVER单元为1。

解:按照题意,商为8位,故只需执行8次循环比较,也意味着被除数的高8位一定小于除数。然后就可以按照“左移相减”方法来进行比较。即将被除数左移一位以后,取出高9位来与除数相减(比较),若够减则商为1,并将差值(余数)代替被除数高8位。若不够减则商为0,被除数高8位不修改。然后左移一位进行下一次比较,直到得到8位商为止。程序如下:

OVER DATA 20H

MOV OVER,#00H ;复位溢出标志 MOV A,R2 ;取除数

JNZ START ;除数不为0则开始 MOV OVER,#01H ;置位溢出标志 SJMP $ ;结束 START:MOV R3,#08H ;8次循环 LOOP: CLR C

MOV A,R0 ;被除数低8位 RLC A MOV R0,A

MOV A,R1 ;被除数高8位

RLC A MOV R1 MOV F0 CLR C SUBB A JNC NEXT ; JNB F0NEXT1: MOV R1 INC R0NEXT: DJNZ R3 SJMP $ END

,A ,C

,R2 ;,NEXT

,A ;

,LOOP ; 与除数比较 大于等于除数转移 余数送回 不够8次,返回

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库51汇编第三章第四章部分题目的参考答案(5)在线全文阅读。

51汇编第三章第四章部分题目的参考答案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/936276.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: