- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3)比较转移指令 CJNE A,dir,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel 操作数1不等于操作数2则转,否则顺序执行。 1 例: Y= -1 X≥Z X Z Z X Y DATA+2 DATA+1 DATA MOV DATA+2,#0FFH MOV A,DATA CJNE A,DATA+1,NEXT NEXT: JC NEXT1 MOV DATA+2,#1 NEXT1:RET dir @Ri Rn #data A 1. 位传送指令 MOV C,bit ;(bit)→CY MOV bit,C ;CY→bit 2. 位状态控制指令 CLR C ;0→CY CLR bit ;0→bit SETB C ;1→CY SETB bit ;1→bit CPL C ;CY→CY CPL bit ;bit→bit 3.2.4 位操作指令 3.位逻辑运算指令 ANL C,bit ;CY∧(bit)→CY ANL C,/bit ;CY∧(bit)→CY ORL C,bit ;CY∨(bit)→CY ORL C,/bit ;CY∨(bit)→CY 4.位转移 位转移根据位的值决定转移,均为相对转移指令。 JC rel ;CY=1,则转移,否则顺序执行程序 JNC rel ;CY=0, 则转移,否则顺序执行程序 JB bit,rel ;(bit)=1,则转移,否则顺序执行程序 JNB bit,rel ;(bit)=0,则转移,否则顺序执行程序 JBC bit,rel ;(bit)=1,则转移,且该位清零,否则 顺序执行程序 1.定义: 汇编控制指令,没有指令代码,不能被CPU执行,只用于汇编过程,为汇编程序提供汇编信息。 2.常用伪指令 (1)ORG ORG是设置起始地址伪指令,其格式是: ORG 16位地址或标号 (2)END END是结束汇编伪指令,其格式是: END (3)DB DB是定义字节伪指令,其格式是: [标号:] DB 字节型数表 (4)DW DW是定义字伪指令,其格式是: [标号:] DW 字型数表 3.3 伪指令 (5)DS DS是定义存储空间伪指令,其格式是: [标号:] DS 表达式 (6)EQU EQU是赋值伪指令,其格式是: 字符名称 EQU 数据或汇编符号 (7)DATA DATA是数据地址赋值伪指令,其格式是: 字符名称 DATA 表达式 (8)BIT BIT是位地址赋值伪指令,其格式是: 字符名称 BIT 位地址 详见表3.3 MCS-51中的伪指令 进制间的转换 1.十进制→二进制(整数) 任何十进制数D有: D=dn-1×10n-1+ dn-2×10n-2 +… + d1×101 + d0×100 =(…(dn-1×10 + dn-2)×10 +… + d1)×10+ d0 规律: di×10+ di-1 (i=1,2,…n-1) 按二进制运算规则运算则得二进制数 3.4 程序设计举例 例:将4位十进制数D3D2D1D0转换成二进制数,设4位 十进制数D3D2D1D0按分离BCD码形式存放,要求结 果的高位存放在R3中,结果的低位存放在R2中。 方法:D3D2D1D0=(((0×10+D3)×10+D2)×10+D1)×10+D0 结果:16位二进制数 0D3 0D2 0D1 0D0 DATA 流程: 设置指针指向DATA 计数器初始(R7=3) Di初始→结果单元 结果单元内容×10+Di-1 →结果单元 修改指针 计数器-1→计数器 ↓ ↓ ↓ ↓ ↓ ↓ 计数器=0? ↓ 返 回 Y N × R3 R2 R2×0AH R3×0AH 0 A 0 0 0 R3 R2 MOV A,R2 MOV B,#0AH MUL AB MOV R2,A MOV A,B XCH A,R3 MOV B,#0AH MUL AB ADD A,R3 MOV R3,A RET MUL10: 结果单元乘10子程序 由于4位10进制(9999)小于16位2进制(65535),所以转换结果不
文档评论(0)