第3章 MCS-51单片机指令系统.ppt
文本预览下载声明
(2) 判bit转移指令 JB bit,rel JBC bit,rel JNB bit,rel 当( bit )=1,转向PC当前值与rel之和的目标地址执行,否则程序顺序执行。 当( bit )=0,转向PC当前值与rel之和的目标地址执行,否则程序顺序执行。 与上面指令相同,但还有将该位清0功能。 位操作类指令表 bit←0 利用位操作指令,模拟图示硬件逻辑电路的功能。 参考程序如下: PR2: MOV C,P1.1 ;(CY)← (P1.1) ORL C,P1.2 ;(CY)← (P1.1) ∨(P1.2) CPL C ; (CY)←/ (CY)=M ANL C,P1.0 ;(CY)←(P1.0)∧ M CPL C ;(CY)←(P1.0)∧ M =N MOV F0,C ;F0内暂存N MOV C,P1.4 ;(CY)←(P1.4) CPL C ;(CY)←/(P1.4) ANL C,P1.3 ;(CY)←(P1.3)∧(/P1.4)=O CPL C ;(CY)←/O ORL C,F0 ;(CY)←N∨O MOV P1.5,C ;运算结果送入P1.5 RET 课堂师生互动 题1答 题2答 题3答 题4答 题5答 判断下列指令是否正确,若错误请改正并说明错误原因。 1. MOV #20H,A 2. CJNE @R0,#20H 3. MOV @DPTR, A 4. DIV A,R0 5. RRC B 错误,立即数不能作目的 操作数。可改为: MOV A,#20H。 题1答 题2答 错误,比较转换指令形式如下: CJNE (目的操作数),(源操作数),rel 可见CJNE @R0,#20H指令中缺少偏移量rel。可改为:CJNE @R0,#20H,rel (-128≤rel≤127)。 错误,DPTR用作设置外部RAM的间址寄存器,该指令原意是通过A写外部RAM操作。写外部RAM应用“MOVX”助记符,故正确的指令是 MOVX @DPTR,A。 题3答 题4答 错误,除法操作只能在A、B两个寄存器组合中进行,而不能在A、R0组合寄存器中进行。 正确的应是:DIV AB ;A(商)B(余数)←(A)÷(B)。 错误,“RRC”是带进位循环右移一位指令的助记符,循环移位必须在A中进行。 正确的指令应为:RRC A ;A带进位循环右移一位。 题5答 * 常用伪指令 单片机汇编语言程序设计中,除了使用指令系统规定的指令外,还要用到一些伪指令。伪指令又称指示性指令,具有和指令类似的形式,但汇编时伪指令并不产生可执行的目标代码,只是对汇编过程进行某种控制或提供某些汇编信息。下面对常用的伪指令作一简单介绍。 * 一、 汇编起始指令 ORG ( Origin ) 指令格式为: ORG nn 该指令的作用是指明后面的程序或数据块的起始地址。它总是出现在每段源程序或数据块的开始。 式中, nn为 16 位地址, 汇编时nn确定了此语句后面第一条指令或第一个数据的地址,此后的源程序或数据块就依次连续存放在以后的地址内, 直到遇到另一个ORG指令或者END指令为止。 * 例: ORG 2000H MOV SP, #60H MOV R0, #2FH MOV R2, # 0FFH ORG伪指令说明其后面程序的目标代码在存储器中存放的起始地址是2000H, 即 存储器地址 程序代码 2000H 75 81 60 2003H 78 2F
显示全部