mcs51单片机指令系统与编程(编辑修改稿)内容摘要:
, SP=30H 例 17: 当 SP=06H, DPTR 的内容为 1234H,求执行指令的结果是什么。 解: PUSH DPH ; SP← SP+1, SP=07H,( SP) ← ( DPH), ( SP) =( 07H) =12H PUSH DPL ; SP← SP+1, SP=08H,( SP) ← ( DPL), ( SP) =( 08H) =34H 结果为:( 07H) =12H,( 08H) =34H, SP=08H, DPTR=1234H 执行程序后: DPTR=0123H, SP=30H 交换指令 交换指令是将操作数自源地地址送到目的地。 该指令共有五条,它在数据传送任务上更 9 为出色而且不易丢 失信息。 ( 1) 字节交换指令 格式: XCH A, Rn ; A Rn XCH A, @Ri ; A ( Ri) XCH A, direct ; A ( direct) 功能:将 A的内容与源字节中的内容互换。 例 18: 设( R0) =20H,( A) =3FH,( 20H) =74H XCH A, @R0 ; ( A) =74H,( 20H) =3FH 执行程序后:实现了累加器 A和内部数据 RAM 中的 20H 单元内 容互换。 ( 2) 半字节交换指令 格式: XCHD A, @Ri ; A3~0 ( Ri) 3~0,高四位不变。 功能:将累加器 A中的内容的低四位与 Ri 所指的片内 RAM 单元中的低四位互换,但 它们的高四位均不变。 ( 3) 累加器高低四位互换指令 格式: SWAP A ; A7~4 A3~0 功能:把累加器 A中的内容的高、低四位互相交换。 例 19: 如果要使内 RAM 30H 单元与 50H 单元中的内容互换,该怎样编制程序。 解法一: 用交换换 类指令。 XCH A, 30H ; A ← ( 30H) XCH A, 50H ; A ← ( 50H) XCH A, 30H ; A ← ( 30H) 解法二:用栈操作指令。 PUSH 30H MOV 30H, 50H POP 50H 解法三:用传送指令。 MOV A, 30H MOV 30H, 50H MOV 50H, A 数据的传送指令汇总一览表 10 表 2— 2 MCS— 51 型单片机数据传送类指令 二、算术指令 MCS-51单片机的算术运算类指令共计24条,它主要完成加、减、乘、 除四则运算,以及加1指令、减1指令、二 — 十进制调整操作,这些指令一般都影响标志位。 1、加法指令 加法指令共有8条,都是以累加器内容作为相加的一方,相加后的和被送回累加器中,影响标志AC、CY、OV、P。 类 型 助记符 功能 机器码 字节数 周期数 片内 RAM 传送 指令 MOV A, Rn A ← Rn 11101rrr 1 1 direct A← ( direct) E5 direct 2 1 @Ri A ← ( Ri) 1110011i 1 1 data A ← data 74data 2 1 MOV Rn, A Rn← A 11111rrr 1 1 direct Rn← ( direct) 10101rrr direct 2 2 data Rn← data 01111rrr data 2 1 MOV direct1, A (direct1)← A F5 direct1 2 1 Rn (direct1)← Rn 10001rrr direct1 2 2 direct2 (direct1)← (direct2) 85 direct2 direct1 3 2 @Ri (direct1)← ( Ri) 1000011i direct1 2 2 data (direct1)← data 75direct1 data 3 2 MOV @Ri, A (Ri)← A 11110111 1 1 direct (Ri)← (direct) 1010011i direct 2 2 data (Ri)← data 0111011i data 2 1 片外 RAM 传送 指令 MOV DPTR,data16 DPTR← data16 90dataH dataL 3 2 MOVX A,@Ri A← ( Ri) 1110001i 1 1 MOVX A,@DPTR A← ( DPTR) E0 1 2 MOVX @Ri,A (Ri)← A 1111001i 1 2 MOVX@DPTR, A (DPTR)← A F0 1 2 ROM 传送 指令 MOVC A,@A+PC A← ( A+PC) 83 1 2 MOVC A,@A+DPTR A← (A+DPTR) 93 1 2 交换 指令 XCH A,Rn A Rn 11001rrr 1 1 XCH A,@Ri A (Ri) 1100011i 1 1 XCH A,direct A (direct) C5 direct 2 1 XCHD A,@Ri A3~0 (Ri)3~0 1101011i 1 1 SWAP A A3~0 A7~4 C4 1 1 堆栈 指令 PUSH direct SP← SP+1 (SP)← (direct) C0 direct 2 2 POP direct (direct) ← (SP) SP ← SP1 D0 direct 2 2 11 (1) 不带进位加法指令(4条) 格式: ADD A,# data ;A ← A+ data ADD A, direct ;A ← A+( direct) ADD A, @Ri ; A← A+( Ri) ADD A, Rn ;A ← A+ Rn 功能:将两个操作数相加,再送回累加器中。 例 20:某程序执行指令为 : MOV A, #OC3H ADD A, #OAAH 求执行结果,并说明对状态字的影响。 解: 11000011(OC3H) +) 10101010(OAAH) 01101101 结果为A=6DH Cy=1,OV=1 AC=0,P=1 例 21:8位数加法的两个程序如下: ( 1)MOV A,#ACH; (2)MOV A,#54H ADD A,#85H; ADD A,#27 H 给出程序执行结果,并说明对状态标志的影响。 (1) 1 0 1 0 1 1 0 0 (ACH) ( 2) 0 1 0 1 0 1 0 0 ( 54H) + 1 0 0 0 0 1 0 1 (85H) + 0 0 1 0 0 1 1 1 (27H) 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 无进位 AC=0 1⊕ 0=1 0⊕ 0=0, OV=0 有进位 C=1 无进位 C=0 结果: CY=1, OV=1, AC=1, P=1 结果: Cy=0, OV=0, AC=0, P=1 A=31H A=7BH 说明: OV— 带符号数运算时和的第 7 位中有一位产生进位而另一位不产生进位,则使OV置 1,否则被清 0。 例 22: 求执行指令 ADDC A , R0 的结果,设 R0=55H, A=OAAH, Cy=1。 解: 10101010 ( 0AAH) 01010101 ( 55H) +) 1 ( Cy) 00000000 结果: A=00H, Cy=0, AC=0, OV=0, P=0 例 23:设 A=85,( 30H) =6DH, Cy=1,执行指令 ADDC A , 30H 解: 10000101( 85H) 01101101( 6DH) +) 1 ( Cy) 11110011 结果: A=F3H, Cy=0, OV=0, AC=1, P=0 例 24:编写程序计算 4455H+22FFH 的结果。 1 1 1 12 编程说明:由于两个加数均为 16 位数,应分二步编程计算, ① 先将二数低 8 位相加,若有进位存入 Cy 中。 ② 再将二数高 8 位同 Cy 相加后,结果分别存入 40H, 41H 单元中。 解: MOV A , 55H ;取第一个加数的低 8 位 ADD A , 0FFH ;两个加数低 8 位相加 MOV 40H , A ;存入低 8 位和 MOV A , 44H ;取第一个加数的高 8 位 ADDC A, 22H ;两个加数高 8 位和 Cy 相加 MOV 41H , A ;存入高 8 位和 带借位减法指令 该指令有 4 条,以累加器内容作为被减数,减后的差被送回累加器。 格式: SUBB A , data ; A← Adata— Cy SUBB A , Rn ; A← ARn— Cy SUBB A , direct ; A← A( direct) — Cy SUBB A , @Ri ; A← A( Ri) — Cy 功能:累加器 A中的内容减去原操作数中的内容及进位位 Cy,差再存入累加器 A中。 例 25:当执行程序指令 SUBB A , 64H 的结果,设 A=49H, Cy=1。 解: 01001001( 49H) 01100100( 64H) — ) 1 11100100 结果: A=E4H, Cy=1, P=0, AC=0, OV=0 减法运算对 PSW 中的影响: (1) 减法运算的最高位有借位时,进位位 Cy 置位为 1,否则 Cy 为 0。 (2) 减法运算时低 4 位向高 4 位有借位时,辅助进位位 AC 置位为 1,否则 AC 为 0。 (3) 减法运算过程中,位 6 和位 7 同时借位时溢出标志位 OV 为 1,否则 OV 为 0。 (4) 运算结果中“ 1”的个数为奇数时(注意:不计借 CY 中的 1),奇偶校验位 P 置 1,否则 P 为 0。 (5) 由于减法只有带借位减法一条指令,所以在单字节相减时,须先清借位位( CLR C)。 (6) 加法运算与 上述减法运算类似,这里不缀述了。 例 26:设 A=D9H, R0=87H,求执行减法指令后的结果。 程序为: CLR C SUBB A, R0 解: 11011001( D9H) 10000111( 87H) 0( Cy)。mcs51单片机指令系统与编程(编辑修改稿)
相关推荐
手续费;若乙方使用自己的信用卡,则需将信用卡信息告知甲方客户经理,无需向甲方支付手续费。 8 涉及汇票付费时,乙方若委托甲方办理汇票,须预先支付办理汇票的费用和银行收取的手续费;乙方也可自行办理好汇票,然后妥善交给甲方。 9 本合同项下,乙方同意仅委托甲方办理指导其留学申请事宜,未经甲方许可,乙方不以任何方式将申请资料带出甲方工作地点,不自行或委托其他单位或个人进行任何外国学校的留学申请
APTLS 身份验证协议。 Microsoft 远程访问基础结构中部署的 VPN 服务器配备了两个 Intel Xeon 处理器 GHz、 2 GB RAM(随机存取存储器)、 GB 总硬盘容量、冗余电源和冗余风扇。 IAS 和 RADIUS 服务器 对于用户身份验证, Microsoft IT 部门部署的、面向 Windows Server 2020 中的 “路由和远程访问
iguring, and Administering microsoft Inter Security and Acceleration (ISA) server 2020, Enterprise Edition 假如需要 MCSA: Messaging(微软认证信息系统工程师 )的话,只需要在以上基础上 加考 070284 Exam 70284:实现和管理 microsoft exchange
ence? do you define marketing or management? you think English is quite important in MBA study? Why? you think MBA training courses will help you a lot in your future life? Why? do you want to do
比,剩下的就是票价和上座率了,这些指标的综合就是一部影片的票房。 (二 )推论可行或有意义 若能使一个推论可行或有意义,那么这样的假定就是段落推理成立的必要条件。 因为若推论根本就不可行或没有实际意义,那么段落推理必然不成立,所以这个假定是假设。 请体会这个例子:某企业为减人增效,决定把最无价值的员工精简掉。 本题推理为 “为达到一个目的而提出一个方法 ”,这个推理若想成立,那么依赖的假设是
正因为中国人认为“人是做给别人看的”,处处顾及别人的感受,所以才会产生“做人难”的慨叹。 中国有很多这方面的典故,比如,有的人家里很穷,弄块猪油,挂在门后面,每次出门的时候嘴上抹点猪油,以显示自己生活的富足。 有人看,就有羞耻感,羞耻文化得以发扬;没有人看,就没有羞耻感,所以内疚文化没有办法生根和发芽。 中国人的良心和义气 中国 人做人讲究良心和义气。 这是五千年传统文化里面很重要的内容。