




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20 01 1 单片机原理与接口技术 第3章MCS 51单片机指令系统 20 01 2 本章教学要求 熟悉MCS 51单片机指令系统的分类 格式 熟悉MCS 51指令系统的七种寻址方式 掌握MCS 51指令系统的数据传送 算术运算 逻辑运算 转移操作 布尔运算等指令的功能 掌握MCS 51指令系统的各种指令对寄存器资源的占用情况 第3章MCS 51单片机指令系统 20 01 3 本章目录 3 1指令系统简介3 1 1指令系统的分类3 1 2指令格式3 1 3指令中的常用符号3 1 4寻址方式 第3章MCS 51单片机指令系统 3 2指令系统3 2 1数据传送指令3 2 2算术运算指令3 2 3逻辑运算指令3 2 4控制转移指令3 2 5位操作指令习题与思考题 20 01 4 3 1指令系统简介 指令系统计算机所有指令的集合 称为该计算机的指令系统 它是表征计算机性能的重要标志 每种计算机都有它自己特有的指令系统 指令是指计算机执行某种操作 如传送数据 做算术运算等 的命令 指令系统 20 01 5 要让计算机工作 就得向计算机发出指令 指令的格式是机器码指令格式 如 75905B 即数字格式 另一种指令格式 即汇编指令格式 如 MOVP1 5BH 指令的两种格式 3 1指令系统简介 20 01 6 MCS 51汇编语言指令格式 操作码 操作数1 操作数2 注释 MCS 51单片机的汇编语言使用40多种助记符表征30多种指令功能 MCS 51单片机能够识别并执行的指令共有111条 这111条指令 构成了MCS 51单片机的指令系统 3 1指令系统简介 20 01 7 特点 1 指令执行时间短 只需1个机器周期的指令有64条 2个机器周期的指令有45条 而4个机器周期的指令仅有2条 既乘法和除法指令 2 指令字节少 单字节指令有49条 双字节指令有46条 三字节指令有16条 3 位操作指令极为丰富 这体现了MCS 51单片机具有面向控制的特点 3 1指令系统简介 20 01 8 3 1 1指令系统的分类 MCS 51单片机能够识别并执行的指令共有111条 按指令所占字节数 指令执行时间和指令功能进行分类 1 按指令所占字节数分类1 单字节指令 49条 2 双字节指令 46条 3 三字节指令 16条 按指令所占存储空间分类 20 01 9 2 按指令执行时间分类 1 单周期指令 65条 2 双周期指令 44条 3 四周期指令 2条 3 1 1指令系统的分类 按指令执行时间可分类 20 01 10 1 数据传送类指令 29条 2 算术运算类指令 24条 3 逻辑运算类指令 24条 4 控制转移类指令 17条 5 位操作类指令 17条 3 1 1指令系统的分类 按指令功能分类 3 按指令功能分类 20 01 11 3 1 2指令格式 指令由操作码和操作数组成 操作码用来规定要执行的操作的性质 操作数为指令的操作提供数据和地址 1 指令的基本格式 符号地址 操作码 操作数1 操作数2 操作数3 注释 其中符号地址和操作码之间用 作为分隔符 也可再加上若干空格 操作码和操作数之间用空格作为分隔符 操作数之间用 作为分隔符 注释之前用 作为分隔符 基本格式 20 01 12 一条指令必须在一行中写完 例如 MAIN MOVA 10H 主程序段MAIN为符号地址 MOV为操作码 A 10H为二个操作数 最后是注释 指令在送入计算机执行之前 必须先转换成机器语言形式 转换成机器语言的过程称为汇编 汇编有机器汇编和手工汇编两种方法 3 1 2指令格式 基本格式 20 01 13 3 1 3指令中的常用符号 为了便于阅读指令 MCS 51指令助记符中的一些常用符号约定如下 Rn 表示当前工作寄存器R0 R7中的一个 Ri 表示寄存器间接寻址 常作间接寻址的地址指针 其中Ri代表R0和R1寄存器中的一个 direct 表示内部数据存贮器单元的地址及特殊功能寄存器SFR的地址 对SFR而言 既可使用它的物理地址 也可直接使用它的名字 20 01 14 date 表示8位立即数 即8位常数 取值范围为 00H 0FFH date16 表示16位立即数 即16位常数 取值范围为 0000H 0FFFFH addr16 表示16位地址 addr11 表示11位地址 rel 用补码形式表示的地址偏移量 取值范围为 128 127 bit 表示内部RAM和SFR中的具有位寻址功能的位地址 3 1 3指令中的常用符号 20 01 15 表示间接寻址寄存器或基址寄存器的前缀符号 表示当前指令的地址 位操作数的前缀 表示对该位操作数取反 如 bit x 表示存储单元x的内容 x 表示以寄存器或存储单元x的内容作为地址的存储单元的内容 表示数据传送方向 3 1 3指令中的常用符号 20 01 16 3 1 4寻址方式 如何找到参与运算的操作数据或数据所在的地址称为寻址方式 所以寻址方式是在地址范围内如何找到所需要的操作数的地址 MCS 51指令系统的寻址方式主要有立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 基址加变址寻址 相对寻址和位寻址等七种 20 01 17 立即寻址是将操作数直接写在指令中 作为指令的一部分存放在代码段里 位置在程序存储器中 立即寻址中的操作数 称为立即数 例如 MOVA 30H 30H A 1 立即寻址 3 1 4寻址方式 立即寻址 20 01 18 2 直接寻址 直接寻址是将操作数的地址直接存放在指令中 这种寻址方式的操作数指的是内部数据存储器中存放数据的地址 或存放数据的一个特殊功能寄存器地址 例如 MOVA 30H 30H A 3 1 4寻址方式 直接寻址 20 01 19 直接寻址方式可访问的范围 1 特殊功能寄存器 这部分存储单元既可以用单元地址给出 也可以用寄存器符号的形式给出 如 MOVA 90H或MOVA P1为同一条指令的两种写法 特殊功能寄存器只能用直接寻址方式访问 2 内部数据存储器的低128个字节单元 直接以单元地址的形式给出 对于8032 8052等单片机 其内部高128字节RAM 80H FFH 不能用直接寻址方式访问 3 1 4寻址方式 访问范围 20 01 20 3 位地址空间片内RAM中20H 2FH中的128个位地址 以及SFR中的11个可进行位寻址的寄存器中的位地址 可位寻址的特殊功能寄存器有B ACC PSW IP IE SCON TCON P0 P3 4 在一些程序控制指令中 可采用直接寻址方式提供程序转移的目标地址 3 1 4寻址方式 访问范围 直接寻址方式可访问的范围 20 01 21 寄存器寻址 寄存器寻址是指操作数存放在寄存器中 并且寻址时的寄存器已隐含在指令的操作码中 例如 MOVA R5 3 1 4寻址方式 3 寄存器寻址 20 01 22 寄存器寻址方式的寻址范围 1 4个工作寄存器组共32个通用寄存器 在指令中只能使用当前寄存器组 2 部分特殊功能寄存器 如A B DPTR 寄存器寻址 3 1 4寻址方式 20 01 23 寄存器寻址 4 寄存器间接寻址寄存器间接寻址是指操作数据存放在以寄存器内容为地址的单元中 如 MOVA R0 R0 A指令功能为将R0所指出的内部RAM单元内容送入累加器A中 执行过程如图所示 图中设R0 60H 3 1 4寻址方式 20 01 24 寄存器间接寻址的寻址范围 1 内部低128字节单元 只能使用R0 R1作间址寄存器 2 外部数据存储器 64KB字节 使用DPTR作间址寄存器 另外 外部低128B单元也可用R0 R1作间址寄存器寻址 3 在堆栈操作指令 PUSH POP 中 以堆栈指针SP作间址寄存器 寻址空间为片内RAM 3 1 4寻址方式 寻址范围 20 01 25 基址变址寻址 基址变址寻址是指操作数存放在以变址寄存器和基址寄存器的内容相加形成的数为地址的单元中 其中累加器A作变址寄存器 程序计数器PC或寄存器DPTR作基址寄存器 基址加变址寻址方式常用于查表操作 如 MOVCA A PC PC 1 PC A PC AMOVCA A DPTR A DPTR A 3 1 4寻址方式 5 基址变址寻址 20 01 26 相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加 从而形成转移的目标地址 例如 JC80H C 1则跳转 相对寻址 3 1 4寻址方式 6 相对寻址 20 01 27 位寻址 位寻址是指对片内RAM中20H 2FH中的128个位地址 以及SFR中的11个可进行位寻址的寄存器中的位地址寻址 可位寻址的特殊功能寄存器有B ACC PSW IP IE SCON TCON P0 P3 例如 MOVC 20H此指令是将RAM中位寻址区20H位地址中的内容 送给位累加器Cy 位寻址指令不同于字节地址寻址指令 例如 MOVA 20H 3 1 4寻址方式 7 位寻址 20 01 28 位寻址的表示形式 1 直接使用位地址包括位寻址区的位地址00H 7FH和部分特殊功能寄存器的位地址 例如 PSW寄存器第2位的位地址为D2H 2 位名称表示法专用寄存器中的一些寻址位是有符号名的 对其进行位寻址时可用其符号名 例如 PSW寄存器的第2位可用OV表示 3 单元地址加位表示法例如 2F单元的第1位 可表示为2FH 1 再如 D0H单元 PSW 的第2位 可表示为D0H 2 3 1 4寻址方式 20 01 29 4 专用寄存器名称加位表示法例如 PSW寄存器的第2位可表示为 PSW 2 对于可位寻址的特殊功能寄存器 上面4种表示法是等效的 以读取PSW第二位为例的4种位寻址指令如下 MOVC 0D2H 直接使用位地址寻址MOVC OV 使用位名称寻址MOVC 0D0H 2 使用单元地址加位表示法寻址MOVC PSW 2 使用专用寄存器名称加位表示法寻址 3 1 4寻址方式 位寻址的表示形式 20 01 30 在MCS 51单片机的指令系统中 指令对哪一个存储器空间进行操作 是由指令的操作码和寻址方式确定的 1 对程序存储器只能采用立即寻址和基址加变址寻址方式 2 对特殊功能寄存器只能采用直接寻址方式 不能采用寄存器间接寻址 3 1 4寻址方式 总结 20 01 31 3 对8032 8052等单片机内部RAM的高128个字节 80H FFH 只能采用寄存器间接寻址 不能使用直接寻址方式 4 对位操作指令只能对位寻址区操作 5 外部扩展的数据存储器只能用MOVX指令访问 6 内部RAM的低128个字节 00H 7FH 既能用直接寻址 也能用间接寻址 3 1 4寻址方式 总结 20 01 32 存储空间对应的寻址方式 3 1 4寻址方式 寻址范围 20 01 33 3 2指令系统 MCS 51的数据传送指令共有29条 助记符有MOV MOVC MOVX XCH XCHD PUSH POP 数据传送指令一般的操作是把源操作数传送到目的操作数 指令执行完成后 源操作数不变 目的操作数等于源操作数 如果要求在进行数据传送时 目的操作数不丢失 则不能用直接传送指令 而采用交换型的数据传送指令 数据传送指令不影响标志Cy AC和OV 但可能会对奇偶标志P有影响 3 2 1数据传送类指令 传送指令 20 01 34 传送指令列表 3 2 1数据传送类指令 20 01 35 传送指令列表 3 2 1数据传送类指令 20 01 36 助记符功能说明MOVA Rn Rn ARn中的内容送到累加器A中MOVA direct direct A直接地址单元中的内容送到累加器A中MOVA Ri Ri ARi内容指向的地址单元中的内容送到累加器A中MOVA data data A立即数送到累加器A中功能 将源操作数指定内容送到累加器A中 传送指令列表 3 2 1数据传送类指令 1 以累加器为目的操作数的指令 4条 20 01 37 助记符功能说明MOVRn A A Rn累加器A中的内容送到寄存器Rn中MOVRn direct direct Rn直接寻址单元中的内容送到寄存器Rn中MOVRn data data Rn立即数直接送到寄存器Rn中功能 将源操作数指定的内容送到所选定的工作寄存器Rn中 传送指令列表 3 2 1数据传送类指令 2 以寄存器Rn为目的操作数的指令 3条 20 01 38 助记符功能说明MOVdirect A A direct累加器A中的内容送到直接地址单元中MOVdirect Rn Rn direct寄存器Rn中的内容送到直接地址单元中MOVdirect1 direct2 direct2 direct1直接地址单元2中的内容送到直接地址1中MOVdirect Ri Ri direct以寄存器Ri中的内容为地址的单元中内容送到直接地址单元中MOVdirect data data direct立即数送到直接地址单元中 传送指令列表 3 2 1数据传送类指令 3 以直接地址为目的操作数的指令 5条 20 01 39 功能 将源操作数指定的内容送到由直接地址指出的片内存储单元中 如 MOV20H A 累加器A中的内容送到20H直接地址单元中MOV20H R1 寄存器R1中的内容送到20H直接地址单元中MOV20H 30H 30H直接地址单元中的内容送到20H直接地址单元中MOV20H R1 以寄存器R1中的内容为地址的单元中内容送到20H直接地址单元中MOV20H 34H 立即数送到20H直接地址单元中MOVP2 34H 立即数送到P2直接地址单元中 传送指令列表 3 2 1数据传送类指令 20 01 40 助记符功能说明MOV Ri A A Ri 累加器A中内容送到以Ri中内容为地址的RAM单元中MOV Ri direct direct Ri 直接地址单元中内容送到以Ri中内容为地址的RAM单元中MOV Ri data data Ri 立即数送到以Ri中内容为地址的RAM单元中 传送指令列表 3 2 1数据传送类指令 4 以间接地址为目的操作数的指令 3条 20 01 41 功能 将源操作数指定的内容送到以R0或R1为地址指针的片内RAM存储单元中 如 MOV R0 A 累加器A中内容送到以R0中内容为 地址的RAM单元中MOV R1 20H 20H单元中内容送到以R1中内容为地址的RAM单元中MOV R0 34H 立即数34H送到以R0中内容为地址的RAM单元中 传送指令列表 3 2 1数据传送类指令 20 01 42 助记符功能说明MOVDPTR data16 dataH DPH dataL DPL 16位常数的高8位送到DPH 低8位送到DPL功能 将一个16位的立即数送到DPTR中去 其中高8位送入DPH 低8位送入DPL 如 MOVDPTR 1234H 指令执行后DPH中的值为12H DPL中的值为34H 传送指令列表 3 2 1数据传送类指令 5 16位数的传递指令 1条 20 01 43 如果我们分别向DPH和DPL送数 则结果也一样 如下面两条指令 MOVDPH 12HMOVDPL 34H就相当于执行了MOVDPTR 1234H MCS 51是一种8位机 这是唯一的一条16位立即数传递指令 传送指令列表 3 2 1数据传送类指令 20 01 44 助记符功能说明MOVXA Ri Ri A寄存器Ri指向的片外RAM单元中的内容送到累加器A中MOVX Ri A A Ri 累加器A中内容送到寄存器Ri指向的片外RAM单元中MOVXA DPTR DPTR A数据指针指向的片外RAM单元中的内容送到累加器A中MOVX DPTR A A DPTR 累加器A中内容送到数据指针指向的片外RAM单元中 传送指令列表 3 2 1数据传送类指令 6 累加器A与片外RAM数据传送指令 4条 20 01 45 功能 在MCS 51中 与外部存储器RAM打交道的只可以是A累加器 所有需要送入外部RAM的数据必须通过A传送 而所有要读入的外部RAM中的数据也必须通过A读入 在此我们可以看出内外部RAM的区别 内部RAM间可以直接进行数据传递 而外部RAM则不行 例如 要将外部RAM中某一单元 假设为0100H单元的数据 送入另一个单元 假设为0200H单元 则必须先将0100H单元中的内容读入A 然后再送到0200H单元中去 传送指令列表 3 2 1数据传送类指令 20 01 46 要读或写外部RAM 必须要知道16位的RAM地址 在后两条指令中 地址是被直接放在DPTR中的 而前两条指令 由于Ri 即R0或R1 只是8位的寄存器 所以只提供低8位地址 此时 高8位地址要由P2口来提供 使用时应先将要读或写的地址送入DPTR或Ri 高8位地址送到P2口 中 然后再用读 写指令 传送指令列表 3 2 1数据传送类指令 20 01 47 例3 1将外部RAM的100H单元中内容送入外部RAM的200H单元中 MOVDPTR 0100HMOVXA DPTRMOVDPTR 0200HMOVX DPTR A 传送指令应用 3 2 1数据传送类指令 20 01 48 助记符功能说明MOVCA A DPTR A DPTR A表格地址 单元中的内容送到累加器A中MOVCA A PC PC 1 PC A PC A 表格地址单元中的内容送到累加器A中功能 将ROM中的数据送到A中 常用此指令来查一个已存储在ROM中的数据表格 这组指令也称为查表指令 传送指令应用 3 2 1数据传送类指令 7 读程序存储器指令 2条 20 01 49 以DPTR或PC为基址 以A为变址 在不断修改A中内容 等值增量 的同时 执行该指令 实现对ROM中存储的一块区域数据的读取 以PC为基址时 不用设置PC的值 只需根据A的内容 就可以查出表格中的数据 但表格只能放在该条查表指令后面的256个单元之中 表格的大小受到限制 而且表格只能被一段程序所利用 而以DPTR为基址时 表格的大小和位置可以在64KB的ROM中任意安排 并且表格可被任意程序块所共享 说明 查找到的结果放在A中 因此 这类指令执行前后 A中的值不一定相同 传送指令应用 3 2 1数据传送类指令 20 01 50 例3 2有一个1 10的平方表存放在0100H开始的ROM中 用DPTR和R0基址 变址的寻址方式实现查表功能 确定1 10 在R0中 的平方值 MOVDPTR 0100HMOVA R0MOVCA A DPTR ORG0100 ORG是指明后面数据块的起始地址DB0 1 4 9 16 25 36DB49 64 81 100 DB是定义字节指令 传送指令应用 3 2 1数据传送类指令 20 01 51 助记符功能说明PUSHdirect SP 1 SP direct SP 堆栈指针首先加1 直接寻址单元 中的数据送到堆栈指针SP所指的 单元中POPdirect SP direct SP 1 SP 堆栈指针SP所指的单元中的数据 送到直接寻址单元中 堆栈指针 SP再进行减1操作 传送指令应用 3 2 1数据传送类指令 8 堆栈操作 2条 20 01 52 功能 第1条为压入堆栈指令 就是将direct中的内容送入堆栈中 第2条为弹出堆栈指令 就是将堆栈中的内容送回到direct中 如 MOVSP 5FHMOVA 100MOVB 20PUSHACCPUSHB 传送指令应用 3 2 1数据传送类指令 其中 PUSHACC指令是这样执行的 将SP中的值加1 即变为60H 然后将A中的值送到60H单元中 因此执行完本条指令后 内存60H单元中的值就是100 同样 执行PUSHB时 是将SP中的值加1 即变为61H 然后将B中的值送入到61H单元中 即执行完本条指令后 61H单元中的值变为20 20 01 53 助记符功能说明XCHA Rn A Rn 累加器与工作寄存器Rn中的内容互换XCHA direct A direct 累加器与直接地址单元中的内容互换XCHA Ri A Ri 累加器与工作寄存器Ri所指存储单容互换元中的内容互换 传送指令应用 3 2 1数据传送类指令 9 交换指令 5条 20 01 54 XCHDA Ri A 3 A 0 Ri 3 Ri 0 累加器与工作寄存器Ri所指存储单元中的低半字节内容互换SWAPA A 3 A 0 A 7 A 4 累加器中内容高低半字节互换功能 前4条指令是把累加器A中的内容与源操作数所指的数据相互交换 最后一条指令将累加器A中的内容高低半字节互换 传送指令应用 3 2 1数据传送类指令 20 01 55 例3 3假设A中内容为34H R0指向的单元内容为56H 执行下列指令后看结果 MOVR6 29H R6 29HXCHA R6 A 29H R6 34HSWAPA A 92HXCHA R6 A 34H R6 92HXCHDA R0 A 36H R0 54H 传送指令应用 3 2 1数据传送类指令 20 01 56 3 2 2算术运算类指令 MCS 51的算术运算指令共有24条 助记符有ADD ADDC SUBB DA INC DEC MUL DIV 算术运算主要是执行加 减 乘 除法四则运算 20 01 57 3 2 2算术运算类指令 运算指令列表 20 01 58 3 2 2算术运算类指令 运算指令列表 20 01 59 3 2 2算术运算类指令 运算指令对标志位的影响 20 01 60 例3 4设1067H存在于R1R0中 30A0H存在于R3R2中 计算R1R0 R3R2 结果存于R5R4中 MOVA R0ADDA R2 R0 R2 A和CyMOVR4 AMOVA R1ADDCA R3 R1 R3 Cy A和CyMOVR5 A R1R0 R3R2R5R4 3 2 2算术运算类指令 运算指令应用 20 01 61 例3 5设A 12H R0 33H 21H 32H 34H 22H DPTR 1234H 连续执行下面指令后看相应寄存器和单元中的结果 INCA A 13HINCR0 R0 34HINC21H 21H 33HINC R0 34H 23HINCDPTR DPTR 1235H 3 2 2算术运算类指令 运算指令应用 20 01 62 3 2 3逻辑运算类指令 逻辑运算和移位指令共有24条 助记符有ANL ORL XRL CLR CPL RL RLC RR RRC 有与 或 异或 求反 左 右移位 清0等逻辑操作 有直接 寄存器和寄存器间址等寻址方式 这类指令一般不影响程序状态字 PSW 标志 MCS 51指令系统的逻辑运算指令见表3 5 20 01 63 逻辑运算类指令列表 20 01 64 逻辑运算类指令列表 20 01 65 助记符功能说明ORLA Rn A Rn AORLA direct A direct AORLA Ri A Ri AORLA data A data AORLdirect A direct A directORLdirect data direct data direct 3 2 3逻辑运算类指令 1 逻辑或指令 6条 20 01 66 3 2 3逻辑运算类指令 功能 将两个单元中的内容执行逻辑或操作 如果目的操作数的直接地址是I O地址 则为 读 修改 写 操作 如 MOVA 45H A 45HMOVR1 25H R1 25HMOV25H 39H 25H 39HORLA R1 45H 39H 7DH A 7DHORL25H 13H 39H 13H 3BH 25H 3BHORL25H A 3BH 7DH 7FH 25H 7FH 20 01 67 3 2 3逻辑运算类指令 助记符功能说明ANLA Rn A Rn AANLA direct A direct AANLA Ri A Ri AANLA data A data AANLdirect A direct A directANLdirect data direct data direct 2 逻辑与指令 6条 20 01 68 3 2 3逻辑运算类指令 功能 将两个单元中的内容执行逻辑与操作 如果目的操作数的直接地址是I O地址 则为 读 修改 写 操作 如 MOVA 45H A 45HMOVR1 25H R1 25HMOV25H 79H 25H 79HANLA R1 45H 79H 41H A 41HANL25H 15H 79H 15H 11H 25H 11HANL25H A 11H 41H 01H 25H 01H 20 01 69 3 2 3逻辑运算类指令 助记符功能说明XRLA Rn A Rn AXRLA direct A direct AXRLA Ri A Ri AXRLA data A data AXRLdirect A direct A directXRLdirect data direct data direct 3 逻辑异或指令 6条 20 01 70 3 2 3逻辑运算类指令 功能 将两个单元中的内容执行逻辑异或操作 如果直接地址是I O地址 则为 读 修改 写 操作 如 MOVA 45H A 45HMOVR1 25H R1 25HMOV25H 39H 25H 39HXRLA R1 45H 39H 7CH A 7CHXRL25H 13H 39H 13H 2AH 25H 2AHXRL25H A 2AH 7CH 56H 25H 56H 20 01 71 3 2 3逻辑运算类指令 助记符功能说明清零 CLRA 0 A 这条指令将累加器A中的内容清零 取反 CPLA A A 这条指令将累加器A中的内容按位取反 如 若A 5CH 执行CPLA后的结果是A A3H 4 清零与取反指令 2条 20 01 72 3 2 3逻辑运算类指令 RLA 累加器A中的内容向左环移1位RLCA 累加器A中的内容带进位标志位向左环移1位 5 循环移位指令 4条 20 01 73 3 2 3逻辑运算类指令 RRA 累加器A中的内容向右环移1位RRCA 累加器A中的内容带进位标志位向右环移1位 5 循环移位指令 4条 20 01 74 3 2 3逻辑运算类指令 功能 对累加器A中的内容进行简单的逻辑操作 除了带进位标志位的移位指令外 其他都不影响Cy AC OV等标志位 如 若A 5CH Cy 1 执行RLCA后 结果为A B9H Cy 0 P 1 对RLC和RRC指令 在Cy 0时 RLC相当于乘以2 RRC相当于除以2 5 循环移位指令 4条 20 01 75 3 2 4控制转移类指令 控制转移指令有17条 助记符有 ACALL LCALL RET RETI AJMP LJMP SJMP JMP CJNE DJNZ JZ JNZ NOP 控制转移指令用于控制程序的流向 所控制的范围即为程序存储器区间 20 01 76 控制转移类指令列表 3 2 4控制转移类指令 20 01 77 3 2 4控制转移类指令 控制转移类指令列表 20 01 78 3 2 4控制转移类指令 控制转移类指令列表 20 01 79 MOVDPTR TAB 将TAB代表的地址送入DPTRJMP A DPTR 跳转TAB AJMPROUT0 A 0时 跳转到ROUT0TAB 2 AJMPROUT1 A 2时 跳转到ROUT1TAB 4 AJMPROUT2 A 4时 跳转到ROUT2TAB 6 AJMPROUT3 A 6时 跳转到ROUT3 ROUT0 ROUT1 ROUT2 ROUT3 3 2 4控制转移类指令 例3 6利用间接转移指令实现散转程序结构 20 01 80 例3 7条件转移程序结构举例 MOVA R0JZL1MOVR1 00HAJMPL2L1 MOVR1 0FFHL2 SJMPL2在执行上面这段程序前 如果R0 0 结果是R1 0FFH 如果R0 0 结果是R1 00H 把上面例子中的JZ改成JNZ后 如果R0 0 结果是R1 00H 如果R0 0 结果是R1 0FFH 3 2 4控制转移类指令 20 01 81 MOVA R0CJNEA 10H L1 如R0 10H 则转移至标号L1MOVR1 0 如R0 10H 则不转移 00H R1AJMPL3L1 JCL2 如Cy 1 即R010H 0AAH R1AJMPL3L2 MOVR1 0FFH R010H 则R1 0AAH 如果R0 10H 则R1 0FFH 3 2 4控制转移类指令 例3 8比较R0中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络服务信息安全守秘保障承诺书5篇范文
- 2025年宁波前湾新区卫生系统事业单位招聘高层次人才11人考前自测高频考点模拟试题及答案详解(新)
- 2025年南安市部分公办学校专项招聘编制内新任教师(二)考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年甘肃省特种设备检验检测研究院聘用人员招聘考前自测高频考点模拟试题及答案详解(夺冠)
- 2025广西河池市大化瑶族自治县特殊教育学校招聘公益性岗位工作人员2人模拟试卷及答案详解(易错题)
- 2025北京邮电大学人工智能学院招聘1人(人才派遣)模拟试卷附答案详解(黄金题型)
- 项目风险管理模板覆盖多行业
- 2025北京大学地球与空间科学学院智慧能源和公共安全研究中心招聘科研助理1人模拟试卷附答案详解(完整版)
- 湖南省部分市县2024-2025学年高一下学期期末联考地理试题(解析版)
- 2025北京平谷区卫生健康委员会所属事业单位第二次招聘211人模拟试卷及1套完整答案详解
- 2023年苏州职业大学高职单招(数学)试题库含答案解析
- GB/T 39554.1-2020全国一体化政务服务平台政务服务事项基本目录及实施清单第1部分:编码要求
- GB/T 2942-2009硫化橡胶与纤维帘线静态粘合强度的测定H抽出法
- 电梯设计系统
- 劳动保障协理员考试复习资料
- DB3301T 0286-2019 城市绿地养护管理质量标准
- 道路护栏设计和路侧安全净区宽度的计算
- 高处作业安全技术交底-
- 轴类零件工艺工序卡片
- 道德与法治-六年级(上册)-《知法守法 依法维权》教学课件
- 红白喜事礼仪大全之:红、白喜事常识(完整版)
评论
0/150
提交评论