一、編寫子程序 Add_16,實(shí)現(xiàn)雙字節(jié)無符號(hào)數(shù)加法。要求在地址0x70~0x73定義變量ACCALO、ACCAHI、ACCBLO、ACCBHI。
ACCALO ;存放加數(shù)或減數(shù)低8位ACCAHI ;存放加數(shù)或減數(shù)高8位ACCBLO ;存放被加數(shù)或被減數(shù)低8位ACCBHI 存放被加數(shù)或被減數(shù)高8位list p=16f877A ; 標(biāo)明所用的處理器類型 #include <p16f877A.inc> ; 調(diào)用頭文件 ;***** 變量聲明**************************************ACCALO EQU 0x70 ;存放加數(shù)低8位 ACCAHI EQU 0x71 ;存放加數(shù)高8位 ACCBLO EQU 0x72 ;存放被加數(shù)低8位 ACCBHI EQU 0x73 ;存放被加數(shù)高8位 ;---------------------------------------------------- org 0x0000 ; 復(fù)位入口地址;----------------------------------------------------Main MOVLW 0X4B MOVWF ACCBLO ;(ACCBLO)=0x4B MOVLW 0X4C MOVWF ACCBHI ;(ACCBHI)=0x4C MOVLW 0XD2 MOVWF ACCALO ;(ACCALO)=0xD2 MOVLW 0X40 MOVWF ACCAHI ;(ACCAHI)=0x40 CALL Add_16 ;調(diào)用子程序Add_16求和,結(jié)果應(yīng)為0x8D1D NOP GOTO $ ;停機(jī) ;--------------雙字節(jié)無符號(hào)數(shù)加法子程序--------------------------------Add_16 MOVF ACCALO,W ADDWF ACCBLO,F ;ACCB和ACCA低8位相加 BTFSC STATUS,C ;有進(jìn)位否? INCF ACCBHI ;有進(jìn)位,ACCB高8位加1 MOVF ACCAHI,W ADDWF ACCBHI,F ;ACCB和ACCA高8位相加 RETURN;-------------------------------------------------------------- END ;程序結(jié)束二、編寫子程序Sub_16,實(shí)現(xiàn)雙字節(jié)無符號(hào)數(shù)減法。要求在地址0x20~0x23定義變量ACCALO、ACCAHI、ACCBLO、ACCBHI。
ACCALO ;存放加數(shù)或減數(shù)低8位ACCAHI ;存放加數(shù)或減數(shù)高8位ACCBLO ;存放被加數(shù)或被減數(shù)低8位ACCBHI 存放被加數(shù)或被減數(shù)高8位list p=16f877A ; 標(biāo)明所用的處理器類型 #include <p16f877A.inc> ; 調(diào)用頭文件 ;***** 變量聲明***************************************ACCALO EQU 0x70 ;存放減數(shù)低8位 ACCAHI EQU 0x71 ;存放減數(shù)高8位 ACCBLO EQU 0x72 ;存放被減數(shù)低8位 ACCBHI EQU 0x73 ;存放被減數(shù)高8位 ;----------------------------------------—----------- org 0x0000 ; 復(fù)位入口地址;----------------------------------------------------Main MOVLW 0X4B ;被減數(shù)0x4C4BH送ACCB MOVWF ACCBLO MOVLW 0X4C MOVWF ACCBHI MOVLW 0XD2 ;減數(shù)0x40D2送ACCA MOVWF ACCALO MOVLW 0X40 MOVWF ACCAHI CALL Sub_16 ;調(diào)用Sub_16,求差,結(jié)果為0x0B79 NOP GOTO $ ;停機(jī);--------------雙字節(jié)無符號(hào)數(shù)減法子程序-----------------------Sub_16 MOVF ACCALO,W SUBWF ACCBLO,F ;ACCB、ACCA低8位相減 BTFSS STATUS,C ;有借位否? DECF ACCBHI ;有,被減數(shù)高8位減1 MOVF ACCAHI,W SUBWF ACCBHI,F ;ACCB、ACCA高8位相減 RETURN;------------------------------------------------------------- END ;程序結(jié)束新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注