Microcontroller6.ppt
《Microcontroller6.ppt》由会员分享,可在线阅读,更多相关《Microcontroller6.ppt(67页珍藏版)》请在三一文库上搜索。
1、算术运算类指令,算术运算指令多数以累加器为目的操作数 算术运算指令对A寄存器操作时会影响程序状态字寄存器PSW,MCS-51 的程序状态字寄存器 PSW 为标志寄存器。其格式如下:,Cy:进位标志位 保存运算后最高位的进位/借位状态,当有进位/借位,Cy=1,否则Cy=0 AC:辅助进位标志位 保存低半字节的进位/借位状态,当D3产生进位/借位,AC=1,否则AC=0。用于十进制调整。,OV:溢出标志位 OV=Cy7Cy6,补码运算产生溢出OV=1,否则OV=0 P:奇偶标志位 反映累加器A中数据的奇偶性。当1的个数为奇数,P=1,否则P=0。,A,ADD A, #30h,30h,80h,算术
2、运算指令,ADD A, direct ADD A,Rn ADD A,Ri,A,ADD A, #0C0h,C0h,算术运算指令,80h,+ c0h,140h,例1:A=3BH,PSW=0,执行指令ADD A,#3BH 求:A= ,Cy= ,OV= ,AC= ,P= , PSW= ?,0011 1011 + 0011 1011 0111 0110,76H 0 0 1 1,01000001= 41H,已知(A)=04H,(R1)=0BH; ADD A,R1 ;A(A)+(R1),指令执行后:(A)0FH,(R1)0BH,AC0,P0,OV0,Cy0。,分析:由Cy,OV可知两个加数看作无符号数时和没
3、有超出范围,看作有符号数时和未溢出。,已知(A)=07H,(R1)=0FBH; ADD A, R1 ;A(A)+(R1),指令执行后:(A)02H,(R1)0FBH,AC1,P0,OV0,CY1。 分析:由Cy,OV可知两个数看作无符号数时,和超出八位进制数表示范围,看作有符号数时,和未溢出。,已知 (A)=09H,(R1)=7CH; ADD A, R1 ;A(A)+(R1),指令执行结果为:(A)=85H,(R1)=7CH,AC=1,OV=1,Cy=0,P=1。 分析:由Cy,OV可知两个加数看作无符号数时,和未超出表示范围;看作有符号数时,和溢出。,已知(A)=87H,(R1)=0F5H;
4、 ADD A, R1 ; A(A)+(R1),指令执行结果为:(A)=7CH,(R1)=0F5H,AC=0,Cy1,OV1,P1。 分析:由Cy,OV可知两个加数看作为无符号数时,和超出范围,看作为有符号数时,和溢出。,A,ADDC A, #30h,30h,80h,算术运算指令,C,(Carry flag),1,16位多字节运算,例:设双字节数 X 存在片内RAM 41H、40H单元,Y存在42H、43H单元,编程求 Z=X+Y,并存入片内RAM单元44H、45H、46H。,ADDS: MOV A,40H ADD A,42H MOV 44H,A MOV A,41H ADDC A,43H MOV
5、 45H,A MOV A,#0 ADDC A,#0 MOV 46H,A RET,Memory,4C,4F,4E,4D,存储单元数据自加,INC 4Dh,65,01,66,算术运算指令,INC A INC direct INC dptr INC Ri INC Rn,不影响C标志位,Memory,1E,22,21,20,1F,存储单元数据自减,DEC 1Fh,65,01,64,算术运算指令,DEC A DEC Ri DEC direct DEC Rn,不影响C标志位,INC A是单字节,单周期指令,而且INC A不会影响PSW位 ADD A,#1则是双字节,双周期指令 如(A)=0FFH,INC
6、A后(A)=00H,而CY依然保持不变。如果是ADD A ,#1,则(A)=00H,而CY一定是1。 加法类指令都是以A为核心的; 加1类指令的对象则广泛得多,可以是寄存器、内存地址、间址寻址的地址等等。,A,SUBB A, #30h,30h,80h,算术运算指令,C,(Carry flag),1,-,没有 SUB指令,SUBB A, #30h,算术运算指令,算术运算指令,MUL AB,A,B,X,A,B,(Low byte),(High byte),(Multiply),MUL AB,A,B,X,A,B,(Low byte),(High byte),80h,80h,80h * 80h = 4
7、000h,00h,40h,(Multiply),算术运算指令,乘法指令,把累加器A和寄存器B中的无符号8位整数相乘 其16位积的低位字节存放在累加器A中,高8位字节存在寄存器B中。 如果积大于0FFH,则将溢出标志位OV置“1”,否则OV清“0”。进位标志位总为“0”。,DIV AB,A,B,A,B,(商),(余数),(Divide),算术运算指令,DIV AB,A,B,A,B,(商),(余数),07h,03h,02h,01h,(Divide),算术运算指令,除法指令,累加器A中的8位无符号整数除以寄存器B中的8位无符号整数,所得商存入A中,余数存入B中。 除法运算总是使Cy和Ov清“0”。
8、若B中除数为00H,则执行结果为不定值,Ov置位表示溢出。,DA - Decimal Adjust,二进制编码的 十进制数,算术运算指令,DA - Decimal Adjust,算术运算指令,DA - Decimal Adjust,MOV A, #12h ADD A, #29h DA,算术运算指令,(A)=56H,(R3)=67H,CY=1;执行指令 ADDC A,R3 DA A,结果:(A)=24,CY=1;BCD码结果为124,ADD A,byte,Ri,Direct,助记符,寻址方式,Rn,#data,AB,ADDC A,byte,SUBB A,byte,INC byte,INC DPT
9、R,DEC byte,MUL AB,DIV AB,DA A,SUBB A,byte,算术运算指令总结,11110000,10010000,ANL A, 67h (Logical AND),67h,66h,65h,68h,10011100,A,逻辑运算指令,11110000,AND,ANL A, 67h (Logical AND),ANL A,ANL direct,逻辑运算指令,11110000,11111100,ORL A, 67h (Logical OR),67h,66h,65h,68h,10011100,A,11110000,OR,逻辑运算指令,ORL A, 67h (Logical OR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Microcontroller6
链接地址:https://www.31doc.com/p-2977038.html