版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章单片机CPU指令集架构何宾2023.08逻辑指令本节介绍逻辑指令,包括逻辑“与”指令逻辑“或”指令逻辑“异或”指令清除指令取反指令移位指令半字交换指令逻辑指令
--逻辑“与“指令逻辑与指令在指定变量之间执行按位逻辑“与”运算,并将结果保存在目标变量中该指令仅影响符号标志N和零标志Z逻辑指令
--逻辑“与“指令ANLA,Rn(*)该指令执行的操作和机器指令格式rrr为源寄存器Rn编号所对应的二进制数在源模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数(A)←(A)∧(Rn)[01011rrr]12逻辑指令
--逻辑“与“指令ANLA,dir8(*)该指令执行的操作和机器指令格式指令中的dir8为8为直接地址。操作机器码字节数时钟数(A)←(A)∧(dir8)[01010101][直接地址]21逻辑指令
--逻辑“与“指令ANLA,@Ri(*)该指令执行的操作和机器指令格式i的取值为“0”或“1”,这意味着该指令可用的寄存器为R0或R1在源模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数(A)←(A)∧((Ri))[0101011i]12逻辑指令
--逻辑“与“指令ANLA,#data(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(A)←(A)∧#data[01010100][8位立即数]21逻辑指令
--逻辑“与“指令ANLdir8,A(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(dir8)←(dir8)∧(A)[01010010][直接地址]21逻辑指令
--逻辑“与“指令ANLdir8,#data(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(dir8)←(dir8)∧#data[01010011][直接地址][8位立即数]31逻辑指令
--逻辑“与“指令【例6-24】下面的指令执行逻辑“与”操作,即ANLP1,#01110011B执行该指令,将清除P1端口的第7位、第3位还有第2位逻辑指令
--逻辑“与“指令ANLRmd,Rms该指令执行的操作和机器指令格式ssss与SSSS分别为目的寄存器Rmd和源寄存器Rms编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节操作机器码字节数时钟数(Rmd)←(Rmd)∧(Rms)[01011100][ssssSSSS]21逻辑指令
--逻辑“与“指令【例6-25】下面的指令执行逻辑“与”操作,即ANLR1,R0在执行指令之前,寄存器R1的内容(R1)=“11000011”,寄存器R0的内容(R0)=“01010101”在执行该指令后,寄存器R1的内容(R1)=“01000001”逻辑指令
--逻辑“与“指令ANLWRjd,WRjs该指令执行的操作和机器指令格式tttt为目的寄存器WRjd编号jd/2后所对应的二进制数,TTTT为源寄存器WRjs编号js/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节操作机器码字节数时钟数(WRjd)←(WRjd)∧(WRjs)[01011101][ttttTTTT]21逻辑指令
--逻辑“与“指令ANLRm,#data该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∧#data[01011110][ssss0000][8位立即数]31逻辑指令
--逻辑“与“指令ANLWRj,#data16该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数(WRj)←(WRj)∧#data16[01011110][tttt0100][立即数高字节][立即数高低字节]41逻辑指令
--逻辑“与“指令ANLRm,dir8该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∧(dir8)[01011110][ssss0001][直接地址]31逻辑指令
--逻辑“与“指令ANLWRj,dir8该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数。在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(WRj)←(WRj)∧(dir8)[01011110][tttt0101][直接地址]31逻辑指令
--逻辑“与“指令ANLRm,dir16该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数(Rm)←(Rm)∧(dir16)[01011110][ssss0011][直接地址高字节][直接地址低字节]41逻辑指令
--逻辑“与“指令ANLWRj,dir16该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数(WRj)←(WRj)∧(dir16)[01011110][tttt0111][直接地址高字节][直接地址低字节]41逻辑指令
--逻辑“与“指令ANLRm,@WRj该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数,tttt为源寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∧((WRj))[01011110][tttt1001][ssss0000]31逻辑指令
--逻辑“与“指令ANLRm,@DRk该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数,uuuu为源寄存器DRk编号k/4后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∧((DRk))[01011110][uuuu1011][ssss0000]31逻辑指令
--逻辑“或“指令逻辑“或”指令在指定变量之间执行按位逻辑“或”运算,并将结果保存在目的操作数中该指令影响符号标志N和零标志Z逻辑指令
--逻辑“或“指令ORLA,Rn(*)该指令执行的操作和机器指令格式rrr为源寄存器Rn编号所对应的二进制数在源模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数(A)←(A)∨(Rn)[01001rrr]12逻辑指令
--逻辑“或“指令【例6-25】下面的指令执行逻辑“或”操作,即ORLA,R0在执行该指令之前,累加器A中的内容(A)=“11000011”,寄存器R0中的内容(R0)=“01010101”运行该指令后,累加器A中的内容(A)=“11010111”逻辑指令
--逻辑“或“指令ORLA,dir8(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(A)←(A)∨(dir8)[01000101][直接地址]21逻辑指令
--逻辑“或“指令ORLA,@Ri(*)该指令执行的操作和机器指令格式i的取值为“0”或“1”,这意味着该指令可使用的寄存器为R0或R1在源模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数(A)←(A)∨((Ri))[0100011i]12逻辑指令
--逻辑“或“指令ORLA,#data(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(A)←(A)∨#data[01000100][8位立即数]21逻辑指令
--逻辑“或“指令ORLdir8,A(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(dir8)←(dir8)∨(A)[01000010][直接地址]21逻辑指令
--逻辑“或“指令ORLdir8,#data(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数(dir8)←(dir8)∨#data[01000011][直接地址][8位立即数]31逻辑指令
--逻辑“或“指令【例6-26】下面的指令执行逻辑“或”操作,即
ORLP1,#00110010B在执行该指令后,将P1端口的第5位、第4位和第1位设置为“1”逻辑指令
--逻辑“或“指令ORLRmd,Rms该指令执行的操作和机器指令格式ssss与SSSS分别为目的寄存器Rmd和源寄存器Rms编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节操作机器码字节数时钟数(Rmd)←(Rmd)∨(Rms)[01001100][ssssSSSS]21逻辑指令
--逻辑“或“指令ORLWRjd,WRjs该指令执行的操作和机器指令格式tttt为目的寄存器WRjd编号jd/2后所对应的二进制数,TTTT为源寄存器WRjs编号js/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节操作机器码字节数时钟数(WRjd)←(WRjd)∨(WRjs)[01001101][ttttTTTT]21逻辑指令
--逻辑“或“指令ORLRm,#data该指令执行的操作和机器指令格式ssss表示目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∨#data[01001110][ssss0000][8位立即数]31逻辑指令
--逻辑“或“指令ORLWRj,#data16该指令执行的操作和机器指令格式tttt为目标寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数(WRj)←(WRj)∨#data16[01001110][tttt0100][立即数高字节][立即数高低字节]41逻辑指令
--逻辑“或“指令ORLRm,dir8该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∨(dir8)[01001110][ssss0001][直接地址]31逻辑指令
--逻辑“或“指令ORLWRj,dir8该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(WRj)←(WRj)∨(dir8)[01001110][tttt0101][直接地址]31逻辑指令
--逻辑“或“指令ORLRm,dir16该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数(Rm)←(Rm)∨(dir16)[01001110][ssss0011][直接地址高字节][直接地址低字节]41逻辑指令
--逻辑“或“指令ORLWRj,dir16该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数(WRj)←(WRj)∨(dir16)[01001110][tttt0111][直接地址高字节][直接地址低字节]41逻辑指令
--逻辑“或“指令ORLRm,@WRj该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数,tttt为源寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∨((WRj))[01001110][tttt1001][ssss0000]31逻辑指令
--逻辑“或“指令ORLRm,@DRk该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数,uuuu为源寄存器DRk编号k/4后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数(Rm)←(Rm)∨((DRk))[01001110][uuuu1011][ssss0000]31逻辑指令
--逻辑“异或“指令逻辑“异或”指令,在指定变量之间执行按位逻辑”异或”运算,并将结果保存在目标操作数中逻辑指令
--逻辑“异或“指令XRLA,Rn(*)该指令执行的操作和机器指令格式rrr为源寄存器Rn编号所对应的二进制数在源模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数[01101rrr]12逻辑指令
--逻辑“异或“指令【例6-27】下面的指令执行逻辑“异或”操作,即XRLA,R0在执行指令之前,累加器A中的内容(A)=“11000011”,寄存器R0中的内容(R0)=“10101010”执行完该指令后,累加器A中的内容(A)=”01101001”逻辑指令
--逻辑“异或“指令XRLA,dir8(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数[01100101][直接地址]21逻辑指令
--逻辑“异或“指令XRLA,@Ri(*)该指令执行的操作和机器指令格式i的取值为“0”或“1”,这意味着在该指令中可用的寄存器为R0或R1在源模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数[0110011i]12逻辑指令
--逻辑“异或“指令XRLA,#data(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数[01100100][8位立即数]21逻辑指令
--逻辑“异或“指令【例6-28】下面的指令执行逻辑“异或”操作,即
XRLA,#00110001B在执行该指令后,相当于对累加器的第5位、第4位和第0位取反逻辑指令
--逻辑“异或“指令XRLdir8,A(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数[01100010][直接地址]21逻辑指令
--逻辑“异或“指令XRLdir8,#data(*)该指令执行的操作和机器指令格式操作机器码字节数时钟数[01100011][直接地址][8位立即数]31逻辑指令
--逻辑“异或“指令XRLRmd,Rms该指令执行的操作和机器指令格式ssss与SSSS分别为目的寄存器Rmd和源寄存器Rms编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节操作机器码字节数时钟数[01101100][ssssSSSS]21逻辑指令
--逻辑“异或“指令XRLWRjd,WRjs该指令执行的操作和机器指令格式tttt为目的寄存器WRjd编号jd/2后所对应的二进制数,TTTT为源寄存器WRjs编号js/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节操作机器码字节数时钟数[01101101][ttttTTTT]21逻辑指令
--逻辑“异或“指令XRLRm,#data该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数[01101110][ssss0000][8位立即数]31逻辑指令
--逻辑“异或“指令XRLWRj,#data16该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数[01101110][tttt0100][立即数高字节][立即数高低字节]41逻辑指令
--逻辑“异或“指令XRLRm,dir8该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数[01101110][ssss0001][直接地址]31逻辑指令
--逻辑“异或“指令XRLWRj,dir8该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成2个字节操作机器码字节数时钟数[01101110][tttt0101][直接地址]31逻辑指令
--逻辑“异或“指令XRLRm,dir16该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数[01101110][ssss0011][直接地址高字节][直接地址低字节]41逻辑指令
--逻辑“异或“指令XRLWRj,dir16该指令执行的操作和机器指令格式tttt为目的寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成5个字节操作机器码字节数时钟数[01101110][tttt0111][直接地址高字节][直接地址低字节]41逻辑指令
--逻辑“异或“指令XRLRm,@WRj该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数,tttt为源寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数[01101110][tttt1001[ssss0000]31逻辑指令
--逻辑“异或“指令XRLRm,@DRk该指令执行的操作和机器指令格式ssss为目的寄存器Rm编号所对应的二进制数,uuuu为源寄存器DRk编号k/4后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成4个字节操作机器码字节数时钟数[01101110][uuuu1011][ssss0000]31逻辑指令
--清除指令CLRA(*)该指令执行的操作和机器指令格式该指令将累加器A的内容清零,影响N和Z标志位操作机器码字节数时钟数(A)←0[11100100]11逻辑指令
--清除指令【例6-29】下面的指令执行清除操作,即CLRA执行指令之前,累加器A中的内容(A)=“11000011”执行完该指令后,累加器A中的内容(A)=“00000000”逻辑指令
--取反指令CPLA(*)
该指令执行的操作和机器指令格式该指令将累加器A的内容按位全部取反影响N和Z标志位操作机器码字节数时钟数(A)←Ø(A)[11110100]11逻辑指令
--取反指令【例6-30】下面的指令执行取反操作,即CPLA执行指令之前,累加器A中的内容(A)=“11000011”执行完该指令后,累加器A中的内容(A)=“00111100”逻辑指令
--移位指令RLA(*)该指令执行的操作和机器指令格式
该指令的功能是使得累加器A的内容循环左移具体来说,累加器A中的8位向左循环移动一位,且累加器A的第7位移动到其第0位的位置影响N和Z标志位操作机器码字节数时钟数(A).a+1←(A).a(A).0←(A).7[00100011]11逻辑指令
--移位指令RLCA(*)该指令执行的操作和机器指令格式
该指令的功能是使得累加器A的内容带进位标志循环左移具体来说,累加器A中的8位和进位标志一起向左循环移动1位,累加器A的第7位移动到进位标志位CY中,且进位标志位CY的之前状态移动到累加器A的第0位影响N和Z标志位操作机器码字节数时钟数(A).a+1←(A).a(A).0←(CY)(CY)←(A).7[00110011]11逻辑指令
--移位指令RRA(*)该指令执行的操作和机器指令格式
该指令的功能是使得累加器A的内容循环右移具体来说,累加器A中的8位向右循环移动一位,且累加器A的第0位循环移动到其第7位的位置只影响N和Z标志操作机器码字节数时钟数(A).a←(A).a+1(A).7←(A).0[00000011]11逻辑指令
--移位指令RRCA(*)该指令执行的操作和机器指令格式
该指令的功能是使得带进位标志的累加器A的内容循环右移具体来说,累加器A中的8位和进位标志一起向右循环移动1位,累加器的第0位移动到进位标志位CY中,进位标志位CY的之前状态移动到累加器A第7位的位置N和Z标志位也会收到影响操作机器码字节数时钟数(A).a←(A).a+1(A).7←(CY)(CY)←(A).0[00010011]11逻辑指令
--移位指令SLLRm该指令执行的操作和机器指令格式ssss为寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节
该指令将寄存器Rm的内容逻辑左移一位,最低有效位用“0”填充,移出的MSB保存在进位标志位CY中,影响N和Z标志位操作机器码字节数时钟数(Rm).a+1←(Rm).a(Rm).0←0CY←(Rm).7[00111110][ssss0000]21逻辑指令
--移位指令SLLWRj该指令执行的操作和机器指令格式 tttt为寄存器WRj编号j/2后所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节该指令将寄存器WRj的内容逻辑左移一位,最低有效位用“0”填充,移出的MSB保存在进位标志位CY中,影响N和Z标志位操作机器码字节数时钟数WRj).b+1←(WRj).b(WRj).0←0CY←(WRj).15[00111110][tttt0100]21逻辑指令
--移位指令SRARm该指令执行的操作和机器指令格式ssss为寄存器Rm编号所对应的二进制数在二进制模式下,需要在机器码前面添加前缀0xA5,此时指令长度变成3个字节
该指令将寄存器Rm的内容算术右移一位,移出的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年种植区案例幼儿园
- 深度解析(2026)《GBT 21577-2008危险品 极不敏感引爆物质的脆性试验方法》
- 深度解析(2026)《GBT 21196.3-2007纺织品 马丁代尔法织物耐磨性的测定 第3部分:质量损失的测定》
- 《JBT 20042-2015滚筒式洗药机》专题研究报告
- 《JBT 15152-2025电机制动氢气透平膨胀机》专题研究报告
- 2026年春天幼儿园模版
- 2026年幼儿园多变的气象
- 2026年及未来5年中国液态金属行业发展监测及投资战略规划报告
- 2026年及未来5年市场数据中国超市行业市场前景预测及投资战略咨询报告
- 2026年及未来5年市场数据中国含磷有机物行业市场深度分析及投资策略研究报告
- 2026年喀什地区“才聚喀什·智惠丝路”春季招才引智(824人)考试备考试题及答案解析
- (四调)武汉市2025届高中毕业生四月调研考试 历史试卷(含答案)
- 安装学生床合同范本
- 危急值报告制度考试题
- T-CSEE 0399-2023 水电站紧固件技术监督导则
- 高血压急症和亚急症
- 2025届中国长江电力股份限公司“三峡班”招聘易考易错模拟试题(共500题)试卷后附参考答案
- 多轴加工项目化教程课件 项目四 任务4-1 陀螺仪基体加工
- 《公共管理学》第六章 公共政策PPT
- 2022年河北雄安新区容西片区综合执法辅助人员招聘考试真题
- 王君《我的叔叔于勒》课堂教学实录
评论
0/150
提交评论