asm-test/aoc/hex.asm
2022-04-05 14:07:50 -07:00

40 lines
859 B
NASM

;;
;;
;; args:
;; X: zero page offset
;; Y: length
lcd_hex: NOP i
;; top nib
_hex_loop: LDA zp,x 0
LSR A
LSR A
LSR A
LSR A
CMP # a
BCS r :_hex_nib0_af
_hex_nib0_09: CLC i
ADC # 30
BRA r :_hex_nib0_out
_hex_nib0_af: CLC i
ADC # 37
_hex_nib0_out: JSR a :lcd_w_rs1
;; bottom nib
LDA zp,x 0
AND # f
CMP # a
BCS r :_hex_nib1_af
_hex_nib1_09: CLC i
ADC # 30
BRA r :_hex_nib1_out
_hex_nib1_af: CLC i
ADC # 37
_hex_nib1_out: JSR a :lcd_w_rs1
DEX i
DEY i
BNE r :_hex_loop
RTS s