收藏 分销(赏)

单片机期末总结-最.doc

上传人:天**** 文档编号:2079069 上传时间:2024-05-15 格式:DOC 页数:39 大小:1.84MB 下载积分:12 金币
下载 相关 举报
单片机期末总结-最.doc_第1页
第1页 / 共39页
单片机期末总结-最.doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
单片机期末总结 最完整版 单片机期末复习总结 1. MCS-51单片机芯片包含哪些主要功能? 8051单片机是个完整的单片微型计算机。芯片内部包括下列主要功能部件: 1) 8位CPU; 2) 4KB的片内程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器; 3) 128B内部RAM; 4) 21个SFR; 5) 4个8位并行I/O口(共32位I/O线); 6) 一个全双工的异步串行口; 7) 两个16位定时器/计数器;0 8) 5个中断源,两个中断优先级; 9) 内部时钟发生器。 2. MCS-51单片机的4个I/O口在使用上各有什么功能? 1)P0口:8位双向三态端口,外接上拉电阻时可作为通用I/O口线,也可在总线外扩时用作数据总线及低8位地址总线。 2)P1口:8位准双向I/O端口,作为通用I/O口。 3)P2口:8位准双向I/O端口,可作为通用I/O口,也可在总线外扩时用作高8位地址总线。 4)P3口:8位准双向I/O端口,可作为通用I/O口,除此之外,每个端口还有第二功能。实际应用中常使用P3口的第二功能。 P3的第二功能: 引脚 第二功能 第二功能信号名称 P3.0 RXD 串行输入 P3.1 TXD 串行输出 P3.2 INT0 外部中断0请求输入端,低电平有效 P3.3 INT1 外部中断1请求输入端,低电平有效 P3.4 T0 定时/计数器0的计数脉冲输入端 P3.5 T1 定时/计数器1的计数脉冲输入端 P3.6 WR 外部RAM写选通信号输入端,低电平有效 P3.7 RD 外部RAM写选通信号输出端,低电平有效 【注】:P0口必须接上拉电阻; I/O口准双向:MCS-51单片机I/O口做输入之前要先输出1.这种输入之前要先输出1的I/O口线叫做准双向I/O口,以区别真正的输入,输出的双向I/O口。 3. MCS-51单片机的存储器分为哪几个空间?是描述各空间作用? 8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间: 1) 64KB片内片外统一编址的程序存储器地址空间,地址范围:0000H~FFFFH,对于8051单片机,其中地址0000H~0FFFH范围为4KB的片内ROM地址空间,1000H ~ FFFFH为片外ROM地址空间; 2)256B的内部数据存储器地址空间,地址范围为00H~FFH,对于8051单片机,内部RAM分为两部分,其中地址范围00H ~ 7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;对于8052系列单片机还有地址范围为80H~FFH的高128B的静态RAM。 3)64KB的外部数据存储器地址空间:地址范围为0000H~FFFFH,包括扩展I/O端口地址空间。 4.数据存储器 MCS-51基本型单片机内部数据存储器有256B的存储空间,地址为00H~FFH;外部数据存储器的地址空间最大为64KB,编址为0000H~FFFFH。 256B的内部存储器按功能划分为两部分:地址为00H~7FH的低128B的基本RAM区和地址为80H~FFH的高128B的特殊功能寄存器(SFR)区 基本RAM区分为工作寄存器区,位寻址区,用户RAM区 工作寄存区(00H~1FH):共分为4组,每组由8个工作寄存器,编号R0~R7 位寻址区(20H~2FH):16个单元,既可以作为普通RAM单元使用,有可以对单元中的每一位进行位操作。 用户RAM区(30H~7FH):用于存放随机数据及运算的中间结果。 程序状态字寄存器(PSW):RS1,RS0(PSW.4,PSW.3):工作寄存器组选择控制位。可用软件对它们置1或清0,以选择当前工作寄存器的组号。 堆栈指针寄存器SP: 堆栈只允许在其一端进行数据插入和数据删除操作的线性表。 PUSH,数据写入堆栈称为插入运算(入栈);POP,从堆栈中读出数据称为删除运算(出栈)。 堆栈的特点:后进先出 LIFO(Last-In Firt-Out)。 堆栈有两种类型:向上生长型,向下生长型。 进栈操作:先SP加1,后写入数据 出栈操作:先读出数据,后SP减1 MCS-51单片机复位后,SP的初值自动设为07H; 5.什么是振荡周期,时钟周期,机器周期和指令周期?如何计算机器周期的确切时间? 1) 振荡周期是指为单片机提供脉冲信号的振荡源的周期,是单片机最基本的时间单位。通常由外接晶振与内部电路来提供振荡脉冲信号,其频率记为,此频率的倒数即是振荡周期。 2) 振荡脉冲经过二分频后就是单片机的时钟信号,时钟信号的周期称为时钟周期,又定义为状态,用S表示。时钟周期是振荡周期的二倍。 3)机器周期是指令执行过程中完成某一个基本操作所需的时间。一个机器周期等于12个振荡周期。即。 4)指令周期是指执行一条指令所需要的时间,根据指令不同,可包含1、2、4个机器周期。 常用符号说明: 寻址方式: (1)立即寻址。操作数直接在指令中给出,它可以是二进制、十进制、十六进制数,也可以是带单引号的字符,通常把这种操作数称为立即数,它的寻址范围就是指令本身所在的程序存储单元。 例:MOV A,#25H;MOV DPTR,#1234H; (2)直接寻址。在指令中直接给出存放操作数的内存单元的地址。寻址范围为:内部RAM低128字节单元,特殊功能寄存器。 例:MOV A,25H; (3)寄存器寻址。指令中给出的是操作数所在的寄存器。寻址范围为:4组工作寄存器(R0 ~ R7),部分特殊功能寄存器,如A、B、DPTR。 例:MOV A,R7; (4)寄存器间接寻址。存放操作数的内存单元的地址放在寄存器中,指令只给出寄存器(包括Ri和DPTR),寄存器名称前加“@”前缀标志。寻址范围:地址范围从00 ~ FFH的全部内部RAM单元,包括堆栈区,但不包括特殊功能寄存器,以及地址范围从0000 ~ FFFFH的全部片外RAM。 例:MOV A,@R7; (5)变址寻址。将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。变址寻址主要用于查表操作。寻址范围:64KB的程序存储空间。 例:MOVC A,@A+DPTR; (6)相对寻址。指令中给出的操作数是程序相对转移的偏移量。偏移量是一个带符号的单字节数,范围为-128 ~ +127。 例:SJMP 50H; (7)位寻址。操作数是位地址。寻址范围:内部RAM位寻址区共128位(位地址:00 ~ 7FH),11个特殊功能寄存器中的可寻址位(对于8051,有83位)。 MCS-51单片机指令系统 I.数据传送类(29条) 1.普通传送指令 MOV:内部ROM;MOVC:外部ROM;MOVX:程序存储器。 1)片内数据存储器传送指令(16条) (1)以A为目的操作数指令(4条) MOV A,#data; MOV A,direct; MOV A,Rn; MOV A,@Ri; (2)以Rn为目的操作数的指令(3条) MOV Rn,#data; MOV Rn,direct; MOV Rn,A; (3)以直接地址为目的操作数的指令(5条) MOV direct,#data; MOV direct,direct; MOV direct,A; MOV direct,Rn; MOV direct,@Ri; (4)以寄存器间接寻址为目的操作数的指令(3条) MOV @Ri,#data; MOV @Ri,direct; MOV @Ri,A; (5)16位书库传送指令(1条) MOV DPTR,#data16; 2)片外数据存储器传送指令(4条) (1)使用DPTR进行间接寻址 MOVX A , @ DPTR ;A←((DPTR)) MOVX @ DPTR , A ;(DPTR)←A (2)使用Ri进行间接寻址 MOVX A , @ Ri ;A←((Ri)) MOVX @ Ri ,A ;(Ri)←A 例3.6 要求把外部RAM 60H单元中的数据8BH传送到内部RAM 50H中,试编程。 解法1:MOV R0 , #60H ;(R0)=60H MOVX A , @R0 ;(A)=8BH MOV 50H , A ;(50H)=8BH 解法2:MOV DPTR , #0060H ;(DPTR)=0060H MOVX A , @DPTR ;(A)=8BH MOV 50H , A ;(50H)=8BH 3)程序存储器传送指令(2条) MOVC A , @A+DPTR ;A←((A)+(DPTR)) MOVC A , @A+PC ;A←((A)+(PC)) 例3.7 已知程序存储器中以TAB为起点地址的空间存放着0~9的ASCII码,累加器A中存放着一个0~9之间的BCD码数据。要求用查表的方法获得A中数据的ASCII码。 解法1: MOV DPTR , #TAB MOVC A , @A+DPTR RET TAB:DB 30H,31H,32H,33H,34H,35H,36H, 37H,38H,39H 解法2: INC A MOVC A , @A+PC RET TAB:DB 30H,31H,32H,33H,34H,35H,36H, 37H,38H,39H 2. 数据交换指令(5条) (1)整字节交换指令 源操作数与累加器A进行8位数据交换,共有3条指令: XCH A , Rn ;(A)←(Rn) XCH A , direct ;(A)←(direct) XCH A , @ Ri ;(A)←((Ri)) (2)半字节交换指令 源操作数与累加器A进行低4位的半字节数据交换, 只有1条指令: XCHD A , @ Ri ;(A)3~0 ((Ri))3~0 (3)累加器高低半字节交换指令 累加器A的高低半个字节进行数据交换,只有1条指令: SWAP A ;(A)3~0 (A)7~4 3.堆栈操作指令 PUSH direct; --SP+1,SP←(direct) POP direct; --direct←(SP),SP←(SP-1) II.算术运算类指令 1. 加法指令 1)不带进位的加法指令 ADD A , #data ;A←(A)+data ADD A , direct ;A←(A)+(direct) ADD A , Rn ;A←(A)+(Rn) ADD A , @Ri ;A←(A)+((Ri)) 加法运算的结果会影响程序状态字寄存器PSW,其中包括: ① 如果运算结果的最高位第7位有进位,进位标志CY置“1”,反之,CY清“0”; ② 如果运算结果的第3位有进位,辅助进位标志AC置“1”,反之,AC清“0”; ③ 如果运算结果的第6位有进位而第7位没有进位或者第7位有进位而第6位没有进位,则溢出标志OV置“1”(即OV=C7⊕C6),反之,OV清“0”; ④ 奇偶标志P随累加器A中1的个数的奇偶性而变化。 例3.10 已知(A)=97H,(R0)=89H, 执行指令:ADD A , R0 解: 1001 0111 + 1000 1001  1←0010 0000 运算结果:(A)=20H,CY=1,AC=1,OV=1,P=1。 若97H和89H是两个无符号数,则结果是正确的; 反之,若97H和89H是两个带符号数(即负数),则由于有溢出而表明相加结果是错误的,因为两个负数相加结果不可能是正数。 2)带进位的加法指令 ADDC A , #data ;A←(A)+data+(CY) ADDC A , direct ;A←(A)+(direct)+(CY) ADDC A , Rn ;A←(A)+(Rn)+(CY) ADDC A , @Ri ;A←(A)+((Ri))+(CY) 例3.11 已知当前(CY)=1,(A)=97H,(R0)=89H, 执行指令:ADDC A , R0 解: 1001 0111 1000 1001 + 1 1←0010 0001 运算结果:(A)=21H,CY=1,AC=1,OV=1,P=0。 3)加1指令 INC A ; A←(A)+1 INC Rn ; Rn←(Rn)+1 INC direct ; direct←(direct)+1 INC @Ri ;(Ri)←((Ri))+1 INC DPTR ; DPTR←(DPTR)+1 加1指令的操作不影响程序状态字PSW的状态,只有“INC A”指令可以影响奇偶标志位P 例3.13 已知:(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H,(DPTR)=1234H, 执行如下指令: INC A INC R3 INC 30H INC @R0 INC DPTR 其结果为:(A)=00H,(R3)=10H,(30H)=0F1H,(R0)=40H,(40H)=01H,(DPTR)=1235H,PSW中仅P改变。 2. 减法指令 1)带借位的减法指令 SUBB A , #data ;A←(A)﹣data﹣(CY) SUBB A , direct ;A←(A)﹣(direct)﹣(CY) SUBB A , Rn ;A←(A)﹣(Rn)﹣(CY) SUBB A , @Ri ;A←(A)﹣((Ri))﹣(CY) 减法运算的结果会影响程序状态字寄存器PSW,其中包括: ① 如果运算结果的最高位第7位有借位,则进位标志CY置“1”,反之,CY清“0”; ② 如果运算结果的第3位有借位,则辅助进位标志AC置“1”,反之,AC清“0”; ③ 如果运算结果的第6位有借位而第7位没有借位或者第7位有借位而第6位没有借位,则溢出标志OV置“1”(即OV=C7⊕C6),反之,OV清“0”; ④ 奇偶标志P随累加器A中1的个数的奇偶性而变化。 例3.14 已知(A)=0C9H,(R2)=54H,(CY)=1。 执行指令:SUBB A , R2 解: 1100 1001 ﹣ 0101 0100 1 0111 0100 运算结果:(A)=74H,CY=0,AC=0,OV=1,P=0。 若C9H和54H是两个无符号数,则结果74H是正确的;反之,若为两个带符号数,则由于有溢出而表明结果是错误的,因为负数减正数其差不可能是正数。 2)减1指令组 4条减1指令: DEC A ; A←(A)﹣1 DEC Rn ; Rn←(Rn)﹣1 DEC direct ; direct←(direct)﹣1 DEC @Ri ;(Ri)←((Ri))﹣1 减1操作不影响PSW的状态,只有DEC A影响奇偶标志位P 只有数据指针DPTR加1指令,而没有DPTR减1指令,如果要在程序设计中进行DPTR-1运算,只有通过编程完成 例3.3.15 假如(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH,执行指令: DEC A DEC R7 DEC 30H DEC @R1 结果:(A)=0EH,(R7)=18H,(30H)=0FFH,(R1)=40H,(40H)=0FEH。PSW中仅P改变 3.乘法指令 MUL AB 16位乘积的低位字节放在A中,高位字节放在B中 乘法运算影响PSW的状态:进位标志CY总是被清“0”,溢出标志位状态与乘积有关 例3.3.16 已知(A)=80H(即十进制数128),(B)=40H(即十进制数64), 执行指令:MUL AB 执行结果:乘积为2000H(十进制数为8192), (A)=00H,(B)=20H,CY=0,OV=1 4.除法指令 DIV AB 被除数:A 除数:B 指令执行后,商存于A中,余数存于B中 除法运算影响PSW的状态:进位标志位CY总是被清“0”,溢出标志位OV状态则反映除数情况 例3.17 已知(A)=80H(即十进制数128),(B)=40H(即十进制数64), 执行指令:DIV AB 执行结果:商为02H, 余数为00H,(A)=02H,(B)=00H,CY=0,OV=0。 5.十进制调整指令:用于对BCD码十进制数加法运算的结果进行修正。 DA A 十进制调整的修正方法: (1) 累加器低4位大于9或辅助进位位(AC)=1,则进行低4位加6修正 A← (A)+06H (2)累加器高4位大于9或进位标志位(CY)=1,则进行高4位加6修正 A ←(A)+60H (3)累加器高4位为9、低4位大于9,则进行高4位和低4位分别加6修正 A← (A)+66H 例3.18 试编写程序,实现93+59的加法运算,并分析执行过程。 解:加法运算程序为: MOV A , #93H ADD A , #59H DA A 程序执行的过程分析: 1001 0011 + 0101 1001 1110 1100 0110 0110 ;加66H调整 1 0101 0010 最终结果为1 0101 0010(152)是正确的BCD码。 III. 逻辑运算及移位类指令(24条) 1.逻辑与运算指令组 ANL A , #data ; A←(A)∧ data ANL A , direct ; A←(A)∧(direct) ANL A , Rn ; A←(A)∧(Rn) ANL A , @Ri ; A←(A)∧((Ri)) ANL direct , #data ; direct←(direct)∧ data ANL direct , A ; direct←(direct)∧(A) 例3.19 已知(A)=86H,试分析下面指令执行的结果: (1)ANL A , #0FFH; (2)ANL A , #0F0H; (3)ANL A , #0FH; (4)ANL A , #1AH; 解:(1)A=86H; (2)A=80H; (3)A=06H; (4)A=02H。 由上例可知,逻辑与指令可用于将指定位清0,方法:将要清零的位与0相与,把要保留的位与1相与。 2.逻辑或运算指令组 ORL A , #data ; A←(A)∨ data ORL A , direct ; A←(A)∨(direct) ORL A , Rn ; A←(A)∨(Rn) ORL A , @Ri ; A←(A)∨((Ri)) ORL direct , #data ; direct ←(direct)∨ data ORL direct , A ; direct←(direct)∨(A) 例3.20 已知(A)=86H,试分析下面指令执行的结果: (1)ORL A , #0FFH; (2)ORL A , #0F0H; (3)ORL A , #0FH; (4)ORL A , #1AH; 解:(1)A=0FFH; (2)A=0F6H; (3)A=8FH; (4)A=9EH。 由上例可知,逻辑或指令可用于将指定位置1,方法是将要置1的位与1相或,把要保留的位与0相或 3.逻辑异或运算指令组 XRL A , #data ; A←(A) data XRL A , direct ; A←(A)(direct) XRL A , Rn ; A←(A)(Rn) XRL A , @Ri ; A←(A)((Ri)) XRL direct , #data ; direct←(direct) data XRL direct , A ; direct←(direct)(A) 例3.3.20 已知(A)=86H,试分析下面指令执行的结果: (1)XRL A , #0FFH; (2)XRL A , #0F0H; (3)XRL A , #0FH; (4)XRL A , #1AH; 解:(1)A=79H; (2)A=76H; (3)A=89H; (4)A=9CH。 4.累加器清“0”和取反指令组 累加器清“0”指令 CLR A ; A ←0 累加器取反指令:CPL A; A ←(A) 5.移位指令组 (1)累加器循环左移RL A; (2)累加器循环右移RR A; (3)带进位循环左移 RLC A; (4)带进位循环右移 RRC A; 例3.3.23 若累加器A中的内容为1000 1011B,CY=0,则执行RLC A指令后累加器A中的内容为0001 0110,CY=1 Ⅳ.控制转移类指令 1.无条件转移指令组:不规则条件的程序转移称为无条件转移 (1)长转移指令LJMP addr16; PC←addr16 转移范围:64KB (2)绝对转移指令AJMP addr11; PC←(PC)+2,PC10~0←addr11 指令功能:构造程序转移目的地址,实现程序转移 以指令提供的11位地址去替换PC的低11位内容,形成新的PC值,即转移的目的地址. 注意:PC是下一条指令的PC值,是本条指令地址加2以后的PC值 例3.25 程序存储器1000H地址单元有绝对转移指令: 1000H AJMP 0750H 分析该指令的执行情况。 解:指令AJMP 0750H执行前,(PC)=1000H,取出该指令后PC当前值为1002H,指令执行的过程是将指令中的11位地址111 0101 0000B送入PC的低11位,得新的PC值为0001 0111 0101 0000B=1750H,所以指令AJMP 0750H执行的结果就是转移到1750H处执行程序。 (3)短转移指令:SJMP rel 目的地址PC=(PC)+2+rel 例3.26 在1000H地址上有指令1000H SJMP 30H 则目的地址为1000H+02H+30H=1032H程序向前转移 如果指令为1000H SJMP 0E7H rel=0E7H,是负数19H的补码, 目的地址=1000H+02H-19H=0FE9H。程序向后转移。 单片机程序设计时,通常用到一条SJMP指令:SJMP $ 或 HERE: SJMP HERE 以$代表PC的当前值 (4)变址寻址转移指令 JMP @A+DPTR ;PC←(A)+(DPTR) 目的地址=(A)+(DPTR) 例3.28 设累加器A中存放着待处理命令的编号(0~n ; n≤85),程序存储器中存放着标号为PGTAB的转移表,则执行以下程序,将根据A内命令编号转向相应的命令处理程序。 PG: MOV B , #3 MUL AB ; A←(A)*3 MOV DPTR , #PGTB ; DPTR←转移表首址 JMP @A+DPTR PGTB: LJMP PG0 ; 转向命令0处理入口 LJMP PG1 ; 转向命令1处理入口 ︴ LJMP PGn ; 转向命令n处理入口 2.条件转移指令组:程序的转移时有条件的 (1).累加器判零转移指令 JZ rel ; 若(A)=0,则PC←(PC)+2+rel。若(A)≠0,则PC←(PC)+2 JNZ rel ; 若(A)≠0,则PC←(PC)+2+rel。若(A)=0,则PC←(PC)+2 例3.29 编写程序将内部RAM以30H为起始地址的数据传送到50H为起始地址的内部RAM区域,遇0终止。 解: MOV R0 , #30H MOV R1 , #50H LOOP: MOV A , @R0 JZ LOOP1 MOV @R1 , A INC R0 INC R1 SJMP LOOP LOOP1: SJMP $ (2) 数值比较转移指令:将两个操作数进行比较,比较结构作为条件来控制程序转移 CJNE A , #data , rel ; (A)≠data则转移 CJNE A , direct , rel ; (A)≠(direct)则转移 CJNE Rn , #data ,rel ; (Rn)≠data则转移 CJNE @Ri , #data , rel ; ((Ri))≠data则转移 (3)减一非零转移指令 DJNZ Rn , rel ; Rn←(Rn)-1 ; 若(Rn)≠0,则PC←(PC)+2+rel ; 若(Rn)=0,则PC←(PC)+2 DJNZ direct , rel ; Rn←(Rn)-1 ; 若(direct)≠0,则PC←(PC)+3+rel ; 若(direct)=0,则PC←(PC)+3 例3.29 编写程序将内部RAM以30H为起始地址的10个单元的数据传送到50H为起始地址的内部RAM区域,如果遇0终止。 解: MOV R0 , #30H MOV R1 , #50H MOV R7 , #32 LOOP: MOV A , @R0 JZ LOOP1 MOV @R1 , A INC R0 INC R1 DJNZ R7 , LOOP LOOP1: SJMP $ For循环:MOV R6,# 200 LOOP: NOP; DJNZ R6,LOOP 3. 子程序调用与返回指令:调用指令在主程序中使用,返回指令应该是子程序的最后一条指令。执行完这条指令之后,程序返回主程序断点处继续执行 (1)长调用指令 LCALL addr16 ; PC←(PC)+3 ; SP←(SP)+1,(SP)←(PC)7~0 ; SP←(SP)+1,(SP)←(PC)15~8 ; PC←addr16 (2)绝对调用指令 ACALL addr11 ; PC←(PC)+2 ; SP←(SP)+1,(SP)←(PC)7~0 ; SP←(SP)+1,(SP)←(PC)15~8 ; PC10~0←addr11 (3)子程序返回指令 RET ;PC15~8←((SP)),SP←(SP)-1 ; PC7~0←((SP)),SP←(SP)-1  (4)终端返回指令 RETI ;PC15~8←((SP)),SP←(SP)-1 ;PC7~0←((SP)),SP←(SP)-1 例3.33 从片外数据存储器1000H单元开始有10个0~9之间的数,请求出相应数的平方并存入片内RAM 50H开始的存储单元,试编程实现。 解:主程序编程: MAIN: MOV DPTR , #1000H MOV R0 , #50H MOV R7 , #10 ;循环10次 LOOP: MOVX A , @DPTR ACALL QPF ;调用求平方的子程序 MOV @R0 , A INC R0 INC DPTR DJNZ R7 , LOOP SJMP $ 子程序编程: QPF: MOV B , A MUL AB RET 4.空操作指令 NOP ; PC←(PC)+1 控制CPU不作任何操作,只消耗一个机器周期的时间 单字节指令,因此执行后PC加1,时间延续一个机器周期 Ⅴ.位操作类指令(17条) 1.位传送指令 MOV C , bit ; CY←(bit) MOV bit , C ; bit←(CY) 例3.34 例如将30H位的内容传送到40H位,试编程。 MOV 10H , C ;暂存CY内容 MOV C , 30H ;30H位送CY MOV 40H , C ;CY送40H MOV C , 10H ;恢复CY内容 2.位置位与清零指令 SETB C ;CY←1 SETB bit ;bit←1 CLR C ;CY←0 CLR bit ;bit←0 3.位运算指令组 ANL C , bit ;CY←(CY)∧(bit) ANL C , /bit ;CY←(CY)∧( ) ORL C , bit ;CY←(CY)∨(bit) ORL C , /bit ;CY←(CY)∨( ) CPL C ;CY←() CPL bit ;bit←() 例3.35 设D、E、F代表位地址,试编程将位D、E的内容相异或,并把结果送到F中。 解:位D、E、F的关系为, 编制程序如下: MOV C , D ANL C , /E ; CY← MOV F , C MOV C , /D ANL C , E
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服