?? 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 + -