是由运算时差值的D7、D6位状态"异或"而得的,OV=0则表示无溢出;
AC=1表示差值的D3向D4有借位,AC=0则表示无半借位。
例 双字节无符号数相减(R0R1)-(R2R3)→(R4R5)。
R0、R2、R4存放16位数的高字节,R1、R3、R5存放低字节,先减低8位,后减高8位和
低位减借位。由于低位开始减时没有借位,所以要先清零。其编程如下:
MOV A,R1 ;取被减数低字节, E9
CLR C ;清借位位, C3
SUBB A,R3 ;低字节相减, 9B
MOV R5, A ;保存差低字节, FD
MOV A,R0 ;取被减数高字节, E8
SUBB A,R2 ;两高字节差减低位借位, 9A
MOV R4,A ;保存差高字节, FC
九,例题,
加(减)1指令中,若指令的操作数为直接地址端口P0~P3时, 具有“读-改-写"的功能。
例如:设(R0)=7EH, (7EH)=FFH, (7FH)=38H,
(DPTR)=l0FEH,
分析逐条执行下列指令后各单元的内容。
INC @R0 ; 使7EH单元内容由FFH变为00H
INC R0 ;使R0的内容由7EH变为7FH
INC @R0 ;使7FH单元内容由38H变为39H
INC DPTR ;使DPL为FFH,DPH不变
INC DPTR ;使DPL为00H,DPH为11H
INC DPTR ;使DPL为0lH,DPH不变
例如: 若(A)=4EH(78), (B)=5DH(93)
执行指令:
MUL AB
结果为:
积为:(BA)=lC56H,
7254>255,
(A)=56H,
(B)=lCH,
OV=1,
CY=0 ,
P=0。
1)逻辑"与"指令
ANL A, Rn ;(A)←(A)AND(Rn), 58~5F
ANL A, direct ;(A)←(A)AND(direct), 55 direct
ANL A, @Ri ;(A)←(A)AND(Ri), 56~57
ANL A, #data ;(A)←(A)AND #data , 54 data
ANL direct, A ;(direc)←(direct)AND(A), 52 direct
ANL direct, #data
;(direct)←(direct) AND #data , 53 direct data
功能: 将两个操作数的内容按位进行逻辑与操作, 并将结果送回目的操作数的单元中。