annotate level1/cmds/debug.asm @ 814:fd9d07c31d20

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