annotate level1/cmds/debug.asm @ 1166:bb618bed0bdc

Miscellaneous source improvements
author boisy
date Mon, 19 May 2003 11:06:54 +0000
parents c155aac72190
children 84ea83668304
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1 ********************************************************************
1166
bb618bed0bdc Miscellaneous source improvements
boisy
parents: 924
diff changeset
2 * debug - 6809/6309 debugger
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
3 *
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
4 * $Id$
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
5 *
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
6 * Ed. Comments Who YY/MM/DD
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
7 * ------------------------------------------------------------------
200
e9ce43cc215e Made major changes to headers for consistency and identification
boisy
parents: 116
diff changeset
8 * 6 From Tandy OS-9 Level One VR 02.00.00
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
9 * 9 From Tandy OS-9 Level Two Development System, BGP 03/01/03
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
10 * back ported to OS-9 Level One
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
11 * 10 Start of optimizations, works under NitrOS-9 BGP 03/01/05
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
12
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
13 nam debug
1166
bb618bed0bdc Miscellaneous source improvements
boisy
parents: 924
diff changeset
14 ttl 6809/6309 debugger
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
15
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
16 * Disassembled 02/07/06 13:05:58 by Disasm v1.6 (C) 1988 by RML
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
17
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
18 ifp1
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
19 use defsfile
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
20 endc
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
21
924
c155aac72190 Made cosmetic changes
boisy
parents: 735
diff changeset
22 * Changable settings
c155aac72190 Made cosmetic changes
boisy
parents: 735
diff changeset
23 NumBrkPt equ 12 number of breakpoints
c155aac72190 Made cosmetic changes
boisy
parents: 735
diff changeset
24 BuffSiz equ $145
c155aac72190 Made cosmetic changes
boisy
parents: 735
diff changeset
25 UnknSiz equ 80
c155aac72190 Made cosmetic changes
boisy
parents: 735
diff changeset
26
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
27 tylg set Prgrm+Objct
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
28 atrv set ReEnt+rev
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
29 rev set $01
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
30 edition set 10
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
31
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
32 L0000 mod eom,name,tylg,atrv,start,size
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
33
924
c155aac72190 Made cosmetic changes
boisy
parents: 735
diff changeset
34 org 0
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
35 curraddr rmb 2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
36 u0002 rmb 2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
37 u0004 rmb 2
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
38 buffptr rmb 2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
39 u0008 rmb 2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
40 prevaddr rmb 2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
41 bptable rmb 2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
42 isnarrow rmb 1
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
43 * extra memory allocated at start
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
44 rmb (NumBrkPt*3)
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
45 rmb UnknSiz
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
46 rmb BuffSiz
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
47 rmb R$Size
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
48 rmb 44
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
49 size equ .
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
50
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
51 * Debugger Errors
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
52 E$BadCnt equ 0 illegal constant
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
53 E$ZerDiv equ 1 divide by zero
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
54 E$MulOvf equ 2 product > 65535
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
55 E$OpMsng equ 3 operator not follwed by legal operand
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
56 E$RParen equ 4 right paren missing
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
57 E$RBrckt equ 5 right bracket missing
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
58 E$RABrkt equ 6 right angle bracket > missing
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
59 E$IllReg equ 7 illegal register
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
60 E$BytOvf equ 8 value > 255 for byte
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
61 E$CmdErr equ 9 illegal command
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
62 E$NotRAM equ 10 memory is ROM
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
63 E$BPTFull equ 11 breakpoint table full
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
64 E$NoBkPt equ 12 breakpoint not found
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
65 E$BadSWI equ 13 Illegal SWI
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
66
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
67 name fcs /debug/
200
e9ce43cc215e Made major changes to headers for consistency and identification
boisy
parents: 116
diff changeset
68 fcb edition
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
69
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
70 L0013 bsr L0021
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
71 bra L0019
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
72 L0017 bsr L0027
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
73 L0019 pshs a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
74 lda #C$SPAC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
75 sta ,x+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
76 puls pc,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
77 L0021 exg a,b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
78 bsr L0027
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
79 tfr a,b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
80 L0027 pshs b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
81 andb #$F0
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
82 lsrb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
83 lsrb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
84 lsrb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
85 lsrb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
86 bsr L0035
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
87 puls b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
88 andb #$0F
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
89 L0035 cmpb #$09
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
90 bls L003B
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
91 addb #$07
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
92 L003B addb #$30
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
93 stb ,x+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
94 rts
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
95 L0040 pshs u,y,b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
96 leau <L0065,pcr
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
97 ldy #$0005
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
98 L0049 clr ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
99 L004B subd ,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
100 bcs L0053
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
101 inc ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
102 bra L004B
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
103 L0053 addd ,u++
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
104 pshs b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
105 ldb $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
106 addb #$30
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
107 stb ,x+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
108 puls b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
109 leay -$01,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
110 bne L0049
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
111 puls pc,u,y,b
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
112
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
113 L0065 fdb $2710,$03e8,$0064,$000a,$0001
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
114
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
115 L006F lbsr EatSpace skip spaces
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
116 leax $01,x point after byte in A
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
117 cmpa #'# decimal specifier?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
118 beq DoDec branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
119 cmpa #'% binary specifier?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
120 beq DoBin branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
121 cmpa #'$ hex specifier?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
122 beq DoHex branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
123 leax -$01,x back up
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
124
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
125 * Make hex number
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
126 DoHex leas -$04,s make room on stack for hex
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
127 bsr Clr4 clear bytes on stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
128 L0086 bsr AtoInt get integer value at ,X
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
129 bcc L00A0 branch if ok
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
130 cmpb #'A may be hex digit.. check for
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
131 lbcs L0110 branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
132 cmpb #'F check upperbound
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
133 bls L009E branch if ok
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
134 cmpb #'a now check lowercase
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
135 bcs L0110 branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
136 cmpb #'f check upperbound
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
137 bhi L0110 branch if not ok
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
138 subb #$20 else make uppercase
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
139 L009E subb #$37 and get value
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
140 L00A0 stb ,s save value on stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
141 ldd $02,s get two bytes from stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
142 bita #$F0 upper nibble set?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
143 bne L0123 branch if so
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
144 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
145 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
146 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
147 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
148 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
149 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
150 lslb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
151 rola
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
152 lslb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
153 rola
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
154 lslb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
155 rola
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
156 lslb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
157 rola
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
158 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
159 addb ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
160 adca #$00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
161 std $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
162 inc $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
163 bra L0086
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
164
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
165 * Make decimal number
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
166 DoDec leas -$04,s make room on stack
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
167 bsr Clr4 clear it
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
168 L00BE bsr AtoInt convert ASCII char in A
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
169 bcs L0110
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
170 stb ,s save integer char
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
171 ldd $02,s get word on stack
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
172 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
173 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
174 ELSE
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
175 lslb
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
176 rola D * 2
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
177 ENDC
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
178 std $02,s save
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
179 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
180 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
181 lsld
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
182 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
183 lslb
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
184 rola D * 4
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
185 lslb
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
186 rola D * 8
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
187 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
188 bcs L0123
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
189 addd $02,s add to word on stack
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
190 bcs L0123
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
191 addb ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
192 adca #$00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
193 bcs L0123
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
194 std $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
195 inc $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
196 bra L00BE
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
197
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
198 * Make binary number
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
199 DoBin leas -$04,s make room on stack
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
200 bsr Clr4 clear it
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
201 L00E4 ldb ,x+ get char at X
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
202 subb #'0 subtract ASCII 0
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
203 bcs L0110 branch if lower
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
204 lsrb divide by 2
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
205 bne L0110 branch if not zero
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
206 rol $03,s multiply 2,s * 2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
207 rol $02,s
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
208 bcs L0123 branch if carry set
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
209 inc $01,s
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
210 bra L00E4 get next char
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
211
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
212 * Clear 4 bytes on stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
213 * Exit:
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
214 * A,B = 0
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
215 Clr4 equ *
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
216 IFNE H6309
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
217 clrd
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
218 ELSE
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
219 clra
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
220 clrb
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
221 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
222 std $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
223 std $04,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
224 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
225
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
226 * ASCII to Integer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
227 * Entry:
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
228 * X = address where byte is
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
229 * Exit:
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
230 * X = address + 1
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
231 * Carry = clear: B = integer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
232 * Carry = set: B = ASCII char value
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
233 AtoInt ldb ,x+ get char at X
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
234 cmpb #'0 zero?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
235 bcs L0108 branch if lower
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
236 cmpb #'9 9?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
237 bls L010B branch if lower/same
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
238 L0108 orcc #Carry else set carry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
239 rts and return
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
240 L010B subb #'0 get real value
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
241 andcc #^Carry clear carry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
242 rts return
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
243
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
244 L0110 leax -$01,x back up X by 1
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
245 tst $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
246 beq L011C
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
247 ldd $02,s
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
248 andcc #^Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
249 bra L0120
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
250 L011C orcc #Zero
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
251 L011E orcc #Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
252 L0120 leas $04,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
253 rts
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
254 L0123 andcc #^Zero
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
255 bra L011E
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
256
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
257 * Eat spaces
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
258 EatSpace lda ,x+
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
259 cmpa #C$SPAC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
260 beq EatSpace
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
261 leax -$01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
262 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
263
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
264 L0130 pshs x,b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
265 lda $03,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
266 mul
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
267 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
268 lda $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
269 ldb $04,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
270 mul
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
271 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
272 lda $04,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
273 ldb $07,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
274 bsr L0157
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
275 lda $05,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
276 ldb $06,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
277 bsr L0157
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
278 andcc #^Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
279 ldd $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
280 ldx ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
281 beq L0154
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
282 orcc #Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
283 L0154 leas $08,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
284 rts
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
285 L0157 mul
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
286 addd $03,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
287 std $03,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
288 bcc L0160
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
289 inc $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
290 L0160 rts
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
291 L0161 pshs y,x,b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
292 ldd ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
293 bne L016B
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
294 orcc #Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
295 bra L018B
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
296 L016B ldd #$0010
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
297 stb $04,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
298 clrb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
299 L0171 lsl $03,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
300 rol $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
301 rolb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
302 rola
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
303 subd ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
304 bmi L017F
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
305 inc $03,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
306 bra L0181
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
307 L017F addd ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
308 L0181 dec $04,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
309 bne L0171
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
310 tfr d,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
311 ldd $02,s
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
312 andcc #^Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
313 L018B leas $06,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
314 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
315
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
316 * Copy from Y to X until byte zero is encountered
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
317 L018E sta ,x+
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
318 CopyY2X lda ,y+
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
319 bne L018E
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
320 rts
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
321
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
322 L0195 pshs u,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
323 tfr s,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
324 bsr L01A7
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
325 andcc #^Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
326 puls pc,u,y
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
327
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
328 L019F tfr u,s
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
329 orcc #Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
330 puls pc,u,y
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
331
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
332 L01A5 leax $01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
333 L01A7 bsr L01C9
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
334 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
335 L01AB bsr L021D
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
336 cmpa #'- subtract?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
337 bne L01B9
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
338 bsr L01C7
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
339 nega
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
340 negb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
341 sbca #$00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
342 bra L01BF
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
343 L01B9 cmpa #'+ add?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
344 bne L01C5
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
345 bsr L01C7
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
346 L01BF addd ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
347 std ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
348 bra L01AB
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
349 L01C5 puls pc,b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
350 L01C7 leax $01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
351 L01C9 bsr L01FD
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
352 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
353 L01CD bsr L021D
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
354 cmpa #'* multiply?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
355 bne L01E2
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
356 bsr L01FB
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
357 pshs x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
358 ldx $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
359 lbsr L0130
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
360 bcc L01F5
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
361 ldb #E$MulOvf
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
362 bra L019F
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
363 L01E2 cmpa #'/ divide?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
364 bne L01C5
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
365 bsr L01FB
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
366 pshs x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
367 ldx $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
368 lbsr L0161
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
369 bcc L01F5
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
370 ldb #E$ZerDiv
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
371 bra L019F
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
372 L01F5 puls x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
373 std ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
374 bra L01CD
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
375 L01FB leax $01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
376 L01FD bsr L0222
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
377 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
378 L0201 bsr L021D
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
379 cmpa #'& logical and?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
380 bne L020F
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
381 bsr L0220
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
382 andb $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
383 anda ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
384 bra L0219
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
385 L020F cmpa #'! logical or?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
386 bne L01C5
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
387 bsr L0220
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
388 orb $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
389 ora ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
390 L0219 std ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
391 bra L0201
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
392 L021D lbra EatSpace
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
393 L0220 leax $01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
394 L0222 bsr L021D
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
395 cmpa #'^ logical not?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
396 bne L022E
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
397 bsr ParsExp
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
398 comb not B
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
399 coma not A
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
400 bra L0238
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
401 L022E cmpa #'- negate?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
402 bne L023B
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
403 bsr ParsExp
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
404 nega
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
405 negb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
406 sbca #$00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
407 L0238 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
408
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
409 ParsExp leax $01,x
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
410 L023B bsr L021D
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
411 cmpa #'( open paren?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
412 bne L0250
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
413 lbsr L01A5
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
414 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
415 bsr L021D
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
416 cmpa #') close paren?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
417 beq L0282
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
418 ldb #E$RParen
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
419 bra L0265
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
420 L0250 cmpa #'[
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
421 bne L026A
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
422 lbsr L01A5
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
423 tfr d,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
424 ldd ,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
425 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
426 bsr L021D
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
427 cmpa #']
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
428 beq L0282
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
429 ldb #E$RBrckt
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
430 L0265 leas $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
431 L0267 lbra L019F
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
432 L026A cmpa #'<
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
433 bne L0286
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
434 lbsr L01A5
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
435 tfr d,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
436 clra
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
437 ldb ,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
438 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
439 bsr L021D
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
440 cmpa #'>
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
441 beq L0282
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
442 ldb #E$RABrkt
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
443 bra L0265
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
444 L0282 leax $01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
445 puls pc,b,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
446
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
447 L0286 cmpa #C$PERD
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
448 bne L028F
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
449 ldd <curraddr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
450 leax $01,x
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
451 rts
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
452
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
453 L028F cmpa #'' ASCII byte?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
454 bne L0297
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
455 ldd ,x++
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
456 clra
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
457 rts
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
458
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
459 L0297 cmpa #'" ASCII word?
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
460 bne L02A0
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
461 leax $01,x point past quote char
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
462 ldd ,x++
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
463 rts
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
464
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
465 L02A0 cmpa #':
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
466 bne L02B4
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
467 leax $01,x
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
468 bsr GetReg get register that follows :
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
469 bcs L0267 branch if error
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
470 tsta is this byte or word register?
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
471 bmi L02B1 branch if word
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
472 clra else clear hi byte
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
473 ldb ,y and get byte at offset
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
474 rts
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
475 L02B1 ldd ,y get word at offset
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
476 L02B3 rts return
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
477
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
478 L02B4 lbsr L006F
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
479 bcc L02B3
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
480 beq L02BF
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
481 ldb #E$OpMsng
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
482 bra L0267
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
483 L02BF ldb #E$BadCnt
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
484 bra L0267
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
485
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
486 * Parse individual register
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
487 * Entry:
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
488 * X = address of register to find
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
489 * Exit:
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
490 * A = register offset value in table
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
491 * Y = ptr to register offset in stack
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
492 GetReg ldb #RegEnts get number of register entries
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
493 pshs b
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
494 ldd ,x get first two chars in D
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
495 cmpd #$7370 sp?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
496 beq L02D5 branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
497 cmpd #$5350 SP?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
498 bne L02E2 branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
499 L02D5 leax $02,x move past two chars
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
500 ldd #$0002
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
501 tfr dp,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
502 tfr d,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
503 lda #$80
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
504 bra L0314
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
505 L02E2 leay >RegList,pcr
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
506 L02E6 lda ,y get first char of register entry
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
507 ldb $01,y get second char of register entry
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
508 bne L02F8 branch if two chars
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
509 cmpa ,x same as user input?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
510 beq L0307 yes, a match
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
511 adda #$20 make lowercase
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
512 cmpa ,x same as user input?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
513 beq L0307 yes, a match
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
514 bra L0318
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
515 L02F8 cmpd ,x same as user input?
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
516 beq L0305 yes, a match
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
517 addd #$2020 make uppercase
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
518 cmpd ,x same as user input?
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
519 bne L0318 branch if not
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
520 L0305 leax $01,x point X to next char
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
521 L0307 leax $01,x point X to next char
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
522 lda $02,y get offset
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
523 tfr a,b transfer to B
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
524 andb #$0F mask off hi nibble
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
525 ldy <u0002 get stack in Y
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
526 leay b,y move Y to offset in stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
527 L0314 andcc #^Carry clear carry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
528 puls pc,b return
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
529
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
530 L0318 leay $03,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
531 dec ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
532 bne L02E6
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
533 orcc #Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
534 puls pc,b
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
535
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
536 * Register list for 6809/6309
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
537 RegList fcc "CC"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
538 fcb R$CC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
539 fcc "DP"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
540 fcb R$DP
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
541 fcc "PC"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
542 fcb $80+R$PC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
543 fcc "A"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
544 fcb $00,R$A
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
545 fcc "B"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
546 fcb $00,R$B
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
547 fcc "D"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
548 fcb $00,$80+R$A
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
549 IFNE H6309
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
550 fcc "E"
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
551 fcb $00,R$E
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
552 fcc "F"
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
553 fcb $00,R$F
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
554 fcc "W"
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
555 fcb $00,$80+R$E
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
556 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
557 fcc "X"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
558 fcb $00,$80+R$X
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
559 fcc "Y"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
560 fcb $00,$80+R$Y
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
561 fcc "U"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
562 fcb $00,$80+R$U
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
563 RegEnts equ (*-RegList)/3
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
564
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
565 start leas >size,u point S to end of memory
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
566 leas -R$Size,s back off size of register stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
567 sts <u0002 save off
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
568 sts <u0004
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
569 leay >DefBrk,pcr
691
ddf512f635d2 Ever so closer
boisy
parents: 687
diff changeset
570 sty R$PC,s
ddf512f635d2 Ever so closer
boisy
parents: 687
diff changeset
571 lda #Entire
ddf512f635d2 Ever so closer
boisy
parents: 687
diff changeset
572 sta R$CC,s
ddf512f635d2 Ever so closer
boisy
parents: 687
diff changeset
573 tfr s,x X = size-R$Size
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
574 leax >-BuffSiz,x back off appropriate byte count
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
575 stx <buffptr and save off ptr for line buffer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
576 leax <-UnknSiz,x back off more
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
577 stx <u0008
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
578 leax <-NumBrkPt*3,x
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
579 stx <bptable save pointer to breakpoint table
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
580 clr <curraddr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
581 clr <curraddr+1
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
582 clr <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
583 pshs y,x,b,a
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
584 lda #$01 stdout
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
585 ldb #SS.ScSiz get screen size
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
586 os9 I$GetStt do it!
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
587 bcc L0380
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
588 cmpb #E$UnkSvc
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
589 beq L0387
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
590 puls x,y,b,a
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
591 lbra L0735
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
592 L0380 cmpx #80 80 columns?
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
593 beq L0387 branch if so
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
594 inc <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
595 L0387 puls x,y,b,a
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
596 * Clear breakpoint table
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
597 L036A clr ,x+
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
598 cmpx <buffptr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
599 bcs L036A
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
600 leax >IcptRtn,pcr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
601 lda #$01 SSWI Vector 1
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
602 os9 F$SSWi set software interrupt routine
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
603 os9 F$Icpt set intercept routine
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
604 lbsr WritCR write carriage return
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
605 ldx <buffptr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
606 leay >Title,pcr point to title
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
607 * bsr L03C2 print it
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
608 lbsr CopyY2X print it
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
609 lbsr WritCR2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
610
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
611 * Show prompt and get input from standard input to process
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
612 GetInput leay >Prompt,pcr point to prompt
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
613 lbsr PrintY print it
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
614 lbsr ReadLine read line from std input
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
615 leay >CmdTbl,pcr point to command table
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
616 lda ,x get character from read buffer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
617 cmpa #'a compare against lowercase a
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
618 bcs L03A2 branch if lower
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
619 suba #$20 make uppercase
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
620 sta ,x and save
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
621 L03A2 leay $03,y walk through table
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
622 lda ,y get char to compare against in A
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
623 beq SyntxErr branch if done
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
624 cmpa ,x same?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
625 bne L03A2 if not, get next
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
626 * Here we have a command match, dispatch it
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
627 leax $01,x move past char
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
628 ldd $01,y get handle address
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
629 leau >L0000,pcr point to start of module
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
630 jsr d,u and branch to subroutine
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
631 bra GetInput
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
632
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
633 * Command wasn't recognized
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
634 SyntxErr ldb #E$CmdErr
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
635 bsr ShowErr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
636 bra GetInput
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
637
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
638 ShowErr os9 F$PErr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
639 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
640
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
641 *L03C2 lbra CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
642
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
643 * Show byte at current memptr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
644 DotCmd lda ,x get byte after cmd byte
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
645 cmpa #C$PERD is it a period?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
646 bne L03CF branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
647 ldd <prevaddr else get previous address
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
648 bra L03DC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
649 L03CF cmpa #C$CR cr?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
650 bne L03D7 branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
651 L03D3 ldd <curraddr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
652 bra L03DC
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
653 L03D7 lbsr L0195
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
654 bcs ShowErr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
655 L03DC ldx <curraddr get current memory loc
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
656 stx <prevaddr store in previous memory loc
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
657 std <curraddr and save D in new memory loc
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
658 pshs b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
659 bsr L0415
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
660 ldd ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
661 lbsr L0013
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
662 puls y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
663 ldb ,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
664 lbsr L0027
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
665 lbra WritCR2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
666
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
667 * Show previous byte
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
668 PrevByte ldd <curraddr get current memory address
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
669 IFNE H6309
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
670 decd
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
671 ELSE
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
672 subd #$0001 subtract 1
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
673 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
674 bra L03DC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
675
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
676 * Set byte at current location
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
677 SetLoc bsr L043F
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
678 bcs ShowErr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
679 ldx <curraddr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
680 stb ,x store byte at curraddr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
681 cmpb ,x compare (in case it is ROM)
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
682 beq NextByte branch if equal
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
683 ldb #E$NotRAM else load B with error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
684 bsr ShowErr and show it
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
685 bra L03D3
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
686
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
687 * Show next byte
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
688 NextByte ldd <curraddr get current memory address
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
689 IFNE H6309
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
690 incd
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
691 ELSE
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
692 addd #$0001 add one to it
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
693 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
694 bra L03DC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
695 L0415 ldx <buffptr load X with buffer pointer
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
696 pshs b,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
697 leay >Spaces,pcr point to spaces
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
698 * bsr L03C2
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
699 lbsr CopyY2X
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
700 puls pc,b,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
701
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
702 * Calc expression
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
703 Calc lbsr L0195
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
704 bcs ShowErr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
705 bsr L0415
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
706 pshs b,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
707 lda #'$ hex prefix
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
708 sta ,x+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
709 lda ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
710 lbsr L0013
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
711 lda #'# decimal prefix
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
712 sta ,x+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
713 puls b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
714 lbsr L0040
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
715 lbra WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
716 L043F lbsr L0195
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
717 bcs L044B
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
718 tsta
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
719 beq L044B
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
720 ldb #E$BytOvf
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
721 orcc #Carry
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
722 L044B rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
723
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
724 * Show all registers
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
725 ShowRegs lbsr L0512
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
726 beq L04AF
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
727 lbsr GetReg
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
728 lbcs ShowErr
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
729 pshs y,a save pointer to register and offset
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
730 lbsr L0512
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
731 bne L0475
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
732 bsr L0415
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
733 puls y,a retreive pointer to register and offset
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
734 tsta test A
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
735 bpl L046D branch if positive, means one byte3
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
736 ldd ,y load D with two bytes
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
737 lbsr L0021
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
738 bra L0472
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
739 L046D ldb ,y load B with one byte
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
740 lbsr L0027
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
741 L0472 lbra WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
742 L0475 lda ,s+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
743 bpl L0485
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
744 lbsr L0195
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
745 puls y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
746 lbcs L054E
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
747 std ,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
748 rts
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
749 L0485 bsr L043F
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
750 puls y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
751 lbcs L054E
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
752 stb ,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
753 rts
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
754
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
755 ShrtHdr fcc "PC="
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
756 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
757 fcc "A="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
758 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
759 fcc "B="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
760 fcb $00
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
761 IFNE H6309
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
762 fcc "E="
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
763 fcb $00
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
764 fcc "F="
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
765 fcb $00
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
766 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
767 fcc "CC="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
768 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
769 fcc "DP="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
770 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
771 fcc "SP="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
772 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
773 fcc "X="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
774 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
775 fcc "Y="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
776 fcb $00
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
777 fcc "U="
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
778 fcb $00
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
779
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
780 L04AF tst <isnarrow wide screen?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
781 beq WidRegs branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
782 pshs u save U
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
783 ldx <buffptr point to buffer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
784 leay <ShrtHdr,pcr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
785 ldu <u0002
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
786 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
787 ldd R$PC,u
720
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
788 IFNE H6309
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
789 lbsr L0505
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
790 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
791 bsr L0505
720
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
792 ENDC
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
793 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
794 ldb R$A,u
720
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
795 IFNE H6309
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
796 lbsr L050F
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
797 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
798 bsr L050F
720
fd335d32b9f8 Put in needed long branches for 6309
boisy
parents: 719
diff changeset
799 ENDC
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
800 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
801 ldb R$B,u
735
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
802 IFNE H6309
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
803 lbsr L050F
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
804 ELSE
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
805 bsr L050F
735
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
806 ENDC
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
807 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
808 IFNE H6309
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
809 ldb R$E,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
810 bsr L050F
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
811 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
812 ldb R$F,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
813 bsr L050F
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
814 pshs y
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
815 lbsr WritCR2
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
816 puls y
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
817 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
818 ENDC
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
819 ldb R$CC,u
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
820 bsr L050F
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
821 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
822 ldb R$DP,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
823 bsr L050F
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
824 IFEQ H6309
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
825 pshs y
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
826 lbsr WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
827 puls y
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
828 ENDC
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
829 lbsr CopyY2X
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
830 tfr u,d
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
831 bsr L0505
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
832 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
833 ldd R$X,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
834 bsr L0505
735
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
835 IFNE H6309
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
836 pshs y
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
837 lbsr WritCR2
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
838 puls y
98acb7c3a708 Added code to allow printing of registers in 6309 mode on a narrow screen
boisy
parents: 729
diff changeset
839 ENDC
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
840 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
841 ldd R$Y,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
842 bsr L0505
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
843 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
844 ldd R$U,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
845 bsr L0505
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
846 lbsr WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
847 puls pc,u
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
848 * Show registers in wide form
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
849 WidRegs lbsr L0415
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
850 leay >RegHdr,pcr
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
851 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
852 lbsr WritCR2
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
853 lbsr L0415
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
854 ldd <u0002
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
855 bsr L0505 show SP
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
856 ldy <u0002
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
857 bsr L050D show CC
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
858 bsr L050D show A
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
859 bsr L050D show B
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
860 IFNE H6309
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
861 bsr L050D show E
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
862 bsr L050D show F
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
863 ENDC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
864 bsr L050D show DP
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
865 bsr L0550 show X
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
866 bsr L0550 show Y
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
867 bsr L0550 show U
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
868 bsr L0550 show PC
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
869 lbra WritCR2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
870
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
871 L0550 ldd ,y++
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
872 L0505 lbra L0013
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
873 L0508 ldd ,y++
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
874 lbra L0021
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
875 L050D ldb ,y+
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
876 L050F lbra L0017
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
877
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
878 * Eat spaces and compare char with CR
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
879 L0512 lbsr EatSpace
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
880 cmpa #C$CR
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
881 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
882
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
883 * Set/show breakpoints
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
884 SetBkpt bsr L0512 any parameters?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
885 bne L0538 branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
886 * Here we show all breakpoints
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
887 lbsr L0415
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
888 ldy <bptable get breakpoints base
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
889 ldb #NumBrkPt get breakpoint count
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
890 pshs b save on stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
891 L0526 ldd ,y empty?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
892 beq L052D branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
893 lbsr L0013 else show breakpoint at Y
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
894 L052D leay $03,y
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
895 dec ,s dec breakpoint count
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
896 bne L0526 continue searching
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
897 leas $01,s kill byte on stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
898 lbra WritCR2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
899 * Set breakpoint here
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
900 L0538 lbsr L0195
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
901 bcs L054E
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
902 pshs b,a save desired breakpoint address
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
903 bsr SrchBkpt search to see if it is already in table
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
904 beq L0551 if duplicate, just exit
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
905 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
906 clrd else load D with empty address
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
907 ELSE
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
908 ldd #$0000 else load D with empty address
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
909 ENDC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
910 bsr SrchBkpt search for empty
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
911 beq L0551 branch if found
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
912 ldb #E$BPTFull else table is full
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
913 leas $02,s clean up stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
914 L054E lbra ShowErr and show error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
915 L0551 puls b,a get breakpoint address off stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
916 std ,y and save it at breakpoint entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
917 rts then return
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
918
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
919 * Search for existing breakpoint that matches address in D
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
920 SrchBkpt pshs u save U
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
921 tfr d,u transfer addr to search in U
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
922 ldb #NumBrkPt get number of breakpoints
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
923 ldy <bptable point Y to base of breakpoints
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
924 L055F cmpu ,y match?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
925 beq L056D branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
926 leay $03,y else move to next entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
927 decb dec couner
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
928 bne L055F if not 0, continue search
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
929 ldb #E$NoBkPt
116
6c363f0afba7 Made more changes
boisy
parents: 115
diff changeset
930 andcc #^Zero
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
931 L056D puls pc,u
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
932
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
933 * Kill breakpoint(s)
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
934 KillBkpt bsr L0512 any parameters?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
935 beq KillAll branch if none
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
936 lbsr L0195 else get parameter
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
937 bcs L054E branch if error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
938 bsr SrchBkpt
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
939 bne L054E
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
940 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
941 clrd
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
942 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
943 clra
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
944 clrb
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
945 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
946 std ,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
947 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
948 * Kill all breakpoints
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
949 KillAll ldy <bptable
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
950 ldb #NumBrkPt*3
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
951 L0586 clr ,y+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
952 decb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
953 bne L0586
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
954 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
955
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
956 * Go at address
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
957 GoPC bsr L0512 any parameters?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
958 beq L059A branch if none
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
959 lbsr L0195
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
960 bcs L054E
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
961 ldy <u0002 get execution stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
962 std R$PC,y save new PC
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
963 * Now we set up all breakpoints in memory
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
964 L059A ldy <bptable
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
965 ldb #R$Size get register size
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
966 ldx <u0002 point to registers
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
967 ldx R$PC,x get PC
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
968 L05A3 ldu ,y get breakpoint at entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
969 beq L05B3 branch if empty
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
970 lda ,u get byte at breakpoint address
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
971 sta $02,y save in breakpoint entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
972 cmpx ,y is breakpoint same as PC?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
973 beq L05B3 branch if so
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
974 lda #$3F else take SWI instruction
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
975 sta ,u and store it at address of breakpoint
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
976 L05B3 leay $03,y move to next breakpoint entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
977 decb decrement
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
978 bne L05A3 branch if not complete
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
979 lds <u0002 get execution stack
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
980 rti run program
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
981
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
982 MemDump bsr L0613
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
983 bcs L054E
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
984 tst <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
985 bne L0615
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
986 orb #$0F
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
987 bra L0617
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
988 L0615 orb #$07
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
989 L0617 exg d,u
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
990 tst <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
991 bne L0621
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
992 andb #$F0
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
993 bra L0623
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
994 L0621 andb #$F8
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
995 L0623 pshs u,b,a
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
996 cmpd $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
997 bcc L05D9
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
998 L05CD ldy ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
999 leay -$01,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1000 cmpy $02,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1001 leay $01,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1002 bcs L05DB
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1003 L05D9 puls pc,u,b,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1004 L05DB ldx <buffptr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1005 tfr y,d
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1006 lbsr L0013
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1007 tst <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1008 bne L0647
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1009 ldb #8
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1010 bra L0649
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1011 L0647 ldb #4
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1012 L0649 pshs b
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1013 L05E6 tst <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1014 bne L0654
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1015 lbsr L0550
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1016 bra L0657
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1017 L0654 lbsr L0508
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1018 L0657 dec ,s
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1019 bne L05E6
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1020 tst <isnarrow
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1021 bne L0663
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1022 ldb #16
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1023 bra L0668
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1024 L0663 lbsr L0019
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1025 ldb #8
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1026 L0668 stb ,s
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1027 ldy $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1028 L05F7 lda ,y+
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1029 cmpa #'~
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1030 bhi L0601
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1031 cmpa #C$SPAC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1032 bcc L0603
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1033 L0601 lda #'.
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1034 L0603 sta ,x+
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1035 dec ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1036 bne L05F7
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1037 leas $01,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1038 sty ,s
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1039 lbsr WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1040 bra L05CD
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1041 L0613 lbsr L0195
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1042 bcs L061D
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1043 tfr d,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1044 lbsr L0195
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1045 L061D rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1046
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1047 ClearMem bsr L0613
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1048 lbcs ShowErr
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1049 pshs b,a save fill word
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1050 L0626 cmpu ,s
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1051 bls L062D
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1052 puls pc,b,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1053 L062D ldd #$8008
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1054 sta ,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1055 L0632 cmpa ,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1056 bne L063E
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1057 lsra
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1058 lsr ,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1059 decb
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1060 bne L0632
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1061 bra L064E
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1062 L063E lbsr L0415
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1063 ldd #$2D20 dash, space
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1064 std ,x++
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1065 tfr u,d
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1066 lbsr L0021
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1067 lbsr WritCR2
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1068 L064E leau 1,u
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1069 bra L0626
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1070
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1071 * Intercept routine
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1072 IcptRtn equ *
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1073 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1074 tfr 0,dp
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1075 ELSE
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1076 clra
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1077 tfr a,dp
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1078 ENDC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1079 IFEQ Level-1
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1080 ldx <D.Proc get curr proc ptr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1081 lda P$ADDR,x get hi word of user addr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1082 tfr a,dp transfer it to DP
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1083 ENDC
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1084 sts <u0002
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1085 ldd R$PC,s
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1086 IFNE H6309
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1087 decd
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1088 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1089 subd #$0001
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1090 ENDC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1091 std R$PC,s
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1092 lds <u0004
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1093 lbsr SrchBkpt
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1094 beq L0672
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1095 ldb #E$BadSWI
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1096 lbsr ShowErr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1097 * Clear breakpoints in memory
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1098 L0672 ldy <bptable point to break point table
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1099 ldb #NumBrkPt get number of entries
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1100 L0677 ldx ,y get address in entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1101 beq L067F branch if empty
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1102 lda $02,y get saved byte
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1103 sta ,x restore it
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1104 L067F leay $03,y move to next entry
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1105 decb dec counter
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1106 bne L0677 continue if not zero
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1107 lbsr WritCR
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1108 lbsr L0415
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1109 leay >L07A9,pcr
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1110 lbsr CopyY2X
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1111 lbsr WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1112 lbsr L04AF
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1113 lbra GetInput
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1114
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1115 LinkMod bsr LinkIt link to module
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1116 lbcs ShowErr branch if error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1117 ldx <buffptr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1118 tfr u,d
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1119 pshs u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1120 lbsr L03DC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1121 lbsr WritCR2
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1122 puls u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1123 bra L06CC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1124
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1125 LinkIt lbsr EatSpace skip over blank spaces at X
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1126 * lda #$00
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1127 clra
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1128 os9 F$Link link to module name at X
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1129 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1130
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1131 * Prepare module for execution
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1132 PrepMod bsr LinkIt
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1133 lbcs ShowErr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1134 ldd M$Mem,u get memory requirements
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1135 addd #512 add an extra 512 bytes
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1136 os9 F$Mem allocate, Y = upperbound
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1137 bcc UnlinkIt branch if ok
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1138 lbsr ShowErr show error
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1139 L06CC equ *
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1140 IFEQ Level-1
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1141 os9 F$UnLink
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1142 ENDC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1143 rts and return
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1144
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1145 UnlinkIt os9 F$UnLink unlink module
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1146 pshs u,y,x save u,y,x
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1147 L06D5 lda ,x+ get next parameter char
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1148 cmpa #C$CR carriage return?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1149 bne L06D5 branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1150 clrb start at zero
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1151 L06DC lda ,-x get parameter char
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1152 sta ,-y store in buffer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1153 incb continue
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1154 cmpx ,s reached start of parameter?
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1155 bhi L06DC branch if not
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1156 sty -R$U,y
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1157 leay -R$Size,y
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1158 sty <u0002
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1159 clra
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1160 std R$A,y
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1161 puls u,x,b,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1162 stx R$Y,y
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1163 ldd M$Exec,u get exec offset in D
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1164 leax d,u point X to execution address
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1165 stx R$PC,y save at PC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1166 tfr cc,a
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1167 ora #Entire
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1168 sta R$CC,y
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1169 tfr dp,a
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1170 adda #$02
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1171 clrb
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1172 std R$U,y
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1173 sta R$DP,y
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1174 lbra L04AF
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1175
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1176 * Fork program (default is shell)
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1177 ForkPrg lbsr EatSpace skip leading spaces
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1178 IFNE H6309
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1179 clrd
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1180 ELSE
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1181 clra
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1182 clrb
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1183 ENDC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1184 tfr x,u move param ptr to U
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1185 tfr d,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1186 L0715 leay $01,y
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1187 lda ,x+
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1188 cmpa #C$CR
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1189 bne L0715
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1190 clra
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1191 leax <ShellNam,pcr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1192 os9 F$Fork fork shell plus any parameters
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1193 bcs L0729 branch if error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1194 os9 F$Wait wait for shell to finish
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1195 L0729 lbcs ShowErr branch if error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1196 rts and return
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1197
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1198 ShellNam fcc "shell"
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1199 fcb $00
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1200
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1201 * Exit without error
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1202 ExitOk clrb
711
63a34e438dde Now assembles for L1 and L2
boisy
parents: 691
diff changeset
1203 L0735 os9 F$Exit
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1204
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1205 * Search for byte or word from . to end address
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1206 * Syntax: S endaddr byte
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1207 * S endaddr word
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1208 SrchMem lbsr L0613
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1209 lbcs ShowErr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1210 pshs u
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1211 ldx <curraddr
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1212 tsta byte or word?
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1213 bne L0750 branch if word
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1214 L0746 cmpb ,x+ byte in B match byte at ,X?
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1215 beq L075C branch if so
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1216 cmpx ,s is X equal to end?
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1217 bne L0746 branch if not
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1218 puls pc,u else we're done
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1219 L0750 cmpd ,x+ byte in B match byte at ,X?
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1220 beq L075C branch if so
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1221 cmpx ,s
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1222 bne L0750 branch if not
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1223 puls pc,u
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1224 L075C leax -$01,x back up to mem location found
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1225 tfr x,d put memory location in D
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1226 leas $02,s wipe out stack
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1227 lbra L03DC
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1228
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1229 DefBrk swi
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1230
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1231 Title fcc "Interactive Debugger"
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1232 fcb $00
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1233
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1234 Prompt fcc "DB: "
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1235 fcb $00
721
dcaff75a19d4 More 6309 optimizations
boisy
parents: 720
diff changeset
1236 Spaces fcc " "
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1237 fcb $00
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1238
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1239 IFNE H6309
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1240 RegHdr fcc " SP CC A B E F DP X Y U PC"
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1241 ELSE
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1242 RegHdr fcc " SP CC A B DP X Y U PC"
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1243 ENDC
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1244 fcb $00
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1245
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1246 L07A9 fcc "BKPT"
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1247 CmdTbl fcc ": "
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1248 fcb $00
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1249 fcc /./
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1250 fdb DotCmd
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1251 fcc /=/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1252 fdb SetLoc
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1253 fcb C$CR
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1254 fdb NextByte
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1255 fcb C$SPAC
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1256 fdb Calc
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1257 fcc /-/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1258 fdb PrevByte
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1259 fcc /:/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1260 fdb ShowRegs
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1261 fcc /K/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1262 fdb KillBkpt
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1263 fcc /M/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1264 fdb MemDump
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1265 fcc /C/
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1266 fdb ClearMem
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1267 fcc /B/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1268 fdb SetBkpt
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1269 fcc /G/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1270 fdb GoPC
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1271 fcc /L/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1272 fdb LinkMod
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1273 fcc /E/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1274 fdb PrepMod
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1275 fcc /$/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1276 fdb ForkPrg
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1277 fcc /Q/
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1278 fdb ExitOk
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1279 fcc /S/
722
edea65d8200b Fixed apparent bug in L-I code
boisy
parents: 721
diff changeset
1280 fdb SrchMem
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1281 fcb $00
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1282
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1283 * Append CR and write to std out
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1284 WritCR ldx <buffptr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1285 WritCR2 lda #C$CR
687
3e08691aa71f More source changes
boisy
parents: 200
diff changeset
1286 sta ,x+
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1287 ldx <buffptr
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1288 ldy #81
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1289 bra WrStdOut
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1290
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1291 PrintY tfr y,x
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1292 tfr y,u
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1293 ldy #$0000
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1294 PrintYL ldb ,u+ get next char
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1295 beq WrStdOut write it
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1296 leay $01,y increase Y
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1297 bra PrintYL get more
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1298
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1299 * Write To Standard Output
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1300 * Entry:
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1301 * X = address of buffer to write
729
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1302 * Exit:
29036be0e9d8 Bumped to edition 10, made minor optimizations, needs testing
boisy
parents: 722
diff changeset
1303 * X = address of program's buffptr
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1304 WrStdOut lda #$01 stdout
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1305 os9 I$WritLn write it!
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1306 ldx <buffptr
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1307 rts
719
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1308
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1309 * Read From To Standard Input
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1310 * Exit:
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1311 * X = address of buffer to data read
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1312 ReadLine ldx <buffptr point to buffer
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1313 ldy #80 read up to 80 chars
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1314 clra from stdin
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1315 os9 I$ReadLn do it!
ff559935b40a Major changes, incorporated ed #9 from Level Two to OS-9 Level One, added
boisy
parents: 711
diff changeset
1316 ldx <buffptr reload X with line
115
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1317 rts
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1318
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1319 emod
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1320 eom equ *
a32b730f4c71 Added debug.asm
boisy
parents:
diff changeset
1321 end