tpasm 1.5		Assembling on Fri Nov  4 14:04:09 2005

Source File: testunsp.asm

Line  Loc      Object/(Value) T	Source
----- -------- -------------- -	------
1     00000000 (0000FFFF)      	DATA_START	equ	65535
2     00000000                 	
3     00000000                 		processor	"unsp2.0"
4     00000000                 	//	processor	"unsp1.1"
5     00000000                 	
6     00000000 (00007000)      	P_IOA_Data:	.equ	0x7000;		// Write Data into data register and read from IOA pad
7     00000000 (00007001)      	P_IOA_Buffer:	.equ	0x7001;		// Write Data into buffer register and read from buffer register
8     00000000 (00007002)      	P_IOA_Dir:	.equ	0x7002;		// Direction vector for IOA
9     00000000 (00007003)      	P_IOA_Attrib:	.equ	0x7003;		// Attribute vector for IOA
10    00000000 (00007004)      	P_IOA_Latch:	.equ	0x7004;		// Latch PortA data for key change wake-up
11    00000000                 	
12    00000000 FFC0 B3FF       		r9&=[63]
13    00000002 B5FF            		r2=r2&[63]
14    00000003                 		
15    00000003                 		
16    00000003 0203            		r1=r1+[bp+3]
17    00000004 FFC0 02C3       		r9=r9+[bp+3]
18    00000006                 	
19    00000006 0243            		r1=r1+3
20    00000007 FFC0 0383       		r9=r9+3
21    00000009                 	
22    00000009 F140            		int	off
23    0000000A F141            		int	IRQ
24    0000000B F142            		int	FIQ
25    0000000C F143            		int	IRQ,FIQ
26    0000000D F144            		fir_mov		off
27    0000000E F145            		fir_mov		on
28    0000000F F146            		fraction	off
29    00000010 F147            		fraction	on
30    00000011 F148            		irq		off
31    00000012 F149            		irq		on
32    00000013 F14A            		secbank		off
33    00000014 F14B            		secbank		on
34    00000015 F14C            		fiq		off
35    00000016 F14D            		irqnest		off
36    00000017 F14E            		fiq		on
37    00000018 F14F            		irqnest		on
38    00000019 F164            		r2=		exp r4
39    0000001A 9088            		pop R1 from [SP]
40    0000001B 9090            		pop R1,R2 from [SP]
41    0000001C 9888            		POP BP,BP FROM [SP]
42    0000001D DA88            		PUSH BP,BP TO [SP]
43    0000001E FFC0 90C3       		R8 = [BP+3]
44    00000020 F163            		divq	MR,R2
45    00000021 C302            		TEST	R1,R2
46    00000022 42F2            		CMP	R1,D:[R2++]
47    00000023 F165            		nop
48    00000024 F160            		brk
49    00000025                 	.loop:
50    00000025 EE41            		jmp	.loop
51    00000026 EE00            		jmp	.next
52    00000027                 	.next:
53    00000027 FE80 0027       		goto	$
54    00000029 F040 0029       		call	$
55    0000002B F040 A5F9       		call	0xA5F9
56    0000002D 9A98            		reti
57    0000002E DA88            		PUSH 	BP,BP TO [SP]
58    0000002F BB08 0009       		BP = 	SP & 9
59    00000031 1B08 0001       		BP = 	SP + 1,carry
60    00000033 D89F            		PUSH 	R2,R4 TO [PC]
61    00000034 D898            		PUSH 	R2,R4 TO [SP]
62    00000035 9203            		R1 = 	[BP+3]
63    00000036 9404            		R2 = 	[BP+4]
64    00000037 D310 FFFF       		[DATA_START] = R1
65    00000039 D2F9            		D:[++R1]=R1
66    0000003A DA3F            		[R5+63]=r5
67    0000003B                 	
68    0000003B DB10 050B       		[0x500+23/2]=r5
69    0000003D 6914 050B       		r4=-[0x500+23/2]
70    0000003F                 	
71    0000003F 6301            		R1 =-R1;
72    00000040 034A            		R1 = R1 + R2 LSL 2
73    00000041 134A            		R1 = R1 + R2 LSL 2,carry
74    00000042 134A            		R1 = R1 + R2 LSL 2,carry
75    00000043 B36D            		R1 &= BP LSR 2
76    00000044 134A            		R1 = R1 + R2 LSL 2,carry
77    00000045 E32B            		R1 = R1 LSL R3
78    00000046 B2F2            		R1&=D:[R2++]
79    00000047                 	;	R1 = r2&r3 ASR 1
80    00000047 6369            		R1 = -R1 LSR 2
81    00000048 FA0D            		MR = R5*R5,us
82    00000049 FBA5            		MR = [R5]*[R5],ss,4
83    0000004A D310 7002       		[P_IOA_Dir] = R1;	 
84    0000004C D310 7003       		[P_IOA_Attrib] = R1;
85    0000004E D310 7000       		[P_IOA_Data] = R1;       
86    00000050 F040 A689       		call 0xA689
87    00000052 9241            		R1=0x0001
88    00000053 94D1            		R2 = [R1 ++];
89    00000054 92C1            		R1 = [R1];
90    00000055 0309 9BDD       		R1 += 0x9BDD;
91    00000057 9359            		R1 = R1 LSL 4
92    00000058 9349            		R1 = R1 LSL 2
93    00000059 98F3            		R4 = D:[R3++];
94    0000005A 2441            		R2 -= 1
95    0000005B 4640            		cmp	r3,0
96    0000005C B309 DFFF       		R1 &= ~0x2000
97    0000005E A309 2000       		R1 |= 0x2000
98    00000060 0309 A176       		R1+=0xA176
99    00000062 9A90            		retf
100   00000063 E202            		tstb	r1,r2
101   00000064 E242            		tstb	r1,2
102   00000065 EB04            		tstb	[r5],r4
103   00000066 EB44            		tstb	D:[r5],r4
104   00000067 EB85            		tstb	[r5],5
105   00000068 EBC5            		tstb	D:[r5],5
106   00000069 EB85            		tstb	[r5],5
107   0000006A                 	
108   0000006A F240 0400       		tstb	[0x400],0
109   0000006C F250 0400       		setb	[0x400],0
110   0000006E F260 0400       		clrb	[0x400],0
111   00000070 F270 0400       		invb	[0x400],0
112   00000072 2EF5            		PC-=D:[BP++]
113   00000073 D8A0            		push r1,r4 to [sp]
114   00000074 90A0            		pop r1,r4 from [sp]
115   00000075 FFC0 FE20       		push r9,r15 to [sp]
116   00000077 FFC0 7020       		pop r15,r9 from [sp]
117   00000079                 	
118   00000079                 	
119   00000079 0240            		r1 += 0
120   0000007A 0240            		r1 = r1 + 0
121   0000007B 030A 2000       		r1 = r2 + 0x2000
122   0000007D 0200            		r1 += [BP + 0]
123   0000007E 0200            		r1 = r1 + [BP + 0]
124   0000007F 03C0            		r1 += [0]
125   00000080 03C0            		r1 = r1 + [0]
126   00000081 0312 2000       		r1 = r2 + [0x2000]
127   00000083 0302            		r1 += r2
128   00000084 02C2            		r1 += [r2]
129   00000085 02E2            		r1 += D:[r2]
130   00000086 02DA            		r1 += [++r2]
131   00000087 02FA            		r1 += D:[++r2]
132   00000088 02CA            		r1 += [r2--]
133   00000089 02EA            		r1 += D:[r2--]
134   0000008A 02D2            		r1 += [r2++]
135   0000008B 02F2            		r1 += D:[r2++]
136   0000008C                 	
137   0000008C 1240            		r1 += 0,carry
138   0000008D 1240            		r1 = r1 + 0,carry
139   0000008E 130A 2000       		r1 = r2 + 0x2000,carry
140   00000090 1200            		r1 += [BP + 0],carry
141   00000091 1200            		r1 = r1 + [BP + 0],carry
142   00000092 13C0            		r1 += [0],carry
143   00000093 13C0            		r1 = r1 + [0],carry
144   00000094 1312 2000       		r1 = r2 + [0x2000],carry
145   00000096 1302            		r1 += r2,carry
146   00000097 12C2            		r1 += [r2],carry
147   00000098 12E2            		r1 += D:[r2],carry
148   00000099 12DA            		r1 += [++r2],carry
149   0000009A 12FA            		r1 += D:[++r2],carry
150   0000009B 12CA            		r1 += [r2--],carry
151   0000009C 12EA            		r1 += D:[r2--],carry
152   0000009D 12D2            		r1 += [r2++],carry
153   0000009E 12F2            		r1 += D:[r2++],carry
154   0000009F                 	
155   0000009F 2240            		r1 -= 0
156   000000A0 2240            		r1 = r1 - 0
157   000000A1 230A 2000       		r1 = r2 - 0x2000
158   000000A3 2200            		r1 -= [BP + 0]
159   000000A4 2200            		r1 = r1 - [BP + 0]
160   000000A5 23C0            		r1 -= [0]
161   000000A6 23C0            		r1 = r1 - [0]
162   000000A7 2312 2000       		r1 = r2 - [0x2000]
163   000000A9 2302            		r1 -= r2
164   000000AA 22C2            		r1 -= [r2]
165   000000AB 22E2            		r1 -= D:[r2]
166   000000AC 22DA            		r1 -= [++r2]
167   000000AD 22FA            		r1 -= D:[++r2]
168   000000AE 22CA            		r1 -= [r2--]
169   000000AF 22EA            		r1 -= D:[r2--]
170   000000B0 22D2            		r1 -= [r2++]
171   000000B1 22F2            		r1 -= D:[r2++]
172   000000B2                 	
173   000000B2 3240            		r1 -= 0,carry
174   000000B3 3240            		r1 = r1 - 0,carry
175   000000B4 330A 2000       		r1 = r2 - 0x2000,carry
176   000000B6 3200            		r1 -= [BP + 0],carry
177   000000B7 3200            		r1 = r1 - [BP + 0],carry
178   000000B8 33C0            		r1 -= [0],carry
179   000000B9 33C0            		r1 = r1 - [0],carry
180   000000BA 3312 2000       		r1 = r2 - [0x2000],carry
181   000000BC 3302            		r1 -= r2,carry
182   000000BD 32C2            		r1 -= [r2],carry
183   000000BE 32E2            		r1 -= D:[r2],carry
184   000000BF 32DA            		r1 -= [++r2],carry
185   000000C0 32FA            		r1 -= D:[++r2],carry
186   000000C1 32CA            		r1 -= [r2--],carry
187   000000C2 32EA            		r1 -= D:[r2--],carry
188   000000C3 32D2            		r1 -= [r2++],carry
189   000000C4 32F2            		r1 -= D:[r2++],carry
190   000000C5                 	
191   000000C5 B240            		r1 &= 0
192   000000C6 B240            		r1 = r1 & 0
193   000000C7 B30A 2000       		r1 = r2 & 0x2000
194   000000C9 B200            		r1 &= [BP + 0]
195   000000CA B200            		r1 = r1 & [BP + 0]
196   000000CB B3C0            		r1 &= [0]
197   000000CC B3C0            		r1 = r1 & [0]
198   000000CD B312 2000       		r1 = r2 & [0x2000]
199   000000CF B302            		r1 &= r2
200   000000D0 B2C2            		r1 &= [r2]
201   000000D1 B2E2            		r1 &= D:[r2]
202   000000D2 B2DA            		r1 &= [++r2]
203   000000D3 B2FA            		r1 &= D:[++r2]
204   000000D4 B2CA            		r1 &= [r2--]
205   000000D5 B2EA            		r1 &= D:[r2--]
206   000000D6 B2D2            		r1 &= [r2++]
207   000000D7 B2F2            		r1 &= D:[r2++]
208   000000D8                 	
209   000000D8                 	
210   000000D8                 	// generate code that comes as close to incrementing numbers as we can
211   000000D8 0000            		sp=sp+[bp+0]
212   000000D9 0001            		sp=sp+[bp+1]
213   000000DA 0002            		sp=sp+[bp+2]
214   000000DB 0003            		sp=sp+[bp+3]
215   000000DC 0004            		sp=sp+[bp+4]
216   000000DD 0005            		sp=sp+[bp+5]
217   000000DE 0006            		sp=sp+[bp+6]
218   000000DF 0007            		sp=sp+[bp+7]
219   000000E0 0008            		sp=sp+[bp+8]
220   000000E1 0009            		sp=sp+[bp+9]
221   000000E2 000A            		sp=sp+[bp+10]
222   000000E3 000B            		sp=sp+[bp+11]
223   000000E4 000C            		sp=sp+[bp+12]
224   000000E5 000D            		sp=sp+[bp+13]
225   000000E6 000E            		sp=sp+[bp+14]
226   000000E7 000F            		sp=sp+[bp+15]
227   000000E8 0010            		sp=sp+[bp+16]
228   000000E9 0011            		sp=sp+[bp+17]
229   000000EA 0012            		sp=sp+[bp+18]
230   000000EB 0013            		sp=sp+[bp+19]
231   000000EC 0014            		sp=sp+[bp+20]
232   000000ED 0015            		sp=sp+[bp+21]
233   000000EE 0016            		sp=sp+[bp+22]
234   000000EF 0017            		sp=sp+[bp+23]
235   000000F0 0018            		sp=sp+[bp+24]
236   000000F1 0019            		sp=sp+[bp+25]
237   000000F2 001A            		sp=sp+[bp+26]
238   000000F3 001B            		sp=sp+[bp+27]
239   000000F4 001C            		sp=sp+[bp+28]
240   000000F5 001D            		sp=sp+[bp+29]
241   000000F6 001E            		sp=sp+[bp+30]
242   000000F7 001F            		sp=sp+[bp+31]
243   000000F8 0020            		sp=sp+[bp+32]
244   000000F9 0021            		sp=sp+[bp+33]
245   000000FA 0022            		sp=sp+[bp+34]
246   000000FB 0023            		sp=sp+[bp+35]
247   000000FC 0024            		sp=sp+[bp+36]
248   000000FD 0025            		sp=sp+[bp+37]
249   000000FE 0026            		sp=sp+[bp+38]
250   000000FF 0027            		sp=sp+[bp+39]
251   00000100 0028            		sp=sp+[bp+40]
252   00000101 0029            		sp=sp+[bp+41]
253   00000102 002A            		sp=sp+[bp+42]
254   00000103 002B            		sp=sp+[bp+43]
255   00000104 002C            		sp=sp+[bp+44]
256   00000105 002D            		sp=sp+[bp+45]
257   00000106 002E            		sp=sp+[bp+46]
258   00000107 002F            		sp=sp+[bp+47]
259   00000108 0030            		sp=sp+[bp+48]
260   00000109 0031            		sp=sp+[bp+49]
261   0000010A 0032            		sp=sp+[bp+50]
262   0000010B 0033            		sp=sp+[bp+51]
263   0000010C 0034            		sp=sp+[bp+52]
264   0000010D 0035            		sp=sp+[bp+53]
265   0000010E 0036            		sp=sp+[bp+54]
266   0000010F 0037            		sp=sp+[bp+55]
267   00000110 0038            		sp=sp+[bp+56]
268   00000111 0039            		sp=sp+[bp+57]
269   00000112 003A            		sp=sp+[bp+58]
270   00000113 003B            		sp=sp+[bp+59]
271   00000114 003C            		sp=sp+[bp+60]
272   00000115 003D            		sp=sp+[bp+61]
273   00000116 003E            		sp=sp+[bp+62]
274   00000117 003F            		sp=sp+[bp+63]
275   00000118                 	
276   00000118 0040            		sp=sp+0
277   00000119 0041            		sp=sp+1
278   0000011A 0042            		sp=sp+2
279   0000011B 0043            		sp=sp+3
280   0000011C 0044            		sp=sp+4
281   0000011D 0045            		sp=sp+5
282   0000011E 0046            		sp=sp+6
283   0000011F 0047            		sp=sp+7
284   00000120 0048            		sp=sp+8
285   00000121 0049            		sp=sp+9
286   00000122 004A            		sp=sp+10
287   00000123 004B            		sp=sp+11
288   00000124 004C            		sp=sp+12
289   00000125 004D            		sp=sp+13
290   00000126 004E            		sp=sp+14
291   00000127 004F            		sp=sp+15
292   00000128 0050            		sp=sp+16
293   00000129 0051            		sp=sp+17
294   0000012A 0052            		sp=sp+18
295   0000012B 0053            		sp=sp+19
296   0000012C 0054            		sp=sp+20
297   0000012D 0055            		sp=sp+21
298   0000012E 0056            		sp=sp+22
299   0000012F 0057            		sp=sp+23
300   00000130 0058            		sp=sp+24
301   00000131 0059            		sp=sp+25
302   00000132 005A            		sp=sp+26
303   00000133 005B            		sp=sp+27
304   00000134 005C            		sp=sp+28
305   00000135 005D            		sp=sp+29
306   00000136 005E            		sp=sp+30
307   00000137 005F            		sp=sp+31
308   00000138 0060            		sp=sp+32
309   00000139 0061            		sp=sp+33
310   0000013A 0062            		sp=sp+34
311   0000013B 0063            		sp=sp+35
312   0000013C 0064            		sp=sp+36
313   0000013D 0065            		sp=sp+37
314   0000013E 0066            		sp=sp+38
315   0000013F 0067            		sp=sp+39
316   00000140 0068            		sp=sp+40
317   00000141 0069            		sp=sp+41
318   00000142 006A            		sp=sp+42
319   00000143 006B            		sp=sp+43
320   00000144 006C            		sp=sp+44
321   00000145 006D            		sp=sp+45
322   00000146 006E            		sp=sp+46
323   00000147 006F            		sp=sp+47
324   00000148 0070            		sp=sp+48
325   00000149 0071            		sp=sp+49
326   0000014A 0072            		sp=sp+50
327   0000014B 0073            		sp=sp+51
328   0000014C 0074            		sp=sp+52
329   0000014D 0075            		sp=sp+53
330   0000014E 0076            		sp=sp+54
331   0000014F 0077            		sp=sp+55
332   00000150 0078            		sp=sp+56
333   00000151 0079            		sp=sp+57
334   00000152 007A            		sp=sp+58
335   00000153 007B            		sp=sp+59
336   00000154 007C            		sp=sp+60
337   00000155 007D            		sp=sp+61
338   00000156 007E            		sp=sp+62
339   00000157 007F            		sp=sp+63
340   00000158                 	
341   00000158 00C0            		sp=sp+[sp]
342   00000159 00C1            		sp=sp+[r1]
343   0000015A 00C2            		sp=sp+[r2]
344   0000015B 00C3            		sp=sp+[r3]
345   0000015C 00C4            		sp=sp+[r4]
346   0000015D 00C5            		sp=sp+[bp]
347   0000015E 00C6            		sp=sp+[sr]
348   0000015F 00C7            		sp=sp+[pc]
349   00000160 00C8            		sp=sp+[sp--]
350   00000161 00C9            		sp=sp+[r1--]
351   00000162 00CA            		sp=sp+[r2--]
352   00000163 00CB            		sp=sp+[r3--]
353   00000164 00CC            		sp=sp+[r4--]
354   00000165 00CD            		sp=sp+[bp--]
355   00000166 00CE            		sp=sp+[sr--]
356   00000167 00CF            		sp=sp+[pc--]
357   00000168 00D0            		sp=sp+[sp++]
358   00000169 00D1            		sp=sp+[r1++]
359   0000016A 00D2            		sp=sp+[r2++]
360   0000016B 00D3            		sp=sp+[r3++]
361   0000016C 00D4            		sp=sp+[r4++]
362   0000016D 00D5            		sp=sp+[bp++]
363   0000016E 00D6            		sp=sp+[sr++]
364   0000016F 00D7            		sp=sp+[pc++]
365   00000170 00D8            		sp=sp+[++sp]
366   00000171 00D9            		sp=sp+[++r1]
367   00000172 00DA            		sp=sp+[++r2]
368   00000173 00DB            		sp=sp+[++r3]
369   00000174 00DC            		sp=sp+[++r4]
370   00000175 00DD            		sp=sp+[++bp]
371   00000176 00DE            		sp=sp+[++sr]
372   00000177 00DF            		sp=sp+[++pc]
373   00000178 00E0            		sp=sp+D:[sp]
374   00000179 00E1            		sp=sp+D:[r1]
375   0000017A 00E2            		sp=sp+D:[r2]
376   0000017B 00E3            		sp=sp+D:[r3]
377   0000017C 00E4            		sp=sp+D:[r4]
378   0000017D 00E5            		sp=sp+D:[bp]
379   0000017E 00E6            		sp=sp+D:[sr]
380   0000017F 00E7            		sp=sp+D:[pc]
381   00000180 00E8            		sp=sp+D:[sp--]
382   00000181 00E9            		sp=sp+D:[r1--]
383   00000182 00EA            		sp=sp+D:[r2--]
384   00000183 00EB            		sp=sp+D:[r3--]
385   00000184 00EC            		sp=sp+D:[r4--]
386   00000185 00ED            		sp=sp+D:[bp--]
387   00000186 00EE            		sp=sp+D:[sr--]
388   00000187 00EF            		sp=sp+D:[pc--]
389   00000188 00F0            		sp=sp+D:[sp++]
390   00000189 00F1            		sp=sp+D:[r1++]
391   0000018A 00F2            		sp=sp+D:[r2++]
392   0000018B 00F3            		sp=sp+D:[r3++]
393   0000018C 00F4            		sp=sp+D:[r4++]
394   0000018D 00F5            		sp=sp+D:[bp++]
395   0000018E 00F6            		sp=sp+D:[sr++]
396   0000018F 00F7            		sp=sp+D:[pc++]
397   00000190 00F8            		sp=sp+D:[++sp]
398   00000191 00F9            		sp=sp+D:[++r1]
399   00000192 00FA            		sp=sp+D:[++r2]
400   00000193 00FB            		sp=sp+D:[++r3]
401   00000194 00FC            		sp=sp+D:[++r4]
402   00000195 00FD            		sp=sp+D:[++bp]
403   00000196 00FE            		sp=sp+D:[++sr]
404   00000197 00FF            		sp=sp+D:[++pc]
405   00000198                 	
406   00000198                 	

Segment Listing
MinAddr   MaxAddr   Segment
--------  --------  -------
00000000  0000032F  code

Symbol Table Listing
Value    U Name
-------- - ----
00000025   @loop
00000027   @next
0000FFFF   DATA_START
00007003   P_IOA_Attrib
00007001 * P_IOA_Buffer
00007000   P_IOA_Data
00007002   P_IOA_Dir
00007004 * P_IOA_Latch
00000001 * __UNSP2.0

Assembled in 3 passes

Total assembly time 00:00:00
Total Errors:   0
Total Warnings: 0
