]> git.sur5r.net Git - cc65/blobdiff - libsrc/dbg/dbgdasm.s
Removed (pretty inconsistently used) tab chars from source code base.
[cc65] / libsrc / dbg / dbgdasm.s
index b1e7f152f3bf17e99c731d08718d37df1a2b85ff..9899c0add601d8c64a0e7024b904a0a887afb449 100644 (file)
@@ -9,73 +9,73 @@
 ; (TEDMon).
 ;
 
-       .import         popax
-       .import         __hextab, OffsetTab, AdrFlagTab
-       .import         SymbolTab1, SymbolTab2, MnemoTab1, MnemoTab2
+        .import         popax
+        .import         __hextab, OffsetTab, AdrFlagTab
+        .import         SymbolTab1, SymbolTab2, MnemoTab1, MnemoTab2
 
 
 
 ; -------------------------------------------------------------------------
 ; Equates for better readability
 
-       .importzp       sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3
+        .importzp       sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3
 
-BufIndex       = tmp1          ; Index into output buffer
-OperandLen     = tmp2          ; Length of operand
-BufLen         = tmp3          ; Length of output buffer
-AdrFlagBuf     = tmp4          ; Flag for addressing mode
-YSave          = sreg          ; Temp storage
-XSave          = sreg+1        ; Dito
-BufPtr         = ptr1          ; Pointer to output buffer
-MemPtr         = ptr2          ; Pointer to memory to disassemble
-MnemoBuf       = ptr3          ; Buffer for decoding mnemonic
+BufIndex        = tmp1          ; Index into output buffer
+OperandLen      = tmp2          ; Length of operand
+BufLen          = tmp3          ; Length of output buffer
+AdrFlagBuf      = tmp4          ; Flag for addressing mode
+YSave           = sreg          ; Temp storage
+XSave           = sreg+1        ; Dito
+BufPtr          = ptr1          ; Pointer to output buffer
+MemPtr          = ptr2          ; Pointer to memory to disassemble
+MnemoBuf        = ptr3          ; Buffer for decoding mnemonic
 
 
 ; -------------------------------------------------------------------------
 ; Main entries
 
-       .export         _DbgDisAsm, _DbgDisAsmLen
-
-.proc  _DbgDisAsm
-       sta     BufLen          ; Save the buffer length
-       jsr     popax           ; Get the buffer pointer
-       sta     BufPtr
-       stx     BufPtr+1
-       jsr     popax           ; Get the address
-       sta     MemPtr
-       stx     MemPtr+1
-       lda     #0
-       sta     BufIndex        ; Initialize index into buffer
-       jsr     DisAssLine      ; Disassemble one line into the buffer
-
-       lda     BufLen          ; Get requested length
-       sec
-       sbc     BufIndex
-       beq     L2
-       tax                     ; Count into X
-       ldy     BufIndex
-       lda     #$20            ; Get a space
-L1:    sta     (BufPtr),y
-       iny
-       dex
-       bne     L1
-L2:            lda     #0              ; Add C string terminator
-       sta     (BufPtr),y
-       beq     disassret
+        .export         _DbgDisAsm, _DbgDisAsmLen
+
+.proc   _DbgDisAsm
+        sta     BufLen          ; Save the buffer length
+        jsr     popax           ; Get the buffer pointer
+        sta     BufPtr
+        stx     BufPtr+1
+        jsr     popax           ; Get the address
+        sta     MemPtr
+        stx     MemPtr+1
+        lda     #0
+        sta     BufIndex        ; Initialize index into buffer
+        jsr     DisAssLine      ; Disassemble one line into the buffer
+
+        lda     BufLen          ; Get requested length
+        sec
+        sbc     BufIndex
+        beq     L2
+        tax                     ; Count into X
+        ldy     BufIndex
+        lda     #$20            ; Get a space
+L1:     sta     (BufPtr),y
+        iny
+        dex
+        bne     L1
+L2:     lda     #0              ; Add C string terminator
+        sta     (BufPtr),y
+        beq     disassret
 
 .endproc
 
 
 _DbgDisAsmLen:
-       sta     MemPtr          ; Save address
-       stx     MemPtr+1
-               ldy     #$00
-               lda     (MemPtr),y      ; Get the opcode from memory...
-       jsr     AnalyzeOPCode   ; ...and analyze it
+        sta     MemPtr          ; Save address
+        stx     MemPtr+1
+        ldy     #$00
+        lda     (MemPtr),y      ; Get the opcode from memory...
+        jsr     AnalyzeOPCode   ; ...and analyze it
 disassret:
-       ldx     OperandLen      ; Get length of operand
-       inx                     ; Adjust for opcode byte
-       txa
+        ldx     OperandLen      ; Get length of operand
+        inx                     ; Adjust for opcode byte
+        txa
         ldx     #$00            ; Clear high byte
         rts     
 
@@ -84,140 +84,140 @@ disassret:
 
 
 Put3Spaces:
-               jsr     PutSpace
+        jsr     PutSpace
 Put2Spaces:
-               jsr     PutSpace
+        jsr     PutSpace
 PutSpace:
-               lda     #$20
+        lda     #$20
 PutChar:
