Now what?
TK
terryk at foothill.net
Wed May 26 13:16:03 GMT 1999
oops!
Sorry Bruce,
If you put the line:
label 0010 TPS, depends on the disassembler.
Terry
-----Original Message-----
From: TK <terryk at foothill.net>
To: gmecm at efi332.eng.ohio-state.edu <gmecm at efi332.eng.ohio-state.edu>
Date: Tuesday, May 25, 1999 10:47 PM
Subject: Re: Now what?
>
>-----Original Message-----
>From: Bruce Plecan <nacelp at bright.net>
>To: gmecm at esl.eng.ohio-state.edu <gmecm at esl.eng.ohio-state.edu>
>Date: Tuesday, May 25, 1999 12:34 PM
>Subject: Now what?
>
>
>>I have some questions, if you look thru this,
>>
>>0000 L0000 = 0x0000
>>0000 L0010 = 0x0010 Why do the numbers "jump", here??
>>0010 L0011 = 0x0011
>>0011 L0012 = 0x0012
>>0012 L0013 = 0x0013
>>0013 L0014 = 0x0014
>>0014 L0015 = 0x0015
>>0015 L0016 = 0x0016
>>0016 L0017 = 0x0017
>
>They don't. There are "labels" or locations. L0010 is a address 0x0010. In
>the configuration file for the disassembly, you can put:
>
>L0010 = TPS and it will use the work TPS where ever the location L0010 is
>found. But since you didn't do that, it just drops the actual address in
>there instead.
>
>
>>
>>snip
>>
>>0030 L0031 = 0x0031
>>0031 L0033 = 0x0033
>>0033 L0034 = 0x0034
>>0034 L0035 = 0x0035
>>0035 L0036 = 0x0036
>>0036 L0037 = 0x0037
>>0037 L0038 = 0x0038
>>0038 L0039 = 0x0039 What happens here?.
>>0039 L0048 = 0x0048
>>0048 L0058 = 0x0058
>>0058 L0059 = 0x0059
>>0059 L005A = 0x005A
>>005A L005B = 0x005B
>>005B L005D = 0x005D
>
>Same thing.
>
>>
>>snip
>>
>>5006 L5009 = 0x5009 Why the jump to the 5 "prefix"
>>5009 L500C = 0x500C
>>500C L500F = 0x500F
>>500F L5012 = 0x5012
>>5012 L6000 = 0x6000
>
>0x5000 is the address of some chip. FMU, or something like that. It may
also
>the the address range of a "mailbox" where values are places so another
>processor or control can get to them.
>
>>
>>
>>8000 .area CODE1 (ABS)
>>8000 .org 0x8000
>>8000
>>8000 .byte 0x08,0x74,0x0A,0xC6,0x59,0x65,0x00,0x00
>>8008 .byte 0x5B,0x00,0x20,0x0F,0x4A,0x4A,0x4A,0x4A
>>8010 .byte 0x4A,0x4A,0x4A,0x4A,0x4A,0x4A,0x44,0x3F
>>8018 .byte 0x39,0x33,0x33,0x4A,0x4A,0x4A,0x4A,0x4A
>>8020 .byte 0x55,0x55,0x55,0x50,0x4A,0x44,0x3F,0x39
>>8028 .byte 0x33,0x33,0x4A,0x4A,0x4A,0x4A,0x55,0x5B
>>8030 .byte 0x61,0x5B,0x55,0x50,0x44,0x3F,0x39,0x33
>>8038 .byte 0x33,0x55,0x55,0x55,0x61,0x66,0x6C,0x66
>>8040 .byte 0x61,0x5B,0x55,0x50,0x44,0x3C,0x33,0x33
>>8048 .byte 0x55,0x55,0x72,0x77,0x7D,0x77,0x72,0x6C
>>8050 .byte 0x66,0x5B,0x55,0x4A,0x41,0x33,0x33,0x55
>>8058 .byte 0x55,0x77,0x7D,0x83,0x7D,0x77,0x72,0x66
>>8060 .byte 0x5B,0x55,0x50,0x44,0x39,0x39,0x55,0x55
>>8068 .byte 0x77,0x7D,0x89,0x7D,0x77,0x72,0x66,0x5B
>>8070 .byte 0x55,0x50,0x4A,0x39,0x39,0x55,0x55,0x77
>>8078 .byte 0x83,0x89,0x83,0x7D,0x72,0x66,0x5B,0x55
>>8080 .byte 0x50,0x4A,0x3C,0x3C,0x55,0x55,0x77,0x83
>>8088 .byte 0x89,0x83,0x7D,0x72,0x6C,0x61,0x5B,0x55
>>8090 .byte 0x50,0x3F,0x3F,0x55,0x55,0x77,0x83,0x89
>>8098 .byte 0x83,0x7D,0x77,0x72,0x66,0x5B,0x55,0x52
>>80A0 .byte 0x41,0x41,0x55,0x55,0x77,0x7D,0x89,0x7D
>>80A8 .byte 0x83,0x7D,0x77,0x6C,0x5E,0x58,0x55,0x44
>>80B0 .byte 0x44,0x55,0x55,0x77,0x7D,0x89,0x89,0x89
>>80B8 .byte 0x83,0x7D,0x72,0x5E,0x5B,0x58,0x44,0x44
>>80C0 .byte 0x55,0x55,0x77,0x7D,0x89,0x89,0x89,0x83
>>80C8 .byte 0x7D,0x72,0x5E,0x5E,0x5E,0x47,0x47,0x55
>>80D0 .byte 0x55,0x77,0x7D,0x89,0x89,0x89,0x83,0x7D
>>80D8 .byte 0x72,0x5E,0x5E,0x5E,0x47,0x47,0x55,0x55
>>80E0 .byte 0x77,0x7D,0x89,0x89,0x89,0x83,0x7D,0x72
>>80E8 .byte 0x61,0x5E,0x5E,0x4A,0x4A,0x55,0x55,0x77
>>80F0 .byte 0x7D,0x89,0x89,0x89,0x83,0x7D,0x72,0x61
>>80F8 .byte 0x61,0x61,0x50,0x50,0x55,0x55,0x77,0x7D
>>8100 .byte 0x89,0x89,0x89,0x83,0x7D,0x72,0x64,0x61
>>8108 .byte 0x61,0x5B,0x58,0x20,0x20,0x07,0x64,0x69
>>8110 .byte 0x69,0x69,0x6F,0x75,0x7A,0x64,0x69,0x69
>>8118 .byte 0x69,0x6F,0x75,0x7A,0x64,0x69,0x69,0x69
>>8120 .byte 0x6F,0x75,0x7A,0x64,0x64,0x64,0x69,0x6C
>>8128 .byte 0x6F,0x72,0x64,0x64,0x64,0x66,0x68,0x69
>>8130 .byte 0x6F,0x64,0x64,0x64,0x64,0x68,0x6C,0x6F
>>8138 .byte 0x64,0x64,0x64,0x64,0x66,0x69,0x6C,0x64
>>8140 .byte 0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64
>>8148 .byte 0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64
>>8150 .byte 0x64,0x64,0x64,0x64,0x61,0x61,0x61,0x5B
>>8158 .byte 0x58,0x55,0x64,0x69,0x69,0x69,0x58,0x55
>>8160 .byte 0x52,0x64
>>8162 L8162: .byte 0xC7
>>8163 L8163: .byte 0x64
>>8164 L8164: .byte 0x64
>>8165 L8165: .byte 0x09,0x4F
>>8167 L8167: .byte 0x05
>>8168 L8168: .byte 0x0C,0xCD
>>816A L816A: .byte 0x05
>>816B L816B: .byte 0x0D
>>816C L816C: .byte 0x00,0x2B
>>816E L816E: .byte 0xFF,0x39
>>8170 L8170: .byte 0xFF,0xEE
>>
>>snip
>>
>>90FC L90FC: pulx What needs to be done with this to make sense
of
>>it??
>
>Weeeeelllll, you need to id some address locations. I start with the ALDL
>list which almost always starts with the two prom ID addresses. If you have
>the ALDL sequence, you can drop those names into the config file and they
>will be used in the disassembled output.
>
>For the code below, you need to have the Motorola opcode list. Then you can
>translate.
>
>
>>90FD pulx - take the current value on the stack and load it
into
>the x register and point to the next item on the stack.
>>90FE pula - same, but place it in the A register
>>90FF pulb - "
>>9100 ins
>>9101 rts return from subroutine.
>>9102 L9102: pshy - blah, blah, blah, get that HC11 book!
>
>>9104 pshb
>>9105 pshx
>>9106 suba 0x00,x
>>9108 bcc L910B
>>910A clra
>>910B L910B: subb 0x01,x
>>910D bcc L9110
>>910F clrb
>>9110 L9110: pshx
>>9111 puly
>>9113 psha
>>9114 ldaa #0x10
>>9116 mul
>>9117 pshb
>>9118 tab
>>9119 abx
>>911A pula
>>911B pulb
>>911C psha
>>911D ldaa #0x10
>>911F mul
>>9120 pshb
>>9121 ldab 0x02,y
>>9124 mul
>>9125 abx
>>9126 pshx
>>9127 ldab 0x02,y
>>912A abx
>>912B tsy
>>912D ldd 0x03,x
>>912F sba
>>9130 ldab 0x03,y
>>9133 bcc L913B
>>9135 nega
>>9136 mul
>>9137 adca 0x03,x
>>9139 bra L9141
>>913B L913B: mul
>>913C adca #0x00
>>913E nega
>>913F adda 0x03,x
>>9141 L9141: pulx
>>9142 psha
>>9143 ldd 0x03,x
>>9145 sba
>>9146 ldab 0x03,y
>>9149 bcc L9151
>>914B nega
>>914C mul
>>914D adca 0x03,x
>>914F bra L9157
>>9151 L9151: mul
>>9152 adca #0x00
>>9154 nega
>>9155 adda 0x03,x
>>9157 L9157: pulb
>>9158 psha
>>9159 sba
>>915A ldab 0x02,y
>>915D bcc L9166
>>915F nega
>>9160 mul
>>9161 adca 0x01,y
>>9164 bra L916D
>>9166 L9166: mul
>>9167 adca #0x00
>>9169 nega
>>916A adda 0x01,y
>>916D L916D: ins
>>916E pulx
>>916F pulx
>>9170 pulb
>>9171 puly
>>9173 rts
>>9174 L9174: pshx
>>9175 pshb
>>9176 ldab 0x00,x
>>9178 inx
>>9179 bra L9183
>>917B L917B: sba
>>917C bcc L917F
>>917E clra
>>917F L917F: pshx
>>9180 pshb
>>9181 ldab #0x10
>>9183 L9183: mul
>>9184 pshb
>>9185 tab
>>9186 abx
>>9187 ldd 0x00,x
>>9189 sba
>>918A pulb
>>918B bcc L9193
>>918D nega
>>918E mul
>>918F adca 0x00,x
>>9191 bra L9199
>>9193 L9193: mul
>>9194 adca #0x00
>>9196 nega
>>9197 adda 0x00,x
>>9199 L9199: pulb
>>919A pulx
>>919B rts
>>919C L919C: pshb
>>919D pshx
>>919E pshx
>>919F tsx
>>91A0 suba 0x00,x
>>91A2 bcc L91AB
>>91A4 negb
>>91A5 addb 0x00,x
>>91A7 stab 0x00,x
>>91A9 ldab 0x04,x
>>91AB L91AB: mul
>>91AC stab 0x01,x
>>91AE psha
>>91AF ldd 0x03,x
>>91B1 negb
>>91B2 beq L91B7
>>91B4 mul
>>91B5 adca #0x00
>>91B7 L91B7: tab
>>91B8 pula
>>91B9 addd 0x00,x
>>91BB pulx
>>91BC pulx
>>91BD ins
>>91BE rts
>>91BF E0VECT: pshx
>>91C0 pshb
>>91C1 psha
>>91C2 lsrd
>>91C3 psha
>>91C4 ldy #0x0000
>>91C8 tba
>>91C9 beq L91D9
>>91CB L91CB: ldab 0x00,x
>>91CD aby
>>91CF ldab 0x01,x
>>91D1 aby
>>91D3 ldab #0x02
>>91D5 abx
>>91D6 deca
>>91D7 bne L91CB
>>91D9 L91D9: pshx
>>91DA ldx #0xFF00
>>91DD stx L400B
>>91E0 tsx
>>91E1 dec 0x02,x
>>91E3 pulx
>>91E4 bpl L91CB
>>91E6 ins
>>91E7 pula
>>91E8 pulb
>>91E9 pulx
>>91EA rts
>>91EB ECVECT: ldx #0x4000
>>91EE bclr 0x04,x,#0x04
>>91F1 bra L91F9
>>
>>snip
>>
>>FFF4 VECTF4: .word F4VECT OK ??
>>FFF6 VECTF6: .word F6VECT
>>FFF8 VECTF8: .word F8VECT
>>FFFA VECTFA: .word FAVECT
>>FFFC VECTFC: .word FCVECT
>>FFFE RSTVEC: .word RESET
>
>These are of the restart or "event" addresses. The FFFE is the restart
>address. When the processor starts, it starts running the program that is
at
>the address stored in the two bytes at FFFE and FFFF. The others are
>illegal opcode (where does it go if that happens), software interupt
program
>address and a few others.
>
>
>Terry
>
>
>
>
>>
>>Thanks
>>Doc Grumpy Sneezy Sleepy Bashful
>>
>>
>
>
More information about the Gmecm
mailing list