MULT MOVF NA,0
BCF STATU,CARRY
RLF NA
ADDWF NA,0
MOVWF RE
RETLW 0
MAIN NOP
MOVLW 10H
MOVWF NA
CALL MULT
END
实验三:(选作)
LIST P=16C54
RAL EQU 10
RAH EQU 11
RBL EQU 12
RBH EQU 13
STATU EQU 3
CARRY EQU 0
ORG 1FFH
GOTO MAIN
ORG 0
SUBX MOVF RBL,0
SUBWF RAL
BTFSS STATU, CARRY
DECF RAH
MOVF RBH,0
SUBWF RAH
RETLW 0
MAIN NOP
MOVLW 23H
MOVWF RAH
MOVLW 4CH
MOVWF RAL
MOVLW 1EH
MOVWF RBH
MOVLW 07H
MOVWF RBL
CALL SUBX
END
调试结果:
实验一:
153AH+0879H=1DB3H
1、附值后
2、低位相加后的情况
3、高位相加后的情况
实验二:
1、附值前的情况
2、给寄存器NA附值
3、数值存入WORK寄存器,并将NA中的数据左移后
4、与自己本身相加得到乘以三的结果放入RE寄存器
实验三:
234CH-1E07H=545H
1、附值后
2、低位相减后的情况
3、高位相减后的情况
实验分析与实验体会:
通过本实验的实际操作,我学会了基本的分枝结构程序的设计,进一步掌握了PIC系列单片机开发环境MAPLAB的应用步骤和相关的命令,并且学会了如何应用移位相加方法实现对已知数据的乘法运算,以及如何进行多位数据的加减法。
通过编写完整的程序,令我熟悉了PIC程序的结构特点和一些编写技巧,实验步骤清晰,结果正确,得到了相关的锻炼,并掌握了实验目的所要求的能力。