-               sty     YSave           ; Save Y
-               ldy     BufIndex        ; Get current line pointer
-       cpy     BufLen          ; Be sure not to overflow the buffer
-       bcs     PC9
-               sta     (BufPtr),y      ; store character
-               iny                     ; bump index
-               sty     BufIndex
-PC9:           ldy     YSave           ; get old value
-       rts
+        sty     YSave           ; Save Y
+        ldy     BufIndex        ; Get current line pointer
+        cpy     BufLen          ; Be sure not to overflow the buffer
+        bcs     PC9
+        sta     (BufPtr),y      ; store character
+        iny                     ; bump index
+        sty     BufIndex
+PC9:    ldy     YSave           ; get old value
+        rts
 
 ; Print the 16 bit hex value in X/Y
 
 PutHex16:
-       txa
-       jsr     PutHex8
-       tya
+        txa
+        jsr     PutHex8
+        tya
 
 ; Print 8 bit value in A, save X and Y
 
 PutHex8:
-       stx     XSave
-       sty     YSave
-       ldy     BufIndex
-       pha
-       lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
-       tax
-       lda     __hextab,x
-       sta     (BufPtr),y
-       iny
-       pla
-       and     #$0F
-       tax
-       lda     __hextab,x
-       sta     (BufPtr),y
-       iny
-       sty     BufIndex
-       ldy     YSave
-       ldx     XSave
-       rts
+        stx     XSave
+        sty     YSave
+        ldy     BufIndex
+        pha
+        lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
+        tax
+        lda     __hextab,x
+        sta     (BufPtr),y
+        iny
+        pla
+        and     #$0F
+        tax
+        lda     __hextab,x
+        sta     (BufPtr),y
+        iny
+        sty     BufIndex
+        ldy     YSave
+        ldx     XSave
+        rts
 
 ; -------------------------------------------------------------------------
 ; Disassemble one line
 
 DisAssLine:
-       ldy     MemPtr
-       ldx     MemPtr+1
-               jsr     PutHex16                ; Print the address
-               jsr     Put2Spaces              ; Add some space
-       ldy     #$00
-               lda     (MemPtr),y              ; Get the opcode from memory...
-       jsr     AnalyzeOPCode           ; ...and analyze it
-       pha                             ; Save mnemonic
-       ldx     OperandLen              ; Number of bytes
+        ldy     MemPtr
+        ldx     MemPtr+1
+        jsr     PutHex16                ; Print the address
+        jsr     Put2Spaces              ; Add some space
+        ldy     #$00
+        lda     (MemPtr),y              ; Get the opcode from memory...
+        jsr     AnalyzeOPCode           ; ...and analyze it
+        pha                             ; Save mnemonic
+        ldx     OperandLen              ; Number of bytes
 
 ; Print the bytes that make up the instruction
 
-       inx
-L2083: dex
-       bpl     L208C                   ; Print the instruction bytes
-       jsr     Put3Spaces              ; If none left, print spaces instead
-       jmp     L2094
-L208C: lda     (MemPtr),y              ; Get a byte from memory
-               jsr     PutHex8                 ; ...and print it
-       jsr     PutSpace                ; Add some space
+        inx
+L2083:  dex
+        bpl     L208C                   ; Print the instruction bytes
+        jsr     Put3Spaces              ; If none left, print spaces instead
+        jmp     L2094
+L208C:  lda     (MemPtr),y              ; Get a byte from memory
+        jsr     PutHex8                 ; ...and print it
+        jsr     PutSpace                ; Add some space
 
-L2094: iny                             ; Next one...
-       cpy     #$03                    ; Maximum is three
-       bcc     L2083                   ;
+L2094:  iny                             ; Next one...
+        cpy     #$03                    ; Maximum is three
+        bcc     L2083                   ;
 
-       jsr     Put2Spaces              ; Add some space after bytes
+        jsr     Put2Spaces              ; Add some space after bytes
 
 ; Print the assembler mnemonic
 
-       pla                             ; Get mnemonic code
-       ldx     #$03
-       jsr     PutMnemo                ; Print the mnemonic
-       ldx     #$06
+        pla                             ; Get mnemonic code
+        ldx     #$03
+        jsr     PutMnemo                ; Print the mnemonic
+        ldx     #$06
 
 ; Print the operand
 
