[工学]3第三章:汇编语言程序设计X.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]3第三章:汇编语言程序设计X

(2)循环次数未知的程序 例2、设用户用键盘输入长度不超过100字节的字符串放在8031单片机外部RAM以2000H为首地址的连续单元,该字符串用回车符CR(‘CR’= 0DH)作为结束标志,要求统计此字符串的长度并存入内部RAM的1FH单元中。 解:从首单元开始取数,每取一数判断其是否为‘CR’,是则结束。   ORG 1000H STADA DATA 1FFFH SLANG DATA 1FH CMCR2:MOV DPTR,#STADA MOV B,#0FFH CRLOP:INC DPTR INC B MOVX A,@DPTR CJNE A,#0DH,CRLOP MOV SLANG,B SJMP $ END §3-4 编程综合举例 一、加减法运算 两个N字节无符号数分别存放在内RAM的单元中,低字节在前,高字节在 后,R0指定被减数单元地址,R1指定减数单元地址,差放原被减数单元 CLR C ;清进位位 MOV R2,#N ;设定字节数 LOOP:MOV A,@R0 ;从低位取被减数的一个字节 SUBB A,@R1 ;两数相减 MOV @R0,A ;存字节相减的差 INC R0 INC R1 DJNZ R2,LOOP ;两数相减完否 JC QAZ ;最高字节有借位转溢出处理 RET 二、乘法运算 进行两个双字节无符号数乘法运算, 被乘数和乘数分别放在内RAM的 R2、R3单元和R6、R7单元中,其中R2、R6为高字节,相乘结果(积) 依次放在R4、R5、R6、R7中 R2 R3 R6 R7 (×) R3R7H R3R7L R5 R7 R2R7H R2R7L (+) R7 R4 R5 R3R6H R3R6L (+) R7 R6 R5 F0 R2R6L (+) R7 R6 R5 ACC.0 R2R6H (+) R7 R6 R5 R4 DBMUL:MOV A,R3 MOV B,R7 MUL AB ;R3*R7(得到第一次部分积) XCH A,R7 ;原R7内容送A,R7←R3R7L(在R7中得到 乘积的第四字节) MOV R5,B ; R5←R3R7H MOV B,R2 MUL AB ;R2*R7(得到第二次部分积) ADD A,R5 ;R2R7L+R3R7H MOV R4,A ;R4 ←和 CLR A ADDC A,B ;R2R7H+(R2R7L+R5时产生的进位) MOV R5,A ;R5 ←和 MOV A,R6 MOV B,R3 MUL AB ;R3*R6(得到第三次部分积) ADD A,R4 ;R3R6L+R4 XCH A,R6 ;A ←R6,R6 ←R3R6L+R4(在R6中 得到乘积的第三字节) R2 R3 R6 R7 R3R7H R3R7L R5 R7 R2R7H R2R7L R7 R4 R5 R3R6H R3R6L R

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档