2015强化训练-汇编(尚).pptVIP

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015强化训练-汇编(尚)

汇编程序的常用伪指令 ORG addr16——ASM51程序中一定要写! 规定编译后的机器代码存放的起始位置。 END ——ASM51程序中一定要写! 表示翻译到此结束,其后的任何内容不予理睬。 符号名称 EQU 表达式 将表达式的值赋予符号名称。程序中凡出现该符号名称就等同于该表达式。 $ ——“当前PC值”也叫位置计数器 代表正在执行的指令所在位置。 汇编程序的常用伪指令(续) 符号名称 BIT 位地址 将位地址的值赋予符号名称。程序中凡出现该符号名称就代表该位地址。 DW 双字节数据[或双字节数据组] 将双字节数据[或双字节数据组]顺序存放在此后的存储单元中。占据相应存储空间。 DB 8位数据[或8位数据组] 将8位数据[或8位数据组]顺序存放在此后的存储单元中。占相应数量的存储空间。 程序的顺序/分支/循环三种基本结构 例1:将R2中二进制转十进制程序,以单字节为例。 一个字节的二进制数(0~255),变换成为十进制,一般需要三个字节来存放。需要4个存储单元,假设是R2、R3、R4和R5。 子程序如下: MOV A, R2 ;取来二进制. MOV B, #100 DIV AB ;除以100 MOV R3, A ;A是整数,即百位数. MOV A, #10 XCH A, B DIV AB ;再除以10 MOV R4, A ;十位数. MOV R5, B RET ORG 2000H VAR EQU 30H ;定义缓存单元 FUNC EQU 31H ;书中缺此二句 BR1: MOV A,VAR ;取出变量“X” JZ COMP ;若=0,就赋 0 JNB ACC.7,POS1 ;判断 = 正? MOV A,#0FFH ;(-1 = +1取反加1) SJMP COMP ;输出 -1 POS1:MOV A,#01H ;输出 +1 COMP:MOV FUNC,A ;赋给函数“Y” HERE:AJMP HERE END 例2: 1 (X0) 0 (X=0) –1(X0) Y= 程序的顺序/分支/循环三种基本结构 任务一:控制一盏灯点亮 任务二:红灯周期性亮/灭 任务三:红外防盗报警 0RG 0000H AJMP MAIN ORG 0003H RL A ACALL DELAY RETI MAIN:MOV A,#80H SETB EX0 SETB EA WAIT:JB ACC.0,JOB1 JB ACC.1,JOB2 JB ACC.2,JOB3 AJMP WAIT JOB1: CLR P1.0 ;亮红灯 HERE: AJMP HERE JOB2: CPL P1.0 ;亮/灭 ACALL DELAY ;延时1秒 AJMP JOB2 ;重复 JOB3: CLR P1.1 ;亮绿灯 REDO: SETB P1.3 CHECK:JB P1.3,CHECK LOOP: ………… ;报警! AJMP REDO ;再检测 程序的顺序/分支/循环三种基本结构 ORG 1000H DELAY:MOV R6,#200 ; 1Tm LOOP1:MOV R7,#248 ; 1Tm NOP ; 1Tm LOOP2:DJNZ R7,LOOP2 ; 2Tm DJNZ R6,LOOP1 ; 2Tm RET ; 1Tm 例3:软件循环延时100mS(晶振12MHz) ☆ 1Tm =1uS 100mS = 100000 uS ☆ MOV Rn #data 和 NOP 是单机器周期指令 ☆ DJNZ Rn,rel 是双机器周期指令 ☆ 200 = 0C8H ; 248 = 0F8H 1+1+ 248x2 =498 (498+2)x200 程序的顺序/分支/循环三种基本结构 TABL: DW 050FH,0E89H,0A695H,1EAAH,0D9BH,7F93H DW 0373H,26D7H, 2710H,9E3FH,1A66H,22E3H DW 1174

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档