test_reslt.asm

来自「用增强型单片机51RD2做的控制器」· 汇编 代码 · 共 596 行 · 第 1/2 页

ASM
596
字号
                MOV     A,DataH
                ADD     A,#0
                MOV     DataH,A

;       ******  若地址指针超过 500 则置 0  ******
                MOV     A,DataL
                CLR     C
                SUBB    A,#0F4H
                MOV     A,DataH
                SUBB    A,#01H                  ; 01F4H = 500D
                JC      SaveTestRslt1
                MOV     DataH,#0
                MOV     DataL,#0

SaveTestRslt1:  MOV     R0,#TempBuf             ; 临时数据缓冲区(32Byte)
                MOV     A,DataH
                MOV     @R0,A
                INC     R0
                MOV     A,DataL
                MOV     @R0,A
                MOV     BNUM,#2                 ; 写2个字节
                MOV     BADR,#TempBuf           ; 临时数据缓冲区(32Byte)
                MOV     DPTR,#YxBgAdrPoint      ; 运行报告数据区地址指针
                LCALL   WR_BLK


SaveTestRslt2:  MOV     A,DataH
                MOV     R2,A
                MOV     A,DataL
                MOV     R3,A
                MOV     R6,#0
                MOV     R7,#64
;    将 (高R2,R3)和(高R6,R7)中双字节无符号整数相乘,
;    乘积送(高)R4,R5,R6,R7(低) 中
;       ******  双字节无符号乘法  ******
                LCALL   TowByteNMUL             ; 地址指针*32

                MOV     DPTR,#ReportDatArea     ; 记录报告数据区
                MOV     A,R7
                ADD     A,DPL
                MOV     DPL,A
                MOV     A,R6
                ADDC    A,DPH
                MOV     DPH,A
                PUSH    DPH
                PUSH    DPL

                MOV     R0,#TempBuf             ; 临时数据缓冲区(32Byte)
                MOV     A,DataH
                MOV     @R0,A
                INC     R0
                MOV     A,DataL
                MOV     @R0,A
                INC     R0

                MOV     R1,#ActiveFlagBuf+0       ; 正端:动作标志 (TempBuf+2)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#ActiveFlagBuf+1       ; 负端:动作标志
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#ActiveFlagBuf+3       ; 交流端:动作标志
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#VoltBuf+0             ; 正端:正地电压 (TempBuf+5)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#VoltBuf+2             ; 正端:负地电压 (TempBuf+7)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#VoltBuf+4             ; 负端:负地电压 (TempBuf+9)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#VoltBuf+6             ; 负端:正地电压 (TempBuf+11)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#LinkG_R_buf+0         ; 正端:接地电阻 (TempBuf+13)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#LinkG_R_buf+2         ; 负端:接地电阻 (TempBuf+15)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     R1,#LinkG_R_buf+6         ; 交流端:接地电阻(TempBuf+17)
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0
                INC     R1
                MOVX    A,@R1
                MOV     @R0,A
                INC     R0

                MOV     DPTR,#ExtTempBuf+10           ; 拆下机车号:XXXX (TempBuf+19)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOV     DPTR,#ExtTempBuf+14           ; 装上机车号:XXXX (TempBuf+23)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOV     DPTR,#ExtTempBuf+18           ; 拆下日期:XXXXXX    (TempBuf+27)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOV     DPTR,#ExtTempBuf+24           ; 装上日期:XXXXXX    (TempBuf+33)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOV     DPTR,#ExtTempBuf+4            ; 检测日期:XXX      (TempBuf+39)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     DPTR
                INC     R1

                MOV     DPTR,#ExtTempBuf+7            ; 检测时间:XXX        (TempBuf+42)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOV     DPTR,#ExtTempBuf+0            ; 被测装置号:XXXX       (TempBuf+45)
                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR

                MOVX    A,@DPTR
                MOV     @R0,A
                INC     R0
                INC     DPTR                          ;(end 48 ,total 2+47 byte)

                POP     DPL
                POP     DPH

                MOV     BNUM,#64                ; 写32个字节
                MOV     BADR,#TempBuf           ; 临时数据缓冲区(32Byte)
                LCALL   WR_BLK
                RET

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?