?? glqlgdc1.asm
字號:
jnb f_ini,rarea04
rarea01: mov @r0,#0
inc r0
djnz r2,rarea01
sjmp rq004
rarea03: dec a
mov dptr,#area_offset
mov b,#hedlen
mul ab
add a,dpl
mov dpl,a
mov a,b
addc a,dph
mov dph,a
mov r0,#b_buf
mov reclen,#hedlen
inc reclen
mov r2,#hedlen
rarea04: movx a,@dptr
mov @r0,a
lcall indptr
inc r0
djnz r2,rarea04
;
rq004: mov r1,#tihed
mov r0,#b_buf
mov a,reclen
dec a
mov b,#16
div ab
jnz rarea05
mov subsq,#0
sjmp rarea0b
rarea05: mov r2,b
inc a
cjne r2,#0,rarea06
dec a
rarea06: cjne a,subsq,rarea07
mov subsq,#0
dec a
swap a
sjmp rarea0a
rarea07: jnc rarea08
mov subsq,#0
dec a
swap a
sjmp rarea0a
rarea08: mov a,subsq
jnz rarea09
inc subsq
inc a
rarea09: dec a
swap a
;
rarea0a: add a,r0
mov r0,a
rarea0b: mov a,#20h
orl a,subsq
mov @r1,a
inc r1
mov @r1,#0
;
mov r1,#tidat
mov r2,#16
lcall copy_s
;
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
r_area1: ;------------------
; Read Region 1,2
;------------------
lcall quhead
;
inc r0
mov rec_h,@r0
inc r0
mov rec_l,@r0
mov a,rec_h
cjne a,max_h,rarea10
mov a,rec_l
cjne a,max_l,rarea10
rarea10: jc rarea13
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,#0
;
mov r0,#tidat
dec r0
dec r0
mov @r0,#0ffh
inc r0
mov @r0,#0ffh
inc r0
mov @r0,#over
inc r0
mov r2,#15
rarea11: mov @r0,#0
inc r0
djnz r2,rarea11
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
rarea13: lcall get_ar
;
mov r2,reclen
dec r2
dec r2
mov r0,#b_buf
movx a,@dptr
anl a,#7fh
mov @r0,a
lcall indptr
inc r0
rarea14: movx a,@dptr
mov @r0,a
lcall indptr
inc r0
djnz r2,rarea14
;
mov r1,#tihed
mov r0,#b_buf
mov a,reclen
dec a
mov b,#16
div ab
jnz rarea15
mov subsq,#0
sjmp rarea1b
rarea15: mov r2,b
inc a
cjne r2,#0,rarea16
dec a
rarea16: cjne a,subsq,rarea17
mov subsq,#0
dec a
swap a
sjmp rarea1a
rarea17: jnc rarea18
mov subsq,#0
dec a
swap a
sjmp rarea1a
rarea18: mov a,subsq
jnz rarea19
inc subsq
inc a
rarea19: dec a
swap a
;
rarea1a: add a,r0
mov r0,a
rarea1b: mov a,#20h
orl a,subsq
mov @r1,a
inc r1
mov @r1,#0
;
mov r1,#tidat
mov r2,#16
lcall copy_s
;
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
r_area3: ;----------------
; Read Region 3
;----------------
lcall quhead
;
inc r0
mov rec_h,@r0
cjne @r0,#0ffh,rarea30
inc r0
mov rec_l,@r0
cjne @r0,#0ffh,rarea31
sjmp rarea32
rarea30: inc r0
mov rec_l,@r0
rarea31: ljmp r_q30
rarea32: ;--------------------
; Squence Read
;--------------------
mov a,beg_h
cjne a,end_h,rarea34
mov a,beg_l
cjne a,end_l,rarea34
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,repeat
;
mov r0,#tidat
mov r2,#16
rarea33: mov @r0,#0
inc r0
djnz r2,rarea33
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
rarea34: mov a,beg_h
cjne a,max_h,rarea35
mov a,beg_l
cjne a,max_l,rarea35
rarea35: jc rarea36
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,repeat
;
mov r0,#tidat
mov @r0,#over
inc r0
mov r2,#15
rq333: mov @r0,#0
inc r0
djnz r2,rq333
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
;
rarea36: mov r0,#tidat
dec r0
dec r0
mov @r0,beg_h
inc r0
mov @r0,beg_l
;
mov rec_h,beg_h
mov rec_l,beg_l
;
lcall get_ar
;======================modify
mov r0,#tidat
movx a,@dptr
mov b,a
mov c,acc.6
mov bit_c,c
anl a,#10111111b ;將ACC.6屏蔽
mov @r0,a
inc r0
lcall indptr
;======================modify
mov r2,reclen
dec r2
dec r2
rarea37: movx a,@dptr
mov @r0,a
add a,b
mov b,a
inc r0
lcall indptr
djnz r2,rarea37
;
jnb bit_c,r_q38 ;若bit_c=0:轉r_q38
;若bit_c=1:(要判記錄校驗和)
movx a,@dptr
cjne a,b,rarea38
r_q38: mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,repeat
lcall chktis
inc repeat
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
rarea38: mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,repeat
mov r0,#tidat
dec r0
dec r0
mov @r0,#0ffh
inc r0
mov @r0,#0ffh
inc r0
mov @r0,#cserr
inc r0
mov r2,#15
rarea39: mov @r0,#0
inc r0
djnz r2,rarea39
lcall chktis
inc repeat
mov ticon,#49
mov tir0,#tibuf
setb ti
setb f_ecs
mov r_ecs,#3
ret
r_q30: ;----------------------
; Special Record Read
;----------------------
mov a,rec_h
cjne a,max_h,r_q32
mov a,rec_l
cjne a,max_l,r_q32
r_q32: jc r_q34
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,repeat
;
mov r0,#tidat
dec r0
dec r0
mov @r0,#0ffh
inc r0
mov @r0,#0ffh
inc r0
mov @r0,#over
inc r0
mov r2,#15
r_q33: mov @r0,#0
inc r0
djnz r2,r_q33
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
r_q34: lcall get_ar
;
mov r0,#tidat
movx a,@dptr
anl a,#7fh
mov @r0,a
lcall indptr
inc r0
mov r2,reclen
dec r2
dec r2
r_q35: movx a,@dptr
mov @r0,a
inc r0
lcall indptr
djnz r2,r_q35
;
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,#0
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
r_area4: ;------------------
; Read Region 4,6
;------------------
lcall quhead
;
inc r0
mov rec_h,@r0
inc r0
mov rec_l,@r0
lcall get_ar
;
mov r2,reclen
dec r2
mov r0,#b_buf
rarea41: movx a,@dptr
mov @r0,a
lcall indptr
inc r0
djnz r2,rarea41
;
mov r1,#tihed
mov r0,#b_buf
mov a,reclen
dec a
mov b,#16
div ab
jnz rarea42
mov subsq,#0
sjmp rarea49
rarea42: mov r2,b
inc a
cjne r2,#0,rarea43
dec a
rarea43: cjne a,subsq,rarea44
mov subsq,#0
dec a
swap a
sjmp rarea48
rarea44: jnc rarea46
mov subsq,#0
dec a
swap a
sjmp rarea48
rarea46: mov a,subsq
jnz rarea47
inc subsq
inc a
rarea47: dec a
swap a
;
rarea48: add a,r0
mov r0,a
rarea49: mov a,#20h
orl a,subsq
mov @r1,a
inc r1
mov @r1,#0
;
mov r1,#tidat
mov r2,#16
lcall copy_s
;
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
r_area5: ;-----------------
; Read Region 5
;-----------------
lcall quhead
;
mov r0,#ridat
mov r3,#16
rqu51: mov rec_h,#0
mov rec_l,#0
lcall get_ar
;
mov a,@r0
mov r2,a
jz rqu53
lcall n_dptr
rqu53: movx a,@dptr
mov @r0,a
inc r0
djnz r3,rqu51
;
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,#0
;
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
;----------------------------------
; read region 7 增加讀7區功能
;----------------------------------
r_area7:lcall quhead7 ;調用區7頭信息
inc r0
mov rec_h,@r0
inc r0
mov rec_l,@r0
mov a,rec_h
cjne a,max_h,rarea70
mov a,rec_l
cjne a,max_l,rarea70
rarea70:jc rarea73 ;記錄號<=記錄總數,轉rarea73
;記錄號>記錄總數
mov r0,#tihed
mov @r0,#20h ;command=20h
inc r0
mov @r0,#0 ;repeat=0
mov r0,#tidat
dec r0
dec r0
mov @r0,#0ffh ;record(h)=0ffh
inc r0
mov @r0,#0ffh ;record(l)=0ffh
inc r0
mov @r0,#over ;;data(0)=16
inc r0
mov r2,#15
rarea71:mov @r0,#0
inc r0
djnz r2,rarea71 ;data(1-15)=0
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
rarea73:lcall get_ar ;確定記錄號所在地址
mov r0,#tidat
mov r2,reclen
dec r2
rarea75:movx a,@dptr
mov @r0,a
inc r0
lcall indptr
djnz r2,rarea75 ;將10字節的內容送tidat起單元
mov r0,#tihed
mov @r0,#20h ;command=20h
inc r0
mov @r0,#0 ;repeat=0
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti ;串行口發送至PC
ret
;----------------------
;read 8 qu(信用等級區)
;----------------------
r_area8:lcall quhead ;調用區8頭信息
inc r0
mov rec_h,@r0 ;record(h)-->rec_h
inc r0
mov rec_l,@r0 ;record(l)-->rec_l
mov a,rec_h
cjne a,max_h,rarea80
mov a,rec_l
cjne a,max_l,rarea80
rarea80:jc rarea83 ;記錄號<=記錄總數,轉rarea83
;記錄號>記錄總數
mov r0,#tihed
mov @r0,#20h ;command=20h
inc r0
mov @r0,#0 ;repeat=0
mov r0,#tidat
dec r0
dec r0
mov @r0,#0ffh ;record(h)=0ffh
inc r0
mov @r0,#0ffh ;record(l)=0ffh
inc r0
mov @r0,#over ;;data(0)=16
inc r0
mov r2,#15
rarea81:mov @r0,#0
inc r0
djnz r2,rarea81 ;data(1-15)=0
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
rarea83:lcall get_ar ;確定記錄號所在地址
mov r0,#tidat
mov r2,reclen ;reclen=3
dec r2
rarea85:movx a,@dptr
mov @r0,a
inc r0
lcall indptr
djnz r2,rarea85 ;將2字節的內容送tidat起單元
mov r0,#tihed
mov @r0,#20h ;command=20h
inc r0
mov @r0,#0 ;repeat=0
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti ;串行口發送至PC
ret
;----------------------
; Read GLQ Date && Time
;----------------------
r_date_time: mov r1,#tidat
mov r0,#dyer
mov r2,#7
lcall copy_s
mov r2,#9
rdck0: mov @r1,#0
inc r1
djnz r2,rdck0
mov r0,#tihed
mov @r0,#20h
inc r0
mov @r0,#0
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
;----------------------
; Read Post Date && Time
;----------------------
r_pos_date: setb f_wck
mov r0,#tidat
dec r0
mov r_win,@r0
setb tr1
ret
;----------------------
; Read Post Param
;----------------------
r_pos_idsc: mov a,subsq
cjne a,#1,pst_0
setb f_win
mov r0,#tidat
dec r0
mov r_win,@r0
setb tr1
ret
pst_0: mov r1,#tihed
mov @r1,#20h
inc r1
mov @r1,#0
mov r1,#tidat
mov a,#b_buf
add a,#16
mov r0,a
mov r2,#16
lcall copy_s
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
;----------------------
; Read Card
; region=0a2: Read Card
;----------------------
card_server: inc r0
cjne @r0,#0a2h,rcd02
mov a,subsq
cjne a,#1,rcd05
setb f_s00
mov r_s00,#19
setb tr1
ret
rcd02: setb f_tx
ret
rcd05: mov a,#b_buf
add a,#18
mov r0,a
;
mov r1,#tihed
mov a,@r1
mov @r1,#20h
;
inc r1
mov @r1,#0 ;Repeat
;
inc r1 ;ChipS
;
inc r1 ;Region
;
inc r1 ;RecordNum
;
mov r2,#18
lcall copy_s
lcall chktis
mov ticon,#49
mov tir0,#tibuf
setb ti
ret
;---------------------
; Special Read
;---------------------
special_read: inc r0
mov a,@r0
anl a,#0fh
mov region,a
rl a
add a,region
mov dptr,#rrdtab
jmp @a+dptr
rrdtab: ljmp read50
ljmp read51
ljmp read52
ljmp read59
ljmp read59
ljmp read59
ljmp read59
ljmp read59
ljmp read59
read59: setb f_tx
ret
read50: ;----------------------
; Read Special Region 0
;----------------------
inc r0
inc r0
mov a,@r0
jz rd_qu0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -