mdcbcdtb.asm
来自「pic单片机常用的汇编程序,很有用的,分成各个小模块」· 汇编 代码 · 共 38 行
ASM
38 行
;********************MDCBCDTB********************
;本程序实现多字节十进制小数转化为双字节二进制小数。
;入口参数:原十进制数地址在SADR中,字节数在CNT中,结果存放地址在DADR中,结果字节
; 数在W中。
;出口参数:结果在指定单元中,地址在SADR中,字节数在CNT中。
;占用资源:W,STATUS,020H,021H,023H,027H~02BH,两重堆栈。
;说 明: 1.加载本文件的同时也加载了另外2个文件"MCOBCDML2.ASM","MSHL.ASM"
; 故用户在使用这个子程序时可直接调用,不必重新加载.
; 2.程序执行后,原数据将被冲掉。
IFNDEF MDCBCDTB1
#DEFINE MDCBCDTB1
MDCBCDTB MOVWF TEMP4 ;TEMP4永久存放结果字节数
MOVWF RLTH
BCF STATUS,C
RLF RLTH,F
RLF RLTH,F
RLF RLTH,F ;RLTH为循环次数
MOVF CNT,W
MOVWF TEMP2 ;TEMP2永久存放转化之前的字节数
MOVF SADR,W
MOVWF TEMP3 ;TEMP3用来保护SADR
NEXT18 MOVF TEMP3,W
MOVWF SADR
MOVF TEMP2,W
MOVWF CNT ;转化之前的字节数
CALL MCOBCDML2 ;转化完的1位二进制数在STATUS:C中
MOVF DADR,W
MOVWF SADR
MOVF TEMP4,W
MOVWF CNT
CALL MSHL ;转化结果存入相应位
DECFSZ RLTH,F
GOTO NEXT18
RETURN
INCLUDE "MCOBCDML2.ASM"
INCLUDE "MSHL.ASM"
ENDIF
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?