woz64/hex.asm

40 lines
1.6 KiB
NASM
Raw Normal View History

2019-11-06 04:31:17 +00:00
#importonce
#import "mem_map.asm"
2019-11-10 03:10:52 +00:00
.filenamespace Hex
.pc = * "Hex Routines"
2019-11-06 04:31:17 +00:00
//
// btohex
//
//
// preparatory ops: .a: byte to convert
//
// returned values: .a: msn ascii char
// .x: lsn ascii char
// .y: entry value
//
2019-11-10 03:10:52 +00:00
byteToHex: pha //save byte
2019-11-06 04:31:17 +00:00
and #%00001111 //extract lsn
tax //save it
pla //recover byte
lsr //extract...
lsr //msn
lsr
lsr
pha //save msn
txa //lsn
jsr binhex1 //generate ascii lsn
tax //save
pla //get msn & fall thru
//
// convert nybble to hex ascii equivalent...
binhex1: cmp #$0a
2019-11-10 03:10:52 +00:00
bcc binhex2 //in decimal range
sbc #$09 //hex compensate
rts
2019-11-06 04:31:17 +00:00
binhex2: eor #%00110000 //finalize nybble
rts //done