User Tools

Site Tools


base:8_bit_to_hexadecimal_conversion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
base:8_bit_to_hexadecimal_conversion [2017-08-10 17:15] – created abujokbase:8_bit_to_hexadecimal_conversion [2017-08-20 00:07] tww_ctr
Line 49: Line 49:
  
 </code> </code>
 +
 +
 +Slight optimization:
 +
 +<code>
 +;**************************
 +; print Akku hex value
 +;**************************
 +OUTHEX tax ; save value for low nibble
 +        lsr             ; ignore CARRY and shift hi nybble to lonybble pos.
 + lsr ; 
 + lsr ; 
 + lsr ; 
 + jsr NIB2HEX ; print nibble
 + txa ; restore value
 + and #$0f ; Low nibble
 + jsr NIB2HEX ; print nibble
 + rts
 +
 +
 +;*********************
 +;* Akku low Nibble to Hex
 +;*********************
 +NIB2HEX cmp #$0a ; Accu >= 10?
 + bcs HEX ; Yes
 +        adc #$30 ; Accu < 10
 + jmp BSOUT       ; Print #$30 - #39
 +HEX sbc #$09 ; Accu >= 10, subtract #$09 to get "A" to "F"
 + jmp BSOUT ; Print Accu (HEX nibble) and bye
 +</code>
 +
 +Alternatively, add #$36 (CARRY is set, so effectively becomes #$37) to get upper case characters in lower case mode. Also you can "branch always" after adding #$30 to OUT to save a byte at the expense of 3 cycles.
base/8_bit_to_hexadecimal_conversion.txt · Last modified: 2017-08-20 00:30 by tww_ctr