?? cwprt.asm
字號(hào):
; 西文字符寫(xiě)入子程序CW_PR(適應(yīng)MGLS19264)
; 占用內(nèi)部資源:O_XL,O_YL,CODE,COUNT1,A,B,DPTR
; 內(nèi)部調(diào)用子程序:PR1,PR2,PR4,PR5,PR7,PR8
; 連接字庫(kù): CHTAB
; 程序調(diào)用入口: CW_PR
; 程序輸入變量: O_XL,O_YL,CODE
CW_PR: MOV DPTR,#CHTAB ; 確定字符字模塊首地址
MOV A,CODE ; 取代碼
MOV B,#08H ; 字模塊寬度為8個(gè)字節(jié)
MUL AB ; 代碼x8
ADD A,DPL ; 字符字模塊首地址
MOV DPL,A ; = 字模庫(kù)首地址 + 代碼x 8
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV CODE,#00H ; 借用為間址寄存器
MOV A,O_YL ; 讀頁(yè)地址寄存器
JB ACC.7,CW_1 ; 判字符體
MOV COUNT1,#06H ; 6x8點(diǎn)陣
LJMP CW_2
CW_1: MOV COUNT1,#08H ; 8x8點(diǎn)陣
CW_2: ANL A,#07H ; 取頁(yè)地址值
ORL A,#0B8H ; "或"頁(yè)地址指令代碼
MOV COM,A ; 寫(xiě)頁(yè)地址指針
LCALL PR1
LCALL PR4
LCALL PR7
MOV A,O_XL ; 讀列地址寄存器
CLR C
SUBB A,#40H ; 列地址-64
JC CW_3 ; 〈0為左屏顯示區(qū)域
MOV O_XL,A ;
SUBB A,#40H ; 列地址-64
JC CW_21 ; <0為中屏顯示區(qū)域
MOV O_XL,A ; ≥0為右屏顯示區(qū)域
MOV A,O_YL
SETB ACC.5 ; 設(shè)置區(qū)域標(biāo)志位.
MOV O_YL,A ; "00"為左,"01"為中,"10"為右
LJMP CW_3
CW_21: MOV A,O_YL
SETB ACC.4 ;設(shè)置區(qū)域標(biāo)志位
MOV O_YL,A
CW_3: MOV COM,O_XL ; 設(shè)置列地址值
ORL COM,#40H ; "或"列地址指令標(biāo)志位
MOV A,O_YL ; 判區(qū)域標(biāo)志以確定設(shè)置哪個(gè)控制器
ANL A,#30H
CJNE A,#10H,CW_31 ; "01"為中區(qū)
LCALL PR4 ;
LJMP CW_4
CW_31: CJNE A,#20H,CW_32 ; "10"為右區(qū)
LCALL PR7
LJMP CW_4
CW_32: LCALL PR1 ; "00"為左區(qū)
CW_4: MOV A,CODE ; 取間址寄存器值
MOVC A,@A+DPTR ; 取字符字模數(shù)據(jù)
MOV DAT1,A ; 寫(xiě)數(shù)據(jù)
MOV A,O_YL ; 判區(qū)域標(biāo)志
ANL A,#30H
CJNE A,#10H,CW_41 ; "01"為中區(qū)
LCALL PR5 ;
LJMP CW_5
CW_41: CJNE A,#20H,CW_42 ; "10"為右區(qū)
LCALL PR8
LJMP CW_5
CW_42: LCALL PR2 ; "00"為左區(qū)
CW_5: INC CODE ; 間址加1
INC O_XL ; 列地址加1
MOV A,O_XL ; 判列地址是否超出區(qū)域范圍
CJNE A,#40H,CW_6
CW_6: JC CW_9 ; 未超出則繼續(xù)
MOV O_XL,#00H ;
MOV A,O_YL ; 超出則判在何區(qū)域
JB ACC.5,CW_91 ; 在右區(qū)域則退出
JB ACC.4,CW_61 ; 判在左或中區(qū)
SETB ACC.4 ; 在左區(qū)則轉(zhuǎn)中區(qū)
MOV O_YL,A
MOV COM,#40H ; 設(shè)置中區(qū)列地址為"0"
LCALL PR4
LJMP CW_9
CW_61: SETB ACC.5 ; 在中區(qū)則轉(zhuǎn)右區(qū)
CLR ACC.4
MOV O_YL,A
MOV COM,#40H ; 設(shè)置右區(qū)列地址為"0"
LCALL PR7
CW_9: DJNZ COUNT1,CW_4 ; 循環(huán)
CW_91: RET
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -