?? handler.asm
字號:
; *************************************
; * SED1330 CONTROLLER TEST *
; * LARGE SCREEN MODULE *
; * TEST FOR 320240 *
; * 98.11.9 OF WHY *
; *************************************
OXL EQU 34H ; X 坐標低8 位寄存器(字節)
OY EQU 36H ; Y 坐標寄存器(點行)
CODE EQU 37H ; 漢字代碼
AP EQU 28H ; AP 值為SYSTEM SET 指令參數P9,每行字節數
COUNT1 EQU 32H ; 計數器1
COUNT2 EQU 33H ; 計數器2
WC_ADD EQU 7FFFH ; 寫指令代碼地址
WD_ADD EQU 7EFFH ; 寫參數及顯示數據地址
;RD_ADD EQU 7FFFH ; 讀參數及顯示數據地址
;RB_ADD EQU 7EFFH ; 讀忙狀態地址
ORG 0000H
START: LCALL INTR
LCALL CLEAR
L1:MOV OXL,#00H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#00H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#02H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#01H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#04H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#02H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#06H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#03H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#08H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#04H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#0aH ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#05H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#0cH ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#06H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#0eH ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#07H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#10H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#08H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#12H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#09H ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#14H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#0aH ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
MOV OXL,#16H ; 設置X 坐標
MOV OY,#00H ; 設置Y 坐標
MOV CODE,#0bH ; 設置漢字代碼
LCALL CCTW ; 調漢字寫入子程序
HERE: lJMP L1
;INITIAZATION
INTR: MOV DPTR,#WC_ADD ; 設置寫指令代碼地址
MOV A,#40H ; SYSTEM SET 代碼
MOVX @DPTR,A ; 寫入指令代碼
MOV COUNT1,#00H ; 設置計數器COUNT=0
INTR1: MOV DPTR,#SYSTAB ; 設置指令參數表地址
MOV A,COUNT1 ; 取參數
MOVC A,@A+DPTR
MOV DPTR,#WD_ADD ; 設置寫參數及數據地址
MOVX @DPTR,A ; 寫入參數
INC COUNT1 ; 計數器加一
MOV A,COUNT1
CJNE A,#08H,INTR1 ; 循環
MOV DPTR,#WC_ADD ; 設置寫指令代碼地址
MOV A,#44H ; SCROLL 代碼
MOVX @DPTR,A ; 寫入指令代碼
MOV COUNT1,#00H ; 設置計數器COUNT=0
INTR2: MOV DPTR,#SCRTAB ; 設置指令參數表地址
MOV A,COUNT1 ; 取參數
MOVC A,@A+DPTR
MOV DPTR,#WD_ADD ; 設置寫參數及數據地址
MOVX @DPTR,A ; 寫入參數
INC COUNT1
MOV A,COUNT1 ; 計數器加一
CJNE A,#0AH,INTR2 ; 循環
MOV DPTR,#WC_ADD ; 設置寫指令代碼地址
MOV A,#5AH ; HDOT SCR 代碼
MOVX @DPTR,A ; 寫入指令代碼
MOV DPTR,#WD_ADD ; 設置寫參數及數據地址
MOV A,#00H ; 設置參數P1
MOVX @DPTR,A ; 寫入參數
MOV DPTR,#WC_ADD ; 設置寫指令代碼地址
MOV A,#5BH ; OVLAY 代碼
MOVX @DPTR,A ; 寫入指令代碼
MOV DPTR,#WD_ADD ; 設置寫參數及數據地址
MOV A,#0cH ; 設置參數:顯示一,三區為文本屬性
MOVX @DPTR,A ; 二重"或"合成
LCALL CLEAR ; 調清顯示RAM 子程序
MOV DPTR,#WC_ADD ; 設置寫指令代碼地址
MOV A,#59H ; DISP ON/OFF 代碼
MOVX @DPTR,A ; 寫入指令代碼
MOV DPTR,#WD_ADD ; 設置寫參數及數據地址
MOV A,#54H ; 設置參數:顯示一四區開顯示
MOVX @DPTR,A ; 光標關顯示
RET
;CLEAR DISPLAY SUBROUTINE
CLEAR: MOV DPTR,#7fffH
MOV A,#4CH;光標右移
MOVX @DPTR,A
MOV A,#46H;光標指針首地址設置2個參數
MOVX @DPTR,A
MOV DPTR,#7effH
MOV A,#00H
MOVX @DPTR,A;0000h開始
MOVX @DPTR,A
MOV R1,#02H
MOV R2,#0F0H
MOV R3,#028H
MOV DPTR,#7fffH
MOV A,#42H;數據寫入設置
MOVX @DPTR,A
MOV A,#00H
CLEAR0: MOV DPTR,#7effH
MOVX @DPTR,A
DJNZ R3,CLEAR0
DJNZ R2,CLEAR0
DJNZ R1,CLEAR0
;820添加
MOV DPTR,#7fffH
MOV A,#4fH
MOVX @DPTR,A
RET
CCTW: MOV A,CODE ; 計算漢字字模數據首地址
MOV B,#20H
MUL AB
MOV DPTR,#CCTAB1 ; 漢字庫入口地址
ADD A,DPL
PUSH ACC ; 入棧DPL
MOV A,B
ADDC A,DPH
PUSH ACC ; 入棧DPH
MOV A,OY ; 計算光標地址
MOV B,#AP ; 在計算時假定AP 值等于SYSTEM SET 指令P9
MUL AB ; 而P10=0
ADD A,OXL
;*8.21添加
ADD A,#80H;加顯示二區起始地址低字節SAD2L
MOV OXL,A ; 存光標地址低字節
MOV A,B
ADDC A,#25H ; 加入顯示二區起始地址高字節SAD2H
MOV OY,A ; 存光標地址高字節
MOV DPTR,#7FFFH
MOV A,#4FH ; CSRDIR 代碼(下移)
MOVX @DPTR,A
MOV COUNT1,#02H ; 設置計數器1=2
CCTW1: MOV DPTR,#7FFFH
MOV A,#46H ; CSRW 代碼
MOVX @DPTR,A
MOV DPTR,#7EFFH
MOV A ,OXL ; 設置光標地址CSR
MOVX @DPTR,A
MOV A,OY
MOVX @DPTR,A
MOV DPTR,#7FFFH
MOV A,#42H ; MWRITE 代碼
MOVX @DPTR,A
MOV COUNT2,#10H ; 設置計數器2=16
CCTW2: POP DPH ; 出棧DPH
POP DPL ; 出棧DPL
CLR A
MOVC A,@A+DPTR ; 取字模數據
INC DPTR ; 指針加一
PUSH DPL ; 入棧DPL
PUSH DPH ; 入棧DPH
MOV DPTR,#7EFFH
MOVX @DPTR,A ; 寫入數據
DJNZ COUNT2,CCTW2 ; 循環
MOV A,OXL ; 修正光標地址
ADD A,#01H ; (加一)
MOV OXL,A
MOV A,OY
ADDC A,#00H
MOV OY,A
DJNZ COUNT1,CCTW1;循環
POP ACC ; 修正棧值
POP ACC
RET
CCTAB1:
DB 000H 000H 000H 0F0H 091H 092H 09CH 093H;
DB 090H 0F3H 092H 082H 002H 002H 003H 002H;
DB 000H 040H 040H 0A0H 018H 00EH 004H 0F8H;
DB 000H 0F8H 008H 008H 008H 008H 0F8H 008H;"哈",0
DB 000H 004H 006H 008H 00FH 011H 020H 044H;
DB 006H 004H 008H 010H 020H 040H 000H 002H;
DB 000H 000H 000H 000H 0FEH 004H 088H 080H;
DB 0A0H 090H 088H 08CH 088H 080H 080H 080H;"爾",1
DB 000H 040H 020H 027H 084H 040H 001H 011H;
DB 011H 021H 021H 0C7H 040H 040H 041H 042H;
DB 000H 040H 020H 0FEH 004H 038H 0C0H 000H;
DB 0FCH 010H 010H 0FEH 000H 010H 008H 004H;"濱",2
DB 000H 000H 03FH 001H 001H 001H 001H 001H;
DB 001H 001H 001H 001H 001H 001H 0FFH 000H;
DB 000H 000H 0FCH 000H 000H 000H 000H 000H;
DB 000H 000H 000H 000H 000H 000H 0FEH 000H;"工",3
DB 00DH 071H 011H 011H 0FDH 011H 030H 03BH;
DB 054H 050H 093H 010H 010H 010H 017H 010H;
DB 0F8H 008H 008H 008H 008H 0F8H 000H 0FCH;
DB 040H 040H 0FCH 040H 040H 040H 0FEH 000H;"程",4
DB 001H 001H 001H 001H 001H 0FFH 001H 002H;
DB 002H 002H 004H 004H 008H 010H 020H 040H;
DB 000H 000H 000H 000H 000H 0FEH 000H 080H;
DB 080H 040H 040H 020H 010H 018H 00EH 004H;"大",5
DB 001H 010H 00CH 008H 07FH 040H 08FH 000H;
DB 000H 07FH 000H 000H 000H 000H 002H 001H;
DB 008H 08CH 0C8H 090H 0FEH 004H 0E8H 040H;
DB 080H 0FEH 080H 080H 080H 080H 080H 000H;"學",6
DB 000H 000H 000H 004H 00CH 014H 024H 024H;
DB 044H 044H 07EH 004H 004H 01EH 000H 000H;"4",0
DB 000H 000H 000H 010H 070H 010H 010H 010H;
DB 010H 010H 010H 010H 010H 07CH 000H 000H;"1",1
DB 000H 000H 000H 010H 070H 010H 010H 010H;
DB 010H 010H 010H 010H 010H 07CH 000H 000H;"1",2
DB 008H 008H 07FH 00AH 0FFH 008H 010H 03EH;
DB 0C4H 008H 00FH 0F8H 008H 008H 02BH 010H;
DB 020H 020H 020H 07EH 0C4H 044H 0C4H 048H;
DB 028H 028H 010H 010H 028H 0C8H 006H 004H;"教",3
DB 000H 0FDH 010H 010H 020H 020H 07BH 068H;
DB 0A8H 028H 028H 029H 039H 022H 004H 008H;
DB 000H 0FEH 088H 088H 088H 088H 0FEH 088H;
DB 088H 088H 088H 008H 008H 008H 008H 008H;"研",4
DB 002H 001H 03FH 020H 040H 03FH 004H 008H;
DB 01FH 001H 001H 03FH 001H 001H 0FFH 000H;
DB 000H 000H 0FEH 004H 008H 0FCH 000H 020H;
DB 0F0H 010H 000H 0F8H 000H 000H 0FEH 000H;"室",5
DB 001H 001H 0FFH 001H 002H 03FH 024H 022H;
DB 02FH 021H 03FH 021H 021H 021H 021H 000H;
DB 000H 004H 0FEH 000H 000H 0FCH 024H 044H;
DB 0F4H 004H 0FCH 004H 004H 014H 008H 000H;"南",0
DB 000H 07FH 004H 004H 004H 004H 0FFH 004H;
DB 004H 004H 008H 008H 010H 020H 040H 000H;
DB 000H 0FEH 020H 020H 020H 020H 0FEH 020H;
DB 020H 020H 020H 020H 020H 020H 020H 000H;"開",1
DB 000H 002H 002H 002H 002H 002H 03EH 002H;
DB 002H 002H 002H 006H 01AH 072H 022H 002H;
DB 000H 020H 020H 020H 022H 027H 02CH 030H;
DB 020H 020H 020H 020H 021H 021H 021H 01FH;"北",0
DB 000H 001H 000H 03FH 000H 000H 00FH 008H;
DB 008H 00FH 000H 004H 00CH 018H 020H 002H;
DB 000H 000H 084H 0FEH 000H 000H 0F8H 008H;
DB 008H 0F8H 080H 098H 08CH 086H 084H 080H;"京",1
DB 000H,040H,037H,010H,083H,060H,02FH,008H ;清
DB 013H,022H,0E3H,022H,023H,022H,022H,022H
DB 040H,048H,0FCH,040H,0F8H,040H,0FEH,008H
DB 0FCH,008H,0F8H,008H,0F8H,008H,028H,010H
DB 80H, 00H, 80H, 00H, 80H, 00H, 80H, 00H
DB 0ffH,0ffH, 80H, 40H, 80H, 40H,0a0H, 23H
DB 90H, 04H, 88H, 08H, 84H, 10H, 86H, 20H
DB 80H, 60H,0c0H, 20H, 80H, 00H, 00H, 00H
;(c9b3H)(沙)(8001)
DB 10H, 04H, 20H, 04H, 62H,0feH, 04H, 01H
DB 8cH, 80H, 00H, 81H,0c0H, 40H, 30H, 40H
DB 00H, 20H,0ffH, 17H, 00H, 08H, 10H, 04H
DB 20H, 03H, 40H, 00H,0c0H, 00H, 00H, 00H
; * @0 哈(16x16,V)@ [suki software]*
DB 080H,000H, 040H,001H, 02FH,0FEH, 018H,00CH
DB 008H,008H, 00CH,018H, 01FH,0FCH, 001H,0C0H
DB 001H,080H, 003H,04FH, 006H,068H, 03CH,058H
DB 068H,048H, 018H,04CH, 024H,08AH, 042H,09FH
DB 080H,000H, 040H,009H, 020H,01AH, 012H,014H
DB 03EH,01CH, 026H,032H, 022H,061H, 023H,0C0H
DB 023H,083H, 023H,07CH, 022H,020H, 026H,011H
DB 03EH,07FH, 032H,045H, 020H,043H, 040H,041H
DB 004H,004H,008H,008H,018H,029H,04AH,008H ;華
DB 009H,001H,0FFH,001H,001H,001H,001H,001H
DB 040H,048H,058H,060H,0C0H,040H,044H,044H
DB 03CH,000H,0FEH,000H,000H,000H,000H,000H
DB 004H,0FFH,005H,041H,033H,014H,001H,0F6H ;蓬
DB 01BH,010H,013H,010H,017H,010H,028H,047H
DB 044H,0FEH,040H,0F8H,010H,0E0H,018H,046H
DB 0F8H,040H,0F8H,040H,0FCH,040H,046H,0FCH
DB 000H,043H,030H,010H,000H,007H,0F1H,011H ;遠
DB 011H,011H,012H,012H,014H,028H,047H,000H
DB 010H,0F8H,000H,000H,008H,0FCH,020H,020H
DB 020H,024H,024H,01CH,000H,006H,0FCH,000H
ADATA: DB 0FFH,000H,0FFH,000H,0FFH,000H,0FFH,000H
DB 000H,0FFH,000H,0FFH,000H,0FFH,000H,0FFH
DB 055H,055H,055H,055H,055H,055H,055H,055H
DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH
DB 0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH,0CCH
DB 033H,033H,033H,033H,033H,033H,033H,033H
DB 01EH,012H,01EH,012H,01EH,012H,022H,000H
DB 004H,00FH,014H,00EH,005H,01EH,004H,000H
DB 008H,00FH,012H,00FH,00AH,01FH,002H,002H
DB 00EH,011H,001H,00DH,015H,015H,00EH,000H
TAB1: DB 030H,087H,007H,027H,042H,0F0H,028H,000H
TAB2: DB 000H,000H,0F0H,080H,025H,0F0H,000H,04BH,080H,070H
SYSTAB:DB 030H,087H,007H,028H,02cH,0F0H,028H,000H; P1-P8 參數
SCRTAB:DB 000H,000H,0F0H,080H,025H,0F0H,000H,04BH,080H,070H; P1-P10 參數
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -