📄 test.asm
字号:
.title "test.asm"
.include "vector.inc"
.mmregs
.text
main: ;1.设置EA6-EA0为0页,LCD_Reg初始化.
;将0x0000h赋给1354高位地址,设置M/R=0
nop
nop
LD #100h,DP ;设置DP=128, DATA起始地址4000h
nop
nop
ST 0000h,0h
nop
nop
PORTW 0h,0x8000 ;将#0000h赋给I/O空间的8000地址
nop
nop
LD #80h,DP ;#寄存器设置
nop
nop
nop
nop
ST 0100h,1Bh ; 1b,开放主机接口half frame buffer disable
nop
nop
ST 8000h,23h ; disable the display FIFO
nop
nop
ST 3000h,01h
nop
nop
ST 24h,22h ;perfomance enhancement
nop
nop
ST 25h,02h ;/*0010,0101*/0025,16位彩色单 TFT平板;001c ,8bitTFT
nop
nop
ST 0000h,03h ;/*0010,0101*/0025,16位彩色单 TFT平板;001c ,8bitTFT
nop
nop
ST 4Fh,04h ;Horizontal Display Width(HDP)-640pix
nop
nop
ST 1300h,05h
nop
nop
ST 06h,06h ;640*480
nop
nop
ST 0700h,07h ;640*480
nop
nop
ST 0DFh,08h ;640*480
nop
nop
ST 0100h,09h ;垂直
nop
nop
ST 2Dh,0Ah ;垂直非显示周期
nop
nop
ST 0000h,0Bh ;VSYNC起始位置
nop
nop
ST 02h,0Ch; VSYNC极性和脉宽设置
nop
nop
ST 0FFh,0Eh
nop
nop
ST 0300h,0Fh
nop
nop
ST 00h,10h
nop
nop
ST 0000h,11h
nop
nop
ST 00h,12h
nop
nop
ST 0000h,13h
nop
nop
ST 00h,14h
nop
nop
ST 0800h,15h
nop
nop
ST 80h,16h
nop
nop
ST 0200h,17h
nop
nop
ST 0500h,19h
nop
nop
ST 00h,1Ah
nop
nop
;ST 00h,20h
nop
nop
;ST 8000h,21h
nop
nop
ST 00h,24h
nop
nop
;ST 0000h, 27h
ST 1000h,23h
nop
nop
ST 1500h,0Dh ;yuanlai1500 15位
nop
nop
;j: b j
;显示程序 ;640*480 R,F800h;G,07E0;B,001F
;初始化
;;LD #100h,DP ;设置DP=128, DATA起始地址4000h
nop
nop
;;;ST 0000h,0
;;ST 0080h,2h;sed1354显示RAM存储器
;;ST 0280h,10h ;显示列数
;;ST 01DFh,12h ;显示行数-1
;;LD #0000h,B ;B
;显示开始
;;c: PORTW 2h,8000h
;;ST 0h,14h
;;MVDM 8012h,BRC
;; LD #0000h,A
;; nop
nop
;; RPTB sent_data
nop
nop
nop
nop
nop
;; add B,10,A ;16bit
nop
nop
;; and #3FFFh,A
nop
nop
;; add #4000h,A; 低十六位地址
nop
nop
;;STLM A,AR2
nop
nop
;; ST 007Fh,*AR2
;;and #03FFh,A
nop
nop
;; add #0001,A
nop
nop
;;sent_data: nop
;;nop
;; add #1,B
;; LD #0080h,A
;; nop
;; nop
;; add B,-4,A
;; STL A,2h
;; nop
;; nop
;;LD B,A
;; nop
;;nop
;; sub #027Fh,A
;; nop
;;nop
;; bc c, ANEQ
;n: BITF 0Ah,0080h
; BC n, NTC ;垂直非显示周期跳出
;n: BITF 0Ah,0080h
nop
nop
;BC n, NTC ;垂直非显示周期跳出
LD #100h,DP
nop
nop
LD #0080h,B
nop
nop
nop
ST 3FFFh,6h;3FFF,2FFf
nop
nop
h: STL B, 2h
nop
nop
ST 3FFFh,6h;3FFF,2FFf
nop
nop
ST 13C9h,10h
nop
nop
add #1,B
nop
nop
MVDM 8010h,SWWSR
nop
nop
MVDM 8006h,BRC ;设置循环次数
nop
nop
STM 4000h,AR3
nop
nop
LD #100h,DP
nop
nop
PORTW 2h,8000h
nop
nop
nop
nop
;PORTW 0h,8000h
nop
nop
;LD #80h,DP
nop
nop
;n: BITF 0Ah,0080h
nop
nop
;BC n, NTC ;垂直非显示周期跳出
nop
nop
;LD #100h,DP ;设置DP=128, DATA起始地址4000h
nop
nop
;PORTW 2h,8000h
RPTB g
nop
nop
ST 01F0h,*AR3+
nop
nop
LD #100h,DP ;设置DP=128, DATA起始地址4000h
nop
nop
g: nop
ST 1249h,10h
nop
nop
MVDM 8010h,SWWSR
nop
nop
LD B,A
nop
nop
sub #0A4h,A
nop
nop
bc h,ANEQ
nop
nop
j: b j
STM 4000h,AR3
nop
nop
ST 3FFFh,5h;3FFF,2FFf
nop
nop
MVDM 8005h,BRC ;设置循环次数
nop
nop
RPTB gxx
nop
nop
LD #0080h,B
nop
nop
nop
STL B, 2h
nop
nop
hx: PORTW 2h,8000h ;SED1354存储器操作
nop
nop
STL B, 2h
nop
nop
add #1,B
nop
nop
ST 7F80h,*AR3
nop
nop
LD B,A
nop
nop
sub #09Fh,A
nop
nop
bc hx,ANEQ
nop
nop
MVMD AR3,8010h
nop
nop
STM 8010h,AR4
nop
nop
LD *AR4,A
nop
nop
ADD #1,A
nop
nop
STLM A,AR3
nop
nop
gxx: nop
ST 2FFFh,6h;2FFF,17FF
nop
nop
;高7位地址EA0-EA6 ;显示buffer地址和实际地址转换
;显示buffer初值08000 ;8000-BFFF显示区低14位地址
;高7位地址EA0-EA6选择页面page ;显示地址buffer=dsp_addr&3FFF+page<<14
;物理地址低14位=buffer&3FFF+8000 ;物理地址高7位page=buffer&1FC000>>14
LD #0036h,B
;LD #003Bh,B; 页计数器
add #0080h,B
STL B, 15h
portw 15h,8000h
;ST 2BFFh,7h
ST 17FFh,7h
MVDM 4007h,BRC ;设置循环次数
; STM 09400h,AR2
STM 0A800h,AR2
nop
nop
RPTB g3
nop
nop
nop
nop
nop
nop
nop
nop
g3: MVKD 4004h,*AR2+
nop
nop
LD #0037h,B; 页计数器;3Ch
nop
nop
h2: nop
nop
MVDM 4005h,BRC ;设置循环次数
nop
nop
nop
nop
LD B,A
nop
nop
add #0080h,A
nop
nop
STL A, 15h
nop
nop
portw 15h,8000h
nop
nop
nop
nop
STM 08000h,AR2
RPTB g4
g4: MVKD 4004h,*AR2+
nop
nop
add #1,B
nop
nop
LD B,A
nop
sub #40h,A ;4
bc h2,ANEQ
;g1: MVKD 4004h,*AR2+
; n: BITF 0Ah,0080h
;BC n, NTC ;垂直非显示周期跳出
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -