131 lines
2.7 KiB
NASM
131 lines
2.7 KiB
NASM
;; Set pins 0-7 on Port B to Output
|
|
LDA # FF
|
|
STA a 8002
|
|
|
|
;; Set pins 0-2 on Port A to Output
|
|
LDA # 7
|
|
STA a 8003
|
|
|
|
;; 00111000 set 8-bit mode, 2-line display, 5x8 font
|
|
LDA # 38
|
|
STA a 8000
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
LDA # 1
|
|
STA a 8001 ; set E
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
|
|
;; 00001110 display on; cursor on; blink off
|
|
LDA # E
|
|
STA a 8000
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
LDA # 1
|
|
STA a 8001 ; set E
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
|
|
;; 00000001 Clear Display:
|
|
LDA # 1
|
|
STA a 8000
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
LDA # 1
|
|
STA a 8001 ; set E
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
|
|
;; 00000110 Entry Mode Set: increment and shift cursor; don't shift display
|
|
LDA # 6
|
|
STA a 8000
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
LDA # 1
|
|
STA a 8001 ; set E
|
|
LDA # 0
|
|
STA a 8001 ; clear RS|RW|E
|
|
|
|
;; l
|
|
LDA # 6C
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; o
|
|
LDA # 6F
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; v
|
|
LDA # 76
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; e
|
|
LDA # 65
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; ' '
|
|
LDA # 20
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; a
|
|
LDA # 61
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; n
|
|
LDA # 6E
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
;; a
|
|
LDA # 61
|
|
STA a 8000
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
LDA # 3
|
|
STA a 8001 ; set RS|E
|
|
LDA # 2
|
|
STA a 8001 ; set RS; clear RW|E
|
|
|
|
|
|
forever: JMP a :forever
|