annotate mc09/crtos9.asm @ 161:91447c3ccd58

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 12 Feb 2019 09:16:24 +0900
parents 1a30cd6e5973
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1
109
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 105
diff changeset
2 * * micro-C driver under FLEX * * 12-Dec-81 M.Ohta,H.Tezuka
111
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
3 * 12-Dec-2018 for OS-9 S.Kono *
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
101
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
5 *
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
6 * micro-C user program
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
7 *
103
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
8 _tylg set Prgrm+Objct
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
9 _atrv set ReEnt+rev
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
10 _rev set $00
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
11 _edition set 5
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
12 ifp1
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
13 use defsfile
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
14 endc
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
15
844305752064 no compile errors on mc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
16
101
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
17 * OPT LIST
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
18 INCLUDE "c.out" include compilers output
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
19 * OPT NOL
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
101
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
21 * x arguments pointer
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
22 * u global variable area
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
23 _start
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
24 _00000
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
25 LEAS -256,S ALLOCATE WORK AREA
104
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 103
diff changeset
26 leay _name,pcr
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 103
diff changeset
27 pshs x,y POINT TO CONTENT OF ARGUMENT VECTOR
101
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
28 leay ,u
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
29 PSHS Y
105
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
30
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
31 * allocate memory and change stack
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
32 * try to allocate maximum memory if not specified
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
33 ifndef __MEMSIZ
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
34 LDD #(1024*48)
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
35 else
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
36 LDD #__MEMSIZ
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
37 endif
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
38 pshs d
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
39 __0C004
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
40 os9 F$Mem
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
41 bcc __0C005
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
42 ldd ,s
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
43 subd #$1000
132
36000611014b micro-c buffering
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
44 lblo exit can't get any memroy
105
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
45 std ,s
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
46 bra __0C004
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
47 __0C005
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
48 * y is heap upper bound
111
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
49 * copy arg string
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
50 ldx 4,s
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
51 __0C007 tst ,x+
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
52 bne __0C007
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
53 clr ,-y
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
54 __0C008 lda ,-x
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
55 sta ,-y
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
56 cmpx 4,s
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
57 bne __0C008
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
58 sty 4,s
c4e909f21b25 micro c,j self compiled on os9 level2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
59 leax ,y
105
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
60 * copy saved arg into new stack
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
61 * and change the stack
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
62 ldy 2,s
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
63 ldd 4,s
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
64 std ,--x
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
65 ldd 6,s
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
66 std ,--x
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
67 leas ,x
102
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
68 * clear globals on Y
105
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
69 LDD #_GLOBALS
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
70 _0C002 CLR D,Y
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
71 subd #1
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
72 BNE _0C002
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
73 _0C003
109
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 105
diff changeset
74 tfr y,d
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 105
diff changeset
75 addd #_GLOBALS
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 105
diff changeset
76 std heapp,y
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 LBSR _INITIALIZE call initializer
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 LBSR _main
132
36000611014b micro-c buffering
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
79 * exit clrb
101
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
80 os9 F$Exit
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 * run time support
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 _00001 PSHS D,X,Y multiply
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 LDA ,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 LDB 3,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 MUL
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 STB 4,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 LDD 1,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 MUL
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 STB 5,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 LDA 1,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 LDB 3,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 MUL
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 ADDA 4,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 ADDA 5,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 LEAS 6,S
105
6eef99bb4771 fix runtime
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 104
diff changeset
106 initheap
99
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 _00002 CLR ,-S signed divide
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 CMPX #0
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 BPL _02000
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 COM ,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 EXG D,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 LBSR _00020
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 EXG D,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 _02000 TSTA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 BPL _02001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 COM ,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 LBSR _00020
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 _02001 LBSR _00010
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 TFR X,D
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 TST ,S+
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 BPL _02002
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 LBSR _00020
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 _02002 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 _00003 LBSR _00010 unsigned divide
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 TFR X,D
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 _00004 CLR ,-S signed modulous
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 CMPX #0
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 BPL _04000
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 EXG D,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 BSR _00020
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 EXG D,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 _04000 TSTA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 BPL _04001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 COM ,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 BSR _00020
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 _04001 BSR _00010
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 TST ,S+
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 BPL _04002
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 BSR _00020
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 _04002 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 _00005 BSR _00010 unsigned modulous
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 _00006 CMPX #0 signed left shift
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 BMI _06001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 _06000 BEQ _06009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 LSLB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 ROLA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 LEAX -1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 BRA _06000
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 _06001 BEQ _06009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 ASRA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 RORB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 LEAX 1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 BRA _06001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 _06009 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 _00007 CMPX #0 unsined left shift
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 BMI _07001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 _07000 BEQ _07009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 LSLB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 ROLA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 LEAX -1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 BRA _07000
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 _07001 BEQ _07009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 LSRA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 RORB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 LEAX 1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 BRA _07001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 _07009 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 _00008 CMPX #0 sined right shift
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 BMI _08001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 _08000 BEQ _08009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 ASRA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 RORB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 LEAX -1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 BRA _08000
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 _08001 BEQ _08009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 LSLB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 ROLA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 LEAX 1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 BRA _08001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 _08009 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 _00009 CMPX #0 unsined right shift
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 BMI _09001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 _09000 BEQ _09009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 LSRA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 RORB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 LEAX -1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 BRA _09000
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
227
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 _09001 BEQ _09009
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 LSLB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 ROLA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 LEAX 1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 BRA _09001
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
233
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 _09009 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 _00020 NEGA negate D reg
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 NEGB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 SBCA #0
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 _00010 PSHS D,X divide subroutine
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 CLRA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 CLRB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 LDX #17
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
247
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 _00011 SUBD 2,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 BCC _00012
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 ADDD 2,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 _00012 ROL 1,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 ROL ,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 ROLB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 ROLA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 LEAX -1,X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 BNE _00011
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 RORA
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 RORB
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
263
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 COM 1,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 COM ,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 PULS X
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
267
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 LEAS 2,S
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 RTS
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 *
92ed427b7f7d add micro-c by mohta
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 *
104
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 103
diff changeset
274 emod
101
15569aa4098e micro c continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 100
diff changeset
275 _eom