查表法求 Y=X2。設(shè) X(0≤X≤15)在片內(nèi) RAM 20H單元,要求將查表求 Y=X2,存入片內(nèi) RAM 21H單元。
ORG 0100H
SQU:MOV DPTR,#TAB
MOV A,20H
MOVC A@A+DPTR
MOV 21H
RET…
ORG 0200H
TAB:DB 00010409…225
設(shè)變量放在片內(nèi)RAM的20H單元,其值為00H~05H之間,要求編查表程序,查出變量的平方值, 并放入片內(nèi)RAM的21H單元。
ORG 0000H
MOV DPTR,#TAB
MOV A,20H
MOVC A,@A+DPTR ;查表
MOV 21H,A
SJMP $
TAB: DB 00H,01H,04H,09H,16H,25H
END
把R1R0和R3R2中的2個4位BCD碼數(shù)相加,結(jié)果送R5R4中,如有進(jìn)位則存于進(jìn)位位C中。
CLR C ;清進(jìn)位
MOV A,R0
ADD A,R2 ;低字節(jié)相加
DA A ;十進(jìn)制調(diào)整
MOV R4,A
MOV A,R1
ADDC A,R3 ;高字節(jié)相加
DA A ;十進(jìn)制調(diào)整
MOV R5,A
SJMP $
把在R4和R5中的兩字節(jié)數(shù)取補(高位在R4中)
CLR C ;CY清零
MOV A,R5
CPL A
ADD A,#01H ;低位取反加1
MOV R5,A
MOV A,R4
CPL A ;高位取反
ADDC A,#00H ;加低位的進(jìn)位
MOV R4,A
SJMP $
Powered by 單片機教程網(wǎng)