📄 test_reslt.asm
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -