OpenCores
URL https://opencores.org/ocsvn/rf6809/rf6809/trunk

Subversion Repositories rf6809

[/] [rf6809/] [trunk/] [software/] [boot/] [disassem.asm] - Diff between revs 13 and 14

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 13 Rev 14
Line 43... Line 43...
SREL            EQU     4
SREL            EQU     4
NDX                     EQU     5
NDX                     EQU     5
EXT                     EQU     6
EXT                     EQU     6
IMMW            EQU     7
IMMW            EQU     7
FAREXT  EQU     8
FAREXT  EQU     8
 
TFREXG  EQU     9
 
 
distbl1:
distbl1:
        ; 00 to 0F
        ; 00 to 0F
        fcb             "NEG ", DIRECT
        fcb             "NEG ", DIRECT
        fcb             "    ", 0
        fcb             "    ", 0
Line 78... Line 79...
        fcb             "DAA ", 0
        fcb             "DAA ", 0
        fcb             "ORCC", IMMB
        fcb             "ORCC", IMMB
        fcb             "    ", 0
        fcb             "    ", 0
        fcb             "ANDC", IMMB
        fcb             "ANDC", IMMB
        fcb             "SEX ", 0
        fcb             "SEX ", 0
        fcb             "EXG ", IMMB
        fcb             "EXG ", TFREXG
        fcb             "TFR ", IMMB
        fcb             "TFR ", TFREXG
 
 
        ; 20 to 2F
        ; 20 to 2F
        fcb             "BRA ", SREL
        fcb             "BRA ", SREL
        fcb             "BRN ", SREL
        fcb             "BRN ", SREL
        fcb             "BHI ", SREL
        fcb             "BHI ", SREL
Line 421... Line 422...
        fcb             "CMPS", NDX
        fcb             "CMPS", NDX
        fcb             "CMPU", EXT
        fcb             "CMPU", EXT
        fcb             "CMPS", EXT
        fcb             "CMPS", EXT
 
 
disassem:
disassem:
        lbsr    GetTwoParams
        clr             farflag
 
        lbsr    GetRange
        lbsr    CRLF
        lbsr    CRLF
        ldy             mon_r1+2
        ldy             mon_r1+2
disLoop1:
disLoop1:
        tfr             y,d
        tfr             y,d
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             #' '
        ldb             #' '
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             ,y+
        ldb             ,y+
        bitb    #$300
        bitb    #$300
        lbne    dis1
        lbne    dis1
 
        andb    #$FF                    ; mask off extra bits
 
        cmpb    #$15
 
        bne             dis20
 
        stb             farflag
 
        bra             disLoop1
dis20:
dis20:
        ldx             #distbl1
        ldx             #distbl1
dis23:
dis23:
        lda             #5
        lda             #5
        mul
        mul
Line 495... Line 502...
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
disNot9:
disNot9:
        pshs    b
        pshs    b
        bitb    #$100                   ; check if indirect
        bitb    #$100                   ; check if indirect
        bne             dis4
        beq             dis4
        ldb             #'['
        ldb             #'['
        lbsr    OUTCH
        lbsr    OUTCH
dis4:
dis4:
        ldb             ,s                              ; get back b
        ldb             ,s                              ; get back b
        andb    #15
        andb    #15
        bne             disNotRplus
        bne             disNotRplus
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis5
        beq             dis5
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis5:
dis5:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 517... Line 524...
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             #'+'
        ldb             #'+'
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
disNotRplus:
disNotRplus:
        cmpb    #1
        cmpb    #1
        bne             disNotRplusplus
        bne             disNotRplusplus
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis6
        beq             dis6
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis6:
dis6:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 542... Line 549...
        ldb             #'+'
        ldb             #'+'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
disNotRplusplus:
disNotRplusplus:
        cmpb    #2
        cmpb    #2
        bne             disNotRminus
        bne             disNotRminus
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis7
        beq             dis7
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis7:
dis7:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 566... Line 573...
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
disNotRminus:
disNotRminus:
        cmpb    #3
        cmpb    #3
        bne             disNotRminusminus
        bne             disNotRminusminus
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis8
        beq             dis8
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis8:
dis8:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 591... Line 598...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
disNotRminusminus:
disNotRminusminus:
        cmpb    #4
        cmpb    #4
        bne             disNotR
        bne             disNotR
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis9
        beq             dis9
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis9:
dis9:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             ,s
        ldb             ,s
        bsr             disNdxReg
        bsr             disNdxReg
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 626... Line 633...
        bne             disNotBOffs
        bne             disNotBOffs
        ldb             #'B'
        ldb             #'B'
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis10
        beq             dis10
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis10:
dis10:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 640... Line 647...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 653... Line 660...
        bne             disNotAOffs
        bne             disNotAOffs
        ldb             #'A'
        ldb             #'A'
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis11
        beq             dis11
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis11:
dis11:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 667... Line 674...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 681... Line 688...
        ldb             ,y+
        ldb             ,y+
        sex
        sex
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis12
        beq             dis12
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis12:
dis12:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 695... Line 702...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 708... Line 715...
        bne             disNotWO
        bne             disNotWO
        ldd             ,y++
        ldd             ,y++
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis13
        beq             dis13
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis13:
dis13:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 722... Line 729...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 737... Line 744...
        lbsr    DispByteAsHex
        lbsr    DispByteAsHex
        ldd             ,y++
        ldd             ,y++
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis14
        beq             dis14
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis14:
dis14:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 751... Line 758...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 764... Line 771...
        bne             disNotDOffs
        bne             disNotDOffs
        ldb             #'D'
        ldb             #'D'
        lbsr    OUTCH
        lbsr    OUTCH
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis15
        beq             dis15
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis15:
dis15:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 778... Line 785...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 792... Line 799...
        ldb             ,y+
        ldb             ,y+
        sex
        sex
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis16
        beq             dis16
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis16:
dis16:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 809... Line 816...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 822... Line 829...
        bne             disNotPWO
        bne             disNotPWO
        ldd             ,y++
        ldd             ,y++
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis17
        beq             dis17
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis17:
dis17:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 839... Line 846...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 854... Line 861...
        lbsr    DispByteAsHex
        lbsr    DispByteAsHex
        ldd             ,y++
        ldd             ,y++
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        ldb             ,s
        ldb             ,s
        bitb    #$80                    ; outer indexed?
        bitb    #$80                    ; outer indexed?
        bne             dis18
        beq             dis18
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
dis18:
dis18:
        ldb             #','
        ldb             #','
        lbsr    OUTCH
        lbsr    OUTCH
Line 871... Line 878...
        ldb             #'-'
        ldb             #'-'
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        puls    b
        puls    b
        bitb    #$100
        bitb    #$100
        lbne    disNextLine
        lbeq    disNextLine
        bitb    #$80
        bitb    #$80
        lbne    disNextLine
        lbne    disNextLine
        ldb             #']'
        ldb             #']'
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
Line 888... Line 895...
        lbsr    OUTCH
        lbsr    OUTCH
        lbra    disNextLine
        lbra    disNextLine
disNotNdx:
disNotNdx:
        cmpb    #EXT
        cmpb    #EXT
        bne             disNotExt
        bne             disNotExt
 
        tst             farflag
 
        beq             dis30
 
        ldb             ,y++
 
        lbsr    DispByteAsHex
 
dis30:
        ldd             ,y++
        ldd             ,y++
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
 
        clr             farflag
        lbra    disNextLine
        lbra    disNextLine
disNotExt:
disNotExt:
        cmpb    #IMMB
        cmpb    #IMMB
        bne             disNotIMMB
        bne             disNotIMMB
        ldb             #'#'
        ldb             #'#'
Line 908... Line 921...
        lbsr    OUTCH
        lbsr    OUTCH
        ldd             ,y++
        ldd             ,y++
        lbsr    DispWordAsHex
        lbsr    DispWordAsHex
        bra             disNextLine
        bra             disNextLine
disNotIMMW:
disNotIMMW:
 
        cmpb    #TFREXG
 
        bne             disNotTfr
 
        ldb             ,y+
 
        bsr             disTfrExg
 
        bra             disNextLine
 
disNotTfr:
dis1:
dis1:
        cmpb    #$121
        cmpb    #$121
        blo             dis19
        blo             dis19
        cmpb    #$12F
        cmpb    #$12F
        bhi             dis19
        bhi             dis19
        andb    #$FF
        andb    #$FF
        ldx             #distbl1
        ldx             #distbl2
        aslb
        aslb
        aslb
        aslb
        abx
        abx
        ldb             ,x+
        ldb             ,x+
        lbsr    OUTCH
        lbsr    OUTCH
Line 946... Line 965...
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        lbsr    OUTCH
        bra             disNextLine
        bra             disNextLine
disNextLine
disNextLine:
 
        clr             farflag
        lbsr    CRLF
        lbsr    CRLF
        cmpy    mon_r2+2
        cmpy    mon_r2+2
        lblo    disLoop1
        lblo    disLoop1
        lbra    Monitor
        lbra    Monitor
 
 
disNdxRegs:
disNdxRegs:
        fcb             'X','Y','S','U'
        fcb             'X','Y','S','U'
 
disTfrRegs:
 
        fcb             "D X Y U S PC    A B CCDP        "
 
 
disNdxReg:
disNdxReg:
        andb    #$600
        andb    #$600
        rolb
        rolb
        rolb
        rolb
        rolb
        rolb
Line 968... Line 991...
        lda             disNdxRegs,u
        lda             disNdxRegs,u
        puls    u
        puls    u
        exg             a,b
        exg             a,b
        rts
        rts
 
 
 
disTfrReg:
 
        pshs    b,x
 
        ldx             #disTfrRegs
 
        aslb
 
        lda             b,x
 
        exg             a,b
 
        lbsr    OUTCH
 
        exg             a,b
 
        inx
 
        ldb             b,x
 
        cmpb    #' '
 
        beq             disTfr1
 
        lbsr    OUTCH
 
disTfr1:
 
        puls    b,x,pc
 
 
 
disTfrExg:
 
        pshs    b
 
        rolb
 
        rolb
 
        rolb
 
        rolb
 
        andb    #15
 
        bsr             disTfrReg
 
        ldb             #','
 
        lbsr    OUTCH
 
        ldb             ,s
 
        andb    #15
 
        bsr             disTfrReg
 
        puls    b,pc
 
 
ASMO:
ASMO:
        pshs    d
        pshs    d
        ldd             #ASMOUTCH
        ldd             #ASMOUTCH
        std             CharOutVec
        std             CharOutVec
        puls    d,pc
        puls    d,pc

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.