语言PPT课件知识分享.ppt
《语言PPT课件知识分享.ppt》由会员分享,可在线阅读,更多相关《语言PPT课件知识分享.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湘 潭 大 学单片机原理及应用编著组汇编语言PPT课件湘 潭 大 学单片机原理及应用编著组由25个英文字母组成的助记符至少一个空格用“,”隔开,操作个数可为无,1,2,3操作码:反映了指令的功能。操作数:反映了指令的对象。eg:MOV A,#01;01 A7401 ADDC A,R1;(A)+(R1)+CY A 393.1.1汇编语言格式 由操作助记符和操作数字段组成汇编指令指能汇编成机器语言代码的指令。格式:操作码 操作数1,操作数2,操作数3湘 潭 大 学单片机原理及应用编著组3.1.2 汇编伪指令伪指令:汇编时不产生机器语言代码的指令,仅提供汇编控制信息。一、定位伪指令 ORG m m:
2、一般为十六进制数。m指出在该伪指令后的指令的汇编地址,即生成的机器指令起始存贮器地址。显然,当使用多条ORG m伪指令时,应注意其后生成的机器指令存放地址不应重叠不应重叠。eg:ORG 0START:SJMP MAIN ORG 0BH LJMP PTFO ORG 40HMAIN:湘 潭 大 学单片机原理及应用编著组二、定义字节伪指令 标号:DB X1、X2 Xn3.1.2 汇编伪指令 ORG1000HDB0AAH SJ-DATA:DB25,25H ZFC-DATA:DBMCS-51经汇编后,从地址1000H处存贮器的内容为:(1000H)=AAH(1001H)=19H(1002H)=25H(1
3、003H)=4DH(1004H)=43H(1005H)=53H(1006H)=2DH(1007H)=35H(1008H)=31H湘 潭 大 学单片机原理及应用编著组三、字定义伪指令 标号:DW Y1、Y2 Yn3.1.2 汇编伪指令通知汇编程序从当前ROM地址开始,保留存贮单元,并存入DW后面的数据。存放时高8位在前,低8位在后。例3-3 ORG1000H DW1234HSJ_DATA:DW56H,2000经汇编后,从地址1000H处存贮器的内容为:(1000H)=12H(1001H)=34H(1002H)=00H(1003H)=56H(1004H)=07H(1005H)=D0H湘 潭 大 学
4、单片机原理及应用编著组四、四、EQU EQU 赋值伪指令赋值伪指令 字符名称 EQU 项(数或汇编符号)3.1.2 汇编伪指令例:3-4:AAEQU R1MOV A,AA 例:3-5:D10EQU 10ADD_YEQU 07ABHMOVA,D10LCALLADD_Y EQU伪指令是把“项”赋给“字符名称”,注意这里的“字符名称”不同于标号(其后没有冒号),但它是必须的。用EQU赋过值的符号名可以用作数据地址、代码地址、位地址或是一个立即数。湘 潭 大 学单片机原理及应用编著组五、五、DSDS定义存贮空间伪指令定义存贮空间伪指令 DS 表达式3.1.2 汇编伪指令在汇编时,从指定地址开始保留DS
5、之后“表达式”的值所规定的存贮单元。ORG1000HDS07HDB20H,20 DW12H 经汇编后,从地址1000H开始保留7个单元,然后从1007H处存贮器的内容为:(1007H)=20H(1008H)=14H(1009H)=00H(100AH)=12H湘 潭 大 学单片机原理及应用编著组六、六、DATADATA数据地址赋值伪指令数据地址赋值伪指令 字符名称 DATA 表达式3.1.2 汇编伪指令 这里的“字符名称”与标号不同(其后没有冒号),但它是必须的,其功能是把“表达式”的值赋给左边的“字符名称”。DATA伪指令与EQU伪指令的主要区别是:EQU定义的定义的“字符名称字符名称”必须先
6、定义后使必须先定义后使用用,而DATA定义的“字符名称”没有这种限制,故DATA伪指令通常用在源程序的开头或末尾。例3-7:ORG 0100H AA DATA 35H DPTRA DATA0AA00HMOV A,AA ;(35H)AMOV DPTR,#DPTRA ;0AA00H DPTR湘 潭 大 学单片机原理及应用编著组七、七、BITBIT定义位地址符号伪指令定义位地址符号伪指令 字符名称 BIT 位地址3.1.2 汇编伪指令 这里的“字符名称”与标号不同(其后没有冒号),但它是必须的,其功能是把BIT之后的“位地址”值赋给“字符名称”。例3-6:P11BITP1.1A2BIT02HMOVC
7、,P11MOVA2,C八、汇编结束伪指令END指出汇编结束,其后即使还有指令,汇编程序也不作处理。湘 潭 大 学单片机原理及应用编著组3.2 MCS-51的寻址方式 在高级语言编程时,程序设计人员不必关心程序和数据的内存空间安排问题。但在汇编语言程序设计时,要针对系统的硬件环境编程,数据的存放、传送、运算都要通过指令来完成,编程者必须自始至终都十分清楚操作数的位置,以便将它们传送至适当的空间去操作。寻址方式寻址方式就是如何找到存放操作数的地址,把操作数提取出来的方法。MCS51指令的系统的指令数的寻址方式主要有八八种种:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基寄存器加变址寄存器间接寻
8、址、相对寻址、位寻址、页面寻址。湘 潭 大 学单片机原理及应用编著组一、寄存器寻址 由指令某一寄存器的内容作为操作数的寻址方式。eg:INC R0;(R0)+1 R0INC R0指令执行过程示意图3.2 MCS-51的寻址方式湘 潭 大 学单片机原理及应用编著组在指令中含有操作数的直接地址,该地址指出了参与计算或传送的数据所在的字节单元或位的地址。eg:ANL 70H,#48H;(70H)48H70H 二、直接寻址操作数的直接地址3.2 MCS-51的寻址方式湘 潭 大 学单片机原理及应用编著组在指令中某一个寄存器的内容作为操作数的地址的寻址方式,用符号表示。eg:ANLA,R0;(A)(R0
9、)A 寄存器间接寻址使用所选定的寄存器中R0和R1作地址指针(对栈操作时用堆栈指针SP)来寻址内部RAM(0FFH),也适用于访问外部扩展的数据存贮器,用R0、R1或DPTR作为地址指针。三、寄存器间接寻址3.2 MCS-51的寻址方式湘 潭 大 学单片机原理及应用编著组操作数包含在指令字节中eg:MOV A,#70H 以16位的程序计数器PC或数据指针DPTR作为基寄存器,以8位的累加器A作为变址寄存器,内容相加形成16位新的地址。MOVC A,A+PC;(A)+(PC)AMOVC A,A+DPTR;(A)+(DPTR)A 五、基寄存器加变址寄存器间接寻址四、立即寻址3.2 MCS-51的寻
10、址方式湘 潭 大 学单片机原理及应用编著组 eg:JC80H;C=1跳转 PC+2+relPC设原PC=1005HPC+2+rel=1005H+2+80H=1007H-128=0F87H=1007H+FF80H=0F87H1000000010000000(-128)求补码:11111111100000003.2 MCS-51的寻址方式六、相对寻址 相对寻址方式是以当前的程序计数器PC值加上指令中给定的偏移量rel所得的结果作为转移地址。一般将相对转移指令操作码所在地址称为源地址,转移后的地址称为目的地址,则有:目的地址=源地址+相对转移指令字节数+rel 湘 潭 大 学单片机原理及应用编著组3
11、.2 MCS-51的寻址方式七、位寻址 在计算机中,某些特定的操作数可以按8位二进制数中的某一位为单位进行存取和操作。位寻址方式是其操作数是8位二进制中的某一位。例315:MOVC,01H;01H为位地址,表示(20H).1的内容传送到进位累加器。例316:SETBEA表示中断允许寄存器IE的位7置1。湘 潭 大 学单片机原理及应用编著组3.2 MCS-51的寻址方式八、页面寻址 当用寄存器间接寻址方式访问外部扩展的数据存贮器,当用R0、R1作地址指针访问片外RAM时的寻址方式称为页面寻址。页面地址由P2口的内容决定,页面内的地址由R0或R1的内容决定。例317:MOVP2,#0A0H MOV
12、R0,#01H MOVA,#10H MOVXR0,A 湘 潭 大 学单片机原理及应用编著组(1)对程序存贮器只能采用立即寻址和基寄存器加变址寄存器间接寻址寻址方式。(2)对特殊功能寄存器空间只能采用直接寻址方式(可以用符号来代表地址),不能采用寄存器间接寻址方式。(3)内部RAM高128B只能采用寄存器间接寻址方式,不能采用直接寻址方式。(4)内部RAM低128B 既能采用寄存器间接寻址方式,又能采用直接寻址方式。(5)外部扩展的数据存贮器只能采用MOVX指令访问。虽然MCS51单片机的寻址方式有多种,但指令对哪一个存贮器空间进行操作是由指令的操作码和寻址方式确定的。总的来说,具有以下几点原则
13、:3.2 MCS-51的寻址方式湘 潭 大 学单片机原理及应用编著组MCS51汇编语言有42种操作码助记符,33种操作功能,111种指令,可分为:数据传送类(29)算术操作类(24)逻辑操作类(24)位操作类 (17)控制转移类(17)3.3 MCS-51的指令系统湘 潭 大 学单片机原理及应用编著组3.3.1 数据传送类指令数据数据传送类指令一般的操作是把源操作数传送到目的操作数,指令执行后,一般一般是源操作数不改变,目的操作数修改为源操作数。可以在累加器A、工作寄存器R0R7、内部数据存贮器、外部数据存贮器和程序存贮器之间进行。这类指令有:MOV,MOVX,MOVC,XCH,XCHD,SW
14、AP,POP,PUSH共8种。一一、以累加器A为目的操作数的指令MOV A,Rn ;寄存器寻址 MOV A,Direct;直接寻址MOV A,Ri ;间接寻址MOV A,#data ;立即寻址(Rn)A 寄存器的内容作为含有操作数的直接地址。i=0,1 寄存器的内容作为含有操作数的地址直接包含操作数把源操作数的内容送ACC,源操作数的内容不变化。湘 潭 大 学单片机原理及应用编著组eg:MOVA,R6 ;(R6)AMOV A,70H ;(70H)AMOV A,R0 ;(R0)AMOV A,#78H ;78HA二、以Rn为目的操作数的指令MOV Rn,A ;寄存器寻址 MOV Rn,Direct
15、 ;直接寻址MOV Rn,#data;立即寻址n=07eg:MOVR2,A ;(A)R2 MOV R7,70H ;(70H)R7MOV R7,#0A0H ;0A0HR73.3.1 数据传送类指令源操作数的内容送入当前工作寄存器区的R0R7湘 潭 大 学单片机原理及应用编著组MOV Direct,A;寄存器寻址 MOV Direct,Rn;寄存器寻址 MOV Direct,Direct ;直接寻址MOV Direct,Ri ;寄存器间接寻址MOV Direct,#data ;立即寻址三、以直接寻址的单元为目的操作数的指令eg:MOVP1,A ;MOV 90H,A ;(A)P1 MOV 70H,R
16、2 ;(R2)(70H)MOV 0E0H,78H;(78H)AMOV 40H,R0 ;(R0)40HMOV 01H,#80H;80H 01H3.3.1 数据传送类指令 源操作数的内容送入直接地址指出的存贮单元。湘 潭 大 学单片机原理及应用编著组四、以寄存器间接寻址的单元为目的操作数的指令MOV Ri,A ;寄存器寻址 MOV Ri,Direct ;直接寻址MOV Ri,#data ;立即寻址eg:MOV R1,A ;(A)(R1)MOV R0,70H;(70H)(R0)MOV R1,#80H ;80H (R1)3.3.1 数据传送类指令源操作数的内容送入R0或R1指出的内部RAM中。湘 潭
17、大 学单片机原理及应用编著组五、16位数据传送指令 MOV DPTR,#data16 ;立即寻址 把16位立即数送到数据指针DPTR。高8位 DPH,低8位 DPL eg:MOV DPTR,#8000H 3.3.1 数据传送类指令六、查表指令1、MOVC A,A+PC;(A)+PC)A (A)作为无符号数和PC内容(下一条指令的起始地下一条指令的起始地址址)相加后得到一个16位的地址,将该地址的内容 A湘 潭 大 学单片机原理及应用编著组2、MOVC A,A+DPTR;(A)+DPTR)A (A)作为无符号数和DPTR内容相加后得到一个16位的地址,将该地址的内容 Aeg:(DPTR)=810
18、0H,(A)=40H MOVC A,A+DPTR;(?H)Aeg:(A)=30H,当前地址1000HMOVC A,A+PC;(?H)Aeg:ORG8000HMOV A,#30MOVC A,A+PC;(?H)AORG8030HDB41H,42H,43H,44H,45H3.3.1 数据传送类指令湘 潭 大 学单片机原理及应用编著组3.3.1 数据传送类指令七、累加器A与片外RAM数据传送指令eg:MOV DPTR,#0650H ;设(0650H)=20H MOV R0,#0FAH;(0FAH)=10H MOV P2,#20HMOVX A,R0;(20FAH)A MOVX DPTR,A ;(A)65
19、0H单元(A)外部数据存贮器MOVXA,DPTR;MOVXA,Ri ;MOVX DPTR,A;MOVX Ri,A ;外部数据存贮器的内容 A湘 潭 大 学单片机原理及应用编著组八、栈操作指令1、压栈指令 PUSH Direct;寄存器间接寻址 eg:(SP)=60H,(A)=30H,(B)=70H3.3.1 数据传送类指令 PUSH B ;SP+1 SP,(B)(SP),SP=62H,(62H)=70H中断保护现场 PUSH A ;SP+1 SP,(A)(SP),SP=61H,(61H)=30H 堆栈指针SP+1 SP;然后把直接地址的内容送到栈指针寻址的内部RAM单元中。湘 潭 大 学单片机
20、原理及应用编著组 POP DPL ;(61H)DPL,SP-1 SP ;DPL=30H SP=60H POP DPH ;(62H)DPH,SP-1 SP ;DPH=70H,SP=61H2、弹栈指令 POP Direct;寄存器间接寻址 eg:(SP)=62H,(62H)=70H,(61H)=30H3.3.1 数据传送类指令 堆栈指针SP寻址的内部RAM单元送入直接地址指 出的字节单元中;SP-1 SP 湘 潭 大 学单片机原理及应用编著组九、字节交换指令内容交换XCH A,Rn;寄存器寻址,(A)(Rn)XCH A,Direct;直接寻址,(A)(direct)XCH A,Ri;寄存器间接寻址
21、,(A)(Ri)XCHD A,Ri;寄存器间接寻址;(A)03(Ri)03 SWAP A;寄存器寻址,(A)03(A)473.3.1 数据传送类指令eg:(A)=80H,(R7)=08H XCH A,R7 ;(A)(R7)(A)=80H,(70H)=88H XCHA,70H ;(A)(70H)(A)=80H,(70H)=60H MOV R0,#70H XCHA,R0 ;(A)(R0)(A)=60H,(70H)=80H,(R0)=70H湘 潭 大 学单片机原理及应用编著组eg:(A)=12H,(R1)=30H,(30H)=34H XCHD A,R1 (A)=12H SWAPA 3.3.1 数据传
22、送类指令湘 潭 大 学单片机原理及应用编著组MCS51算术运算指令+,-,*,/,增量(加1),减量(减1)指令,执行结果将使进位(Cy)、辅助进位(AC),溢出(OV)标志置位或复位。但加1和减1指令不影响以上标志。其操作助记符有:ADD,ADDC,SUBB,DA,INC,DEC,MUL,DIV 8种。一、不带进位的加法指令ADDA,Rn;(A)+(Rn)A,n=07ADDA,Direct;(A)+(Direct)AADDA,Ri;(A)+(Ri)A,i=0,1ADDA,#data;(A)+data A 3.3.2 算术运算类指令湘 潭 大 学单片机原理及应用编著组eg1:(A)=53H,(
23、R0)=0FCHADD A,R0 1 0 1 0 0 1 1 1 1+1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1(A)=4FH,CY=1AC=0,OV=0,P=1eg2:(A)=85H,(R0)=30H,(30H)=0AFHADD A,R0;85H+0AFH A(A)=34H 1 0 0 1 1 0 1 0 0+1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1(A)=34H,CY=1AC=1,OV=1,P=1二、带进位的加法指令ADDC A,Rn;(A)+(Rn)+CY A ADDC A,Direct;(A)+(direct)+CY AADDC A,Ri;(A
24、)+(Ri)+CY AADDC A,#data;(A)+data+CY A 3.3.2 算术运算类指令湘 潭 大 学单片机原理及应用编著组eg2:(A)=85H,(20H)=0FFH,CY=1ADDC A,20H;+1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1(A)=85H,CY=1AC=1,OV=0,P=13.3.2 算术运算类指令三、带进位减法指令SUBB A,Rn;(A)-(Rn)-CY ASUBB A,Direct;(A)-(direct)-CY ASUBB A,Ri;(A)-(Ri)-CY A SUBB A,#data;(A)
25、-data-CY A 湘 潭 大 学单片机原理及应用编著组3.3.2 算术运算类指令eg:(A)=0C9H,(R2)=54H,CY=1SUBB A,R2-1 1 1 0 0 1 0 0 10 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0(A)=74H,CY=0,AC=0,OV=1,P=0四、增量指令(加1)指令INC A;(A)+1 AINC Rn;(Rn)+1 Rn INC Ri;(Ri)+1 (Ri),i=0,1INC DPTR;(DPTR)+1DPTR INC Direct;(direct)+1 direct这组指令除对A操作影响P标志外不影响其它标志湘 潭 大 学单片机原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 PPT 课件 知识 分享
限制150内