ack/mach/z80/libmon/char.nas.s
1985-04-12 16:40:22 +00:00

45 lines
577 B
ArmAsm

.define putchar,getchar
! output routine in monitor for the nascom
CRT = 0x013B
! output a charcter
! entry: ascii character in a
.text
putchar:
push hl
push bc
ld hl,tab
ld b,5
1: cp (hl)
jr z,fetch
inc hl
inc hl
djnz 1b
2: call CRT
pop bc
pop hl
ret
fetch: inc hl
ld a,(hl)
jr 2b
! conversion table for nascom characters
tab: .byte 0x0D,0x00
.byte 0x1B,0x1E
.byte 0x08,0x1D
.byte 0x0A,0x1F
.byte 0x7F,0x00
KBD = 0x69
get character from keyboard
getchar:
call KBD
jr nc,getchar
cp 0x1F
jr z,CR
cp 0x1D
jr z,BS
ret
CR: ld a,0xA
ret
BS: ld a,0x8
ret