?? zoujin.asm
字號:
; "軸型" 功能 .
kaxl2: nop
mov a,20h
anl a,#00011100b
jz 1
ret
jnb 09h,1
ret
mov dptr,ds1225
mov a,#0c9h
add a,dpl
mov dpl,a
movx a,@dptr
inc a
mov r0,a
clr c
subb a,#7
jc kaxl21
mov r0,#1
kaxl21: nop
mov a,r0
movx @dptr,a
ret
;
; "發送" 鍵 .
;
KEYSD: NOP ; send key .
jnb 14h,1
ret
jnb 0bh,1
ret
MOV A,20H
ANL A,#00011111B
JZ 3
ljmp ksdl1
cpl 13h
JB 13H,1
RET
CLR ET0 ; no allow T0 interupt .
CLR ET1 ; no allow T1 interupt .
CLR EX0 ; allow EX0 interupt .
CLR EX1 ; no allow EX1 interupt , refference mark .
SETB EA ; turn on interupt .
clr 13h
LCALL SD232
RET
ksdl1: nop
LCALL SMOVE ; 恢復顯示緩區 .
ret
;
;
count: nop
jnb p3.4,coul1
ret
coul1: nop
mov dptr,ad7109h
movx a,@dptr
mov 44h,a
mov dptr,ad7109l
movx a,@dptr
mov 45h,a
mov 43h,#0
mov a,44h
mov r0,a
anl a,#0fh
mov 44h,a
;
; mov 44h,#27h
; mov 45h,#10h
;
mov a,r0
anl a,#00100000b
jnz 3
ljmp coul2
mov 43h,#80h
sjmp coul2
ret
mov a,45h
cpl a
mov 45h,a
mov a,44h
cpl a
mov 44h,a
mov a,45h
add a,#1
mov 45h,a
mov a,44h
addc a,#0
mov 44h,a
coul2: nop
mov dptr,ds1225
mov a,#0e3h
add a,dpl
mov dpl,a
movx a,@dptr
mov r2,a
inc dptr
movx a,@dptr
mov r3,a
inc dptr
movx a,@dptr
mov r4,a
orl a,r3
orl a,r2
jnz 1
ret
mov dptr,ds1225
mov a,#0e0h
add a,dpl
mov dpl,a
movx a,@dptr
mov r2,a
inc dptr
movx a,@dptr
mov r3,a
inc dptr
movx a,@dptr
mov r4,a
mov r0,44h
mov r1,45h
lcall mul16b
mov dptr,ds1225
mov a,#0e4h
add a,dpl
mov dpl,a
movx a,@dptr
mov r6,a
inc dptr
movx a,@dptr
mov r7,a
lcall div16b
mov 44h,r4
mov 45h,r5
ret
;
; 將數據轉換成顯示代碼
;
MTRAN: nop
; 保存 20H -- 27H 到DS1225 00C0H -- 00C7H .
mov dptr,ds1225
mov a,#0c0h
add a,dpl
mov dpl,a
mov r2,#8
mov r0,#20h
tral1: nop
mov a,@r0
movx @dptr,a
inc r0
inc dptr
djnz r2,tral1
;
jnb 13h,1
ret
jnb 09h,1
ret
jnb 0bh,1
ret
jnb 06h,1
ret
; 轉換 "軸型" .
tral2: nop
jnb 1ah,tral21
clr 1ah
LCALL SMOVE ; 恢復顯示緩區 .
tral21: nop
mov dptr,ds1225
mov p2,dph
mov a,#20h
add a,dpl
mov r0,a
mov dptr,ds1225
mov a,#0c9h
add a,dpl
mov dpl,a
movx a,@dptr
cjne a,#1,tral22
mov dptr,#zhou1
sjmp tral28
tral22: nop
cjne a,#2,tral23
mov dptr,#zhou2
sjmp tral28
tral23: nop
cjne a,#3,tral24
mov dptr,#zhou3
sjmp tral28
tral24: nop
cjne a,#4,tral25
mov dptr,#zhou4
sjmp tral28
tral25: nop
cjne a,#5,tral26
mov dptr,#zhou5
sjmp tral28
tral26: nop
mov dptr,#zhou6
tral28: nop
mov r2,#4
tral29: nop
clr a
movc a,@a+dptr
movx @r0,a
inc dptr
inc r0
djnz r2,tral29
mov a,#20h
movx @r0,a
inc r0
; 顯示新/舊 .
tral3: nop
mov r1,#4eh ; "N" 字符(新) .
jnb 18h,tral31
mov r1,#4fh ; "O" 字符(舊) .
tral31: nop
mov a,r1
movx @r0,a
inc r0
mov a,#20h
movx @r0,a
inc r0
; 顯示左/右 (L: 左, R: 右) .
tral32: nop
mov r1,#4ch ; "L" 字符 .
jnb 19h,tral34
mov r1,#52h ; "R" 字符 .
tral34: nop
mov a,r1
movx @r0,a
inc r0
mov a,#20h
movx @r0,a
inc r0
; 顯示人名(工號) .
tral35: nop
mov dptr,ds1225
mov a,#0cbh
add a,dpl
mov dpl,a
movx a,@dptr
tral36: nop
clr c
subb a,#10
jnc tral36
add a,#10
movx @dptr,a
add a,#30h
movx @r0,a
inc r0
mov a,#20h
movx @r0,a
inc r0
; 顯示截面及檢測點 .
tral4: nop
mov dptr,ds1225
mov a,#0c8h
add a,dpl
mov dpl,a
movx a,@dptr
add a,#30h
movx @r0,a
inc r0
mov a,#2dh
movx @r0,a
inc r0
mov dptr,ds1225
mov a,#0cah
add a,dpl
mov dpl,a
movx a,@dptr
add a,#30h
movx @r0,a
inc r0
mov a,#20h
movx @r0,a
inc r0
; 顯示鎖定位 (S: 鎖, K: 開) .
tral41: nop
mov dptr,ds1225
mov a,#0f1h
add a,dpl
mov dpl,a
movx a,@dptr
mov r1,#53h ; "S" 字符 .
cjne a,#0,tral42
mov r1,#4bh ; "K" 字符 .
tral42: nop
mov a,r1
movx @r0,a
; 顯示第四行 .
tral5: nop
mov dptr,ds1225
mov p2,dph
mov a,#30h
add a,dpl
mov r0,a
mov r2,#8
mov a,#20h
tral55: nop
movx @r0,a
inc r0
djnz r2,tral55
; 顯示數據 .
tral6: nop
jnb 0eh,tral61
mov dptr,ds1225
mov a,#30h
add a,dpl
mov dpl,a
mov a,#46h
movx @dptr,a
inc dptr
mov a,#55h
movx @dptr,a
inc dptr
mov a,#4ch
movx @dptr,a
inc dptr
mov a,#4ch
movx @dptr,a
ljmp tral62
tral61: nop
mov dptr,ds1225
mov a,#0f0h
add a,dpl
mov dpl,a
movx a,@dptr
mov r1,a
mov dptr,ds1225
mov a,#30h
add a,dpl
mov dpl,a
mov a,r1
mov b,#100
div ab
add a,#30h
movx @dptr,a
inc dptr
mov a,b
mov b,#10
div ab
add a,#30h
movx @dptr,a
inc dptr
mov a,b
add a,#30h
movx @dptr,a
tral62: nop
jnb 00h,1
ret
mov r2,40h
mov r3,41h
mov r4,42h
mov r5,43h
mov r6,44h
mov r7,45h
lcall gadd1 ; R2 R3 R4 + R5 R6 R7 ==> R2 R3 R4 .
lcall trdtw
ret
zhou1: db 20h,52h,44h,32h ; RD2 .
zhou2: db 20h,52h,43h,33h ; RC3 .
zhou3: db 20h,52h,43h,34h ; RC4 .
zhou4: db 20h,52h,44h,33h ; RD3 .
zhou5: db 20h,52h,44h,34h ; RD4 .
zhou6: db 52h,44h,31h,33h ; RD13 .
;
;
SCGRAM: MOV DPTR,ds1225
PUSH A
MOV A,B
ADD A,DPL
MOV DPL,A
POP A
MOVX @DPTR,A
RET
RCGRAM: MOV DPTR,ds1225
MOV A,B
ADD A,DPL
MOV DPL,A
MOVX A,@DPTR
RET
;
LMOVE: MOV R4,A
LMOVL: LCALL RCGRAM
DEC B
LCALL SCGRAM
INC B
INC B
DJNZ R2,LMOVL
MOV A,R4
DEC B
LCALL SCGRAM
RET
;
; 恢復顯示緩區 .
SMOVE: nop
MOV DPTR,ds1225
mov p2,dph
mov r0,dpl
MOV A,#80H
add a,dpl
mov dpl,a
MOV R2,#40H
MOL4: MOVX A,@dptr
MOVX @R0,A
INC R0
INC dptr
DJNZ R2,MOL4
RET
;
; 恢復顯示緩區下半部分 .
resb2: nop
MOV DPTR,ds1225
mov p2,dph
mov a,#20h
add a,dpl
mov r0,a
MOV A,#0a0h
add a,dpl
mov dpl,a
MOV R2,#20H
res2l: MOVX A,@dptr
MOVX @R0,A
INC R0
INC dptr
DJNZ R2,res2l
ret
; clear data input .
SCGCL: nop
MOV DPTR,ds1225
MOV A,B
ADD A,DPL
MOV DPL,A
MOV A,#20H
SCCL1: MOVX @DPTR,A
INC DPTR
DJNZ R2,SCCL1
RET
;
M_BUSY: PUSH DPH
PUSH DPL
PUSH PSW
PUSH A
; mov r5,#5
; mov r6,#100
;lop0: nop
; djnz r6,blop0
; djnz r5,blop0
BLOP1: MOV DPTR,ed1604c
MOVX A,@DPTR
JB ACC.7,BLOP1
POP A
POP PSW
POP DPL
POP DPH
RET
;
TRWTD: MOV R2,#0
MOV R3,#0
MOV R4,#0
MOV DPTR,ds1225
mov a,#39h
add a,dpl
mov dpl,a
MOV R1,#3
TRWL1: MOVX A,@DPTR
CJNE A,#20H,2
MOV A,#30H
CLR C
SUBB A,#30H
LCALL MUL10
INC DPTR
DJNZ R1,TRWL1
INC DPTR
MOV R1,#3
TRWL2: MOVX A,@DPTR
CJNE A,#20H,2
MOV A,#30H
CLR C
SUBB A,#30H
LCALL MUL10
INC DPTR
DJNZ R1,TRWL2
MOV DPTR,ds1225
mov a,#38h
add a,dpl
mov dpl,a
MOVX A,@DPTR
CJNE A,#2DH,TRWL3
MOV A,R2
ORL A,#80H
MOV R2,A
TRWL3: RET
;
TRDTW: MOV A,R2
ANL A,#80H
JZ TRDL1
MOV A,#2DH
SJMP 2
TRDL1: MOV A,#20H
mov r0,a
MOV DPTR,ds1225
mov a,#38h
add a,dpl
mov dpl,a
mov a,r0
MOVX @DPTR,A
MOV A,R2
ANL A,#7FH
MOV R2,A
MOV DPTR,ds1225
mov a,#3fh
add a,dpl
mov dpl,a
MOV R1,#3
TRDL2: LCALL DIV10
ORL A,#30H
MOVX @DPTR,A
DEC DPL
DJNZ R1,TRDL2
MOV A,#2EH
MOVX @DPTR,A
DEC DPL
MOV R1,#3
TRDL3: LCALL DIV10
ORL A,#30H
MOVX @DPTR,A
DEC DPL
DJNZ R1,TRDL3
MOV DPTR,ds1225
mov a,#39h
add a,dpl
mov dpl,a
MOV R2,#2
TRDL4: MOVX A,@DPTR
CJNE A,#30H,TRDL5
MOV A,#20H
MOVX @DPTR,A
INC DPTR
DJNZ R2,TRDL4
TRDL5: RET
;
TRWTD1: MOV R2,#0
MOV R3,#0
MOV R4,#0
MOV DPTR,ds1225
mov a,#3ah
add a,dpl
mov dpl,a
MOV R1,#6
TRWL11: MOVX A,@DPTR
CJNE A,#20H,2
MOV A,#30H
CLR C
SUBB A,#30H
LCALL MUL10
INC DPTR
DJNZ R1,TRWL11
MOV DPTR,ds1225
mov a,#39h
add a,dpl
mov dpl,a
MOVX A,@DPTR
CJNE A,#2DH,TRWL13
MOV A,R2
ORL A,#80H
MOV R2,A
TRWL13: RET
;
TRDTW1: MOV A,R2
ANL A,#80H
JZ TRDL11
MOV A,#2DH
SJMP 2
TRDL11: MOV A,#20H
MOV DPTR,ds1225
mov a,#39h
add a,dpl
mov dpl,a
MOVX @DPTR,A
MOV A,R2
ANL A,#7FH
MOV R2,A
MOV DPTR,ds1225
mov a,#3fh
add a,dpl
mov dpl,a
MOV R1,#6
TRDL12: LCALL DIV10
ORL A,#30H
MOVX @DPTR,A
DEC DPL
DJNZ R1,TRDL12
MOV DPTR,ds1225
mov a,#3ah
add a,dpl
mov dpl,a
MOV R2,#5
TRDL13: MOVX A,@DPTR
CJNE A,#30H,TRDL14
MOV A,#20H
MOVX @DPTR,A
INC DPTR
DJNZ R2,TRDL13
TRDL14: RET
;
MUL10: MOV R5,A ; R2 R3 R4 * 10 + A ==> R2 R3 R4 .
CLR C
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -