s4-3 算术运算指令.ppt
文本预览下载声明
* * 算术运算指令 目 录 加减指令 乘除指令 十进制调整指令 加1/减1 指令 加减指令 加法指令 减法指令 加减指令 加法指令 1 1 1 1 (A) (A) + (Rn) ADD A, (A) (A) + (direct) 指令格式 指令功能 机器码direct 00101rrr ADD A, (A) (A) + ((Ri)) 0010011i ADD A, (A) (A) + datadata 周期 ADD A, 加法指令助记符为“ADD”,通用格式为: ADD 目的操作数, 源操作数 源操作数与目的操作数A相加,结果保存在 目的操作数A,且影响PSW Rn direct @Ri data 目的操作数 源操作数 Addition ADD对PSW的影响 参与运算的两个二进制数可被看作无符号数(0~255)或有 符号数的补码(-128~+127)。 bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 相加 结果 0 0 0 0 0 0 0 0 PSW P — OV RS0 RS1 F0 AC CY 进位 进位 1 1 无符号数 结果超出范围 (影响进位标志位) ADD对PSW的影响 参与运算的两个二进制数可被看作无符号数(0~255)或有 符号数的补码(-128~+127)。 有符号数 (影响溢出标志位) bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 相加 结果 0 0 0 0 0 0 0 0 PSW P — OV RS0 RS1 F0 AC CY 进位 无进位 进位 无进位 1 OV = C7⊕C8 结果超出范围 0 ADD对PSW的影响 参与运算的两个二进制数可被看作无符号数(0~255)或有 符号数的补码(-128~+127)。 目的操作数为A时 (影响奇偶标志位) 1 (bit0 + bit2 + … + bit7) % 2 = 0 1 bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 相加 结果 PSW P — OV RS0 RS1 F0 AC CY 0 0 0 0 0 0 0 A = A + R1 = 0AH,PSW = 0C0H P1 = 0C0H,通过发光管亮灭 指示标志位变化 原地跳转 范例 MOV A,#0FH MOV R1,#0FBH ADD A,R1 MOV P1,PSW SJMP 0007H A = 0FH R1 = 0FBH 将A与R1中内容相加,并用与P1口相连的发光二极管显示 PSW状态。 加法指令 ADD A,R1 ALU 0 0 0 0 0 0 0 0 PSW +00001111 0 1 0 1 0 0 0 0R1 片内RAM A 1 100001111 第3位与第7位 有进位 + CY AC 带进位加法指令 带进位加法指令助记符为“ADDC”,通用格式为: ADDC 目的操作数, 源操作数 1 1 1 1 (A) (A) + (Rn) + ADDC A, direct (A) (A) + (direct) + 指令格式 指令功能 机器码direct 00111rrr ADDC A, @Ri (A) (A) + ((Ri)) + ADDC A, Rn (A) (A) + data + data 周期 ADDC A, Rn (CY) (CY) (CY) (CY) ? 常用于多字节加法运算。 ? 对PSW的影响同ADD指令,只是运算时多了进位位; Add with Carry 带进位加法指令 指令 硬件结构 半加器 全加器 ADD ADDC 带借位减法指令 带借位减法指令助记符为“SUBB”,通用格式为: SUBB 目的操作数, 源操作数 指令格式 指令功能 机器码 周期 SUBB A,Rn (A) (A)-(Rn) -(CY) 10011rrr 1 SUBB A,direct (A)
显示全部