-L20A4: cpx     #$03
-       bne     L20BA
-       ldy     OperandLen
-       beq     L20BA
-
-L20AC: lda     AdrFlagBuf
-       cmp     #$E8                    ; Branch?
-       lda     (MemPtr),y              ; Get branch offset
-       bcs     GetBranchAdr            ; If branch: Calculate address
-       jsr     PutHex8                 ; Otherwise print 8bit value
-       dey
-       bne     L20AC
-
-L20BA: asl     AdrFlagBuf
-       bcc     L20CC
-       lda     SymbolTab1-1,x
-       jsr     PutChar
-       lda     SymbolTab2-1,x
-       beq     L20CC
-       jsr     PutChar
-
-L20CC: dex
-       bne     L20A4
-       rts
+L20A4:  cpx     #$03
+        bne     L20BA
+        ldy     OperandLen
+        beq     L20BA
+
+L20AC:  lda     AdrFlagBuf
+        cmp     #$E8                    ; Branch?
+        lda     (MemPtr),y              ; Get branch offset
+        bcs     GetBranchAdr            ; If branch: Calculate address
+        jsr     PutHex8                 ; Otherwise print 8bit value
+        dey
+        bne     L20AC
+
+L20BA:  asl     AdrFlagBuf
+        bcc     L20CC
+        lda     SymbolTab1-1,x
+        jsr     PutChar
+        lda     SymbolTab2-1,x
+        beq     L20CC
+        jsr     PutChar
+
+L20CC:  dex
+        bne     L20A4
+        rts
 
 ; If the instruction is a branch, calculate the absolute address of the
 ; branch target and print it.
 
 GetBranchAdr:
-       jsr     L20DD
-       clc
-       adc     #$01
-       bne     L20D9
-       inx                             ; Bump high byte
-L20D9: tay
-       jmp     PutHex16                ; Output address
-
-L20DD: ldx     MemPtr+1
-       tay
-       bpl     L20E3
-       dex
-L20E3: adc     MemPtr
-       bcc     L20E8
-       inx                             ; Bump high byte
-L20E8: rts
+        jsr     L20DD
+        clc
+        adc     #$01
+        bne     L20D9
+        inx                             ; Bump high byte
+L20D9:  tay
+        jmp     PutHex16                ; Output address
+
+L20DD:  ldx     MemPtr+1
+        tay
+        bpl     L20E3
+        dex
+L20E3:  adc     MemPtr
+        bcc     L20E8
+        inx                             ; Bump high byte
+L20E8:  rts
 
 ; -------------------------------------------------------------------------
 ; Subroutine to analyze an opcode byte in A. Will return a byte that
@@ -225,72 +225,72 @@ L20E8:    rts
 ; instruction in OperandLen
 
 AnalyzeOPCode:
-       tay
-       lsr     a
-       bcc     L20F8
-       lsr     a
-       bcs     L2107
-       cmp     #$22
-       beq     L2107
-       and     #$07
-       ora     #$80
-L20F8: lsr     a
-       tax
-       lda     OffsetTab,x
-       bcs     L2103
-       lsr     a
-       lsr     a
-       lsr     a
-       lsr     a
-L2103: and     #$0F
-       bne     L210B
-L2107: ldy     #$80
-       lda     #$00
-L210B: tax
-       lda     AdrFlagTab,x
-       sta     AdrFlagBuf
-       and     #$03
-       sta     OperandLen
-       tya
-       and     #$8F
-       tax
-       tya
-       ldy     #$03
-       cpx     #$8A
-       beq     L212B
-
-L2120: lsr     a
-       bcc     L212B
-       lsr     a
-L2124: lsr     a
-       ora     #$20
-       dey
-       bne     L2124
-       iny
-L212B: dey
-       bne     L2120
-       rts
+        tay
+        lsr     a
+        bcc     L20F8
+        lsr     a
+        bcs     L2107
+        cmp     #$22
+        beq     L2107
+        and     #$07
+        ora     #$80
+L20F8:  lsr     a
+        tax
+        lda     OffsetTab,x
+        bcs     L2103
+        lsr     a
+        lsr     a
+        lsr     a
+        lsr     a
+L2103:  and     #$0F
+        bne     L210B
+L2107:  ldy     #$80
+        lda     #$00
+L210B:  tax
+        lda     AdrFlagTab,x
+        sta     AdrFlagBuf
+        and     #$03
+        sta     OperandLen
+        tya
+        and     #$8F
+        tax
+        tya
+        ldy     #$03
+        cpx     #$8A
+        beq     L212B
+
+L2120:  lsr     a
+        bcc     L212B
+        lsr     a
+L2124:  lsr     a
+        ora     #$20
+        dey
+        bne     L2124
+        iny
+L212B:  dey
+        bne     L2120
+        rts
 
 ; -------------------------------------------------------------------------
 ; Print the mnemonic with code in A (that code was returned by
 ; AnalyzeOpcode).
 
 PutMnemo:
-       tay
-       lda     MnemoTab1,y
-       sta     MnemoBuf
-       lda     MnemoTab2,y
-       sta     MnemoBuf+1
-L213A: lda     #$00
-       ldy     #$05            ; 3*5 bits in two bytes
-L213E: asl     MnemoBuf+1
-       rol     MnemoBuf
-       rol     a
-       dey
-       bne     L213E
-       adc     #$3F
-       jsr     PutChar
-       dex
-       bne     L213A
-       jmp     PutSpace
+        tay
+        lda     MnemoTab1,y
+        sta     MnemoBuf
+        lda     MnemoTab2,y
+        sta     MnemoBuf+1
+L213A:  lda     #$00
+        ldy     #$05            ; 3*5 bits in two bytes
+L213E:  asl     MnemoBuf+1
+        rol     MnemoBuf
+        rol     a
+        dey
+        bne     L213E
+        adc     #$3F
+        jsr     PutChar
+        dex
+        bne     L213A
+        jmp     PutSpace