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
base:8_bit_to_hexadecimal_conversion [2017-08-10 17:15] – created abujokbase:8_bit_to_hexadecimal_conversion [2017-08-20 00:30] (current) 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 adc #$36 ; Accu >= 10, subtract #$09 to get "A" to "F" (CARRY always set here)
 + jmp BSOUT ; Print Accu (HEX nibble) and bye
 +</code>
 +
 +Version not using KERNAL:
 +
 +<code>
 +    // Dest.          = YREG:XREG
 +    // Value to utput = ACC
 +OUTHEX:
 +    sty $fb
 +    stx $fc
 +    ldy #$00
 +    pha
 +    lsr
 +    lsr
 +    lsr
 +    lsr
 +    tax
 +    lda tab,x
 +    sta ($fb),y
 +    iny
 +    pla
 +    and #$0f
 +    tax
 +    lda tab,x
 +    sta ($fb),y
 +    rts
 +
 +tab:
 +    .text "0123456789abcdef"
 +</code>
 +
base/8_bit_to_hexadecimal_conversion.1502378129.txt.gz · Last modified: 2017-08-10 17:15 by abujok