OpenCores
URL https://opencores.org/ocsvn/c16/c16/trunk

Subversion Repositories c16

[/] [c16/] [trunk/] [rtos.asm] - Blame information for rev 33

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jsauermann
IN_RX_DATA              = 0x00          ;
2
IN_STATUS               = 0x01          ;
3
IN_TEMPERAT             = 0x02          ;
4
IN_DIP_SWITCH           = 0x03          ;
5
IN_CLK_CTR_LOW          = 0x05          ;
6
IN_CLK_CTR_HIGH         = 0x06          ;
7
 
8
MEMTOP  =0x2000
9
 
10
OUT_TX_DATA             = 0x00          ;
11
OUT_LEDS                = 0x02          ;
12
OUT_INT_MASK            = 0x03          ;
13
OUT_RESET_TIMER         = 0x04          ;
14
OUT_START_CLK_CTR       = 0x05          ;
15
OUT_STOP_CLK_CTR        = 0x06          ;
16
;---------------------------------------;
17
        MOVE    #MEMTOP, RR             ;
18
        MOVE    RR, SP                  ;
19
        EI                              ;
20
        JMP     Cmain                   ;
21
        JMP     Cinterrupt              ;
22
;---------------------------------------;
23
mult_div:                               ;
24
        MD_STP                          ; 1
25
        MD_STP                          ; 2
26
        MD_STP                          ; 3
27
        MD_STP                          ; 4
28
        MD_STP                          ; 5
29
        MD_STP                          ; 6
30
        MD_STP                          ; 7
31
        MD_STP                          ; 8
32
        MD_STP                          ; 9
33
        MD_STP                          ; 10
34
        MD_STP                          ; 11
35
        MD_STP                          ; 12
36
        MD_STP                          ; 13
37
        MD_STP                          ; 14
38
        MD_STP                          ; 15
39
        MD_STP                          ; 16
40
        RET                             ;
41
;---------------------------------------;
42
;;; { 0 Declaration
43
;;;   { 1 TypeSpecifier (enum)
44
;;;     spec = anonymous enum (2000000)
45
;;;   } 1 TypeSpecifier (enum)
46
;;; } 0 Declaration
47
;;; ------------------------------------;
48
;;; { 0 Declaration
49
;;;   { 1 TypeSpecifier (struct/union)
50
;;;     spec = typedef struct '_task' (800001)
51
;;;     name = _task
52
;;;   } 1 TypeSpecifier (struct/union)
53
;;; } 0 Declaration
54
;;; ------------------------------------;
55
;;; { 0 Declaration
56
;;;   { 1 TypeSpecifier (struct/union)
57
;;;     spec = typedef struct '_semaphore' (800001)
58
;;;     name = _semaphore
59
;;;   } 1 TypeSpecifier (struct/union)
60
;;; } 0 Declaration
61
;;; ------------------------------------;
62
;;; { 0 Declaration
63
;;;   { 1 TypeSpecifier (struct/union)
64
;;;     spec = struct '_task' (800000)
65
;;;     name = _task
66
;;;   } 1 TypeSpecifier (struct/union)
67
;;; } 0 Declaration
68
;;; ------------------------------------;
69
;;; { 0 Declaration
70
;;;   { 1 TypeSpecifier (struct/union)
71
;;;     spec = extern 'Task' (4000002)
72
;;;     name = Task
73
;;;   } 1 TypeSpecifier (struct/union)
74
        .EXTERN Ccurrent_task
75
;;; } 0 Declaration
76
;;; ------------------------------------;
77
;;; { 0 Declaration
78
;;;   { 1 TypeSpecifier (struct/union)
79
;;;     spec = extern 'Task' (4000002)
80
;;;     name = Task
81
;;;   } 1 TypeSpecifier (struct/union)
82
        .EXTERN Ctask_idle
83
;;; } 0 Declaration
84
;;; ------------------------------------;
85
;;; { 0 Declaration
86
;;;   { 1 TypeSpecifier (struct/union)
87
;;;     spec = struct '_semaphore' (800000)
88
;;;     name = _semaphore
89
;;;   } 1 TypeSpecifier (struct/union)
90
;;; } 0 Declaration
91
;;; ------------------------------------;
92
;;; { 0 Declaration
93
;;;   { 1 TypeSpecifier (struct/union)
94
;;;     spec = 'Semaphore' (4000000)
95
;;;     name = Semaphore
96
;;;   } 1 TypeSpecifier (struct/union)
97
Crx_sema:                       ;
98
        .WORD   0
99
        .WORD   0
100
        .WORD   0
101
        .WORD   Cstr_0
102
;;; } 0 Declaration
103
;;; ------------------------------------;
104
;;; { 0 Declaration
105
;;;   { 1 TypeSpecifier (struct/union)
106
;;;     spec = 'Semaphore' (4000000)
107
;;;     name = Semaphore
108
;;;   } 1 TypeSpecifier (struct/union)
109
Ct2_control:                    ;
110
        .WORD   0
111
        .WORD   0
112
        .WORD   0
113
        .WORD   Cstr_1
114
;;; } 0 Declaration
115
;;; ------------------------------------;
116
;;; { 0 Declaration
117
;;;   { 1 TypeSpecifier (struct/union)
118
;;;     spec = 'Semaphore' (4000000)
119
;;;     name = Semaphore
120
;;;   } 1 TypeSpecifier (struct/union)
121
Ct3_control:                    ;
122
        .WORD   0
123
        .WORD   0
124
        .WORD   0
125
        .WORD   Cstr_2
126
;;; } 0 Declaration
127
;;; ------------------------------------;
128
;;; { 0 Declaration
129
;;;   { 1 TypeSpecifier (struct/union)
130
;;;     spec = 'Semaphore' (4000000)
131
;;;     name = Semaphore
132
;;;   } 1 TypeSpecifier (struct/union)
133
Cserial_out:                    ;
134
        .WORD   1
135
        .WORD   0
136
        .WORD   0
137
        .WORD   Cstr_3
138
;;; } 0 Declaration
139
;;; ------------------------------------;
140
;;; { 0 Declaration
141
;;;   { 1 TypeSpecifier (struct/union)
142
;;;     spec = 'Semaphore' (4000000)
143
;;;     name = Semaphore
144
;;;   } 1 TypeSpecifier (struct/union)
145
Ctx_sema:                       ;
146
        .WORD   16
147
        .WORD   0
148
        .WORD   0
149
        .WORD   Cstr_4
150
;;; } 0 Declaration
151
;;; ------------------------------------;
152
;;; { 0 FunctionDefinition
153
;;;   { 1 TypeName
154
;;;     { 2 TypeSpecifier (all)
155
;;;       spec = void (10000)
156
;;;     } 2 TypeSpecifier (all)
157
;;;     { 2 List
158
;;;       { 3 DeclItem
159
;;;         what = DECL_NAME
160
;;;         name = switch_tasks
161
;;;       } 3 DeclItem
162
;;;     } 2 List
163
;;;   } 1 TypeName
164
;;;   { 1 List
165
;;;     { 2 DeclItem
166
;;;       what = DECL_NAME
167
;;;       name = switch_tasks
168
;;;     } 2 DeclItem
169
;;;     { 2 DeclItem
170
;;;       what = DECL_FUN
171
;;;     } 2 DeclItem
172
;;;   } 1 List
173
Cswitch_tasks:
174 7 jsauermann
;;;   { 1 CompoundStatement
175
;;;     { 2 InitDeclarator
176
;;;       { 3 List
177
;;;         { 4 DeclItem
178
;;;           what = DECL_POINTER
179
;;;           { 5 List
180
;;;             { 6 Ptr
181
;;;             } 6 Ptr
182
;;;           } 5 List
183
;;;         } 4 DeclItem
184
;;;         { 4 DeclItem
185
;;;           what = DECL_NAME
186
;;;           name = next
187
;;;         } 4 DeclItem
188
;;;       } 3 List
189
;;;       { 3 Initializer (skalar)
190 2 jsauermann
;--     push_zero 2 bytes
191
        CLRW    -(SP)
192 7 jsauermann
;;;       } 3 Initializer (skalar)
193
;;;     } 2 InitDeclarator
194
;;;     { 2 InitDeclarator
195
;;;       { 3 List
196
;;;         { 4 DeclItem
197
;;;           what = DECL_POINTER
198
;;;           { 5 List
199
;;;             { 6 Ptr
200
;;;             } 6 Ptr
201
;;;           } 5 List
202
;;;         } 4 DeclItem
203
;;;         { 4 DeclItem
204
;;;           what = DECL_NAME
205
;;;           name = t
206
;;;         } 4 DeclItem
207
;;;       } 3 List
208
;;;       { 3 Initializer (skalar)
209
;;;         { 4 Expression (variable name)
210
;;;           expr_type = "identifier" (current_task)
211 2 jsauermann
;--     load_rr_var current_task, (16 bit)
212
        MOVE    (Ccurrent_task), RR
213 7 jsauermann
;;;         } 4 Expression (variable name)
214 2 jsauermann
;--     push_rr (16 bit)
215
        MOVE    RR, -(SP)
216 7 jsauermann
;;;       } 3 Initializer (skalar)
217
;;;     } 2 InitDeclarator
218 2 jsauermann
;;;     { 2 List
219
;;;       { 3 ExpressionStatement
220
 
221
st_loop:
222
        MOVE    0(SP), RR               ; RR = t
223
        MOVE    (RR), RR                ; RR = t->next_task
224
        MOVE    RR, 0(SP)               ; t  = t->next_task
225
        ADD     RR, #4                  ; RR = & t->status
226
        MOVE    (RR), RS                ; RR = t->status
227
        JMP     RRNZ, st_next_task      ; jump if (status != 0)
228
                                        ;
229
        MOVE    2(SP), RR               ; RR = next
230
        JMP     RRZ, st_accept          ; jump if (next == 0)
231
                                        ;
232
        ADD     RR, #5                  ; RR = & next->priority
233
        MOVE    (RR), RS                ; RR = next->priority
234
        MOVE    RR, LL                  ; LL = next->priority
235
        MOVE    0(SP), RR               ; RR = t
236
        ADD     RR, #5                  ; RR = & t->priority
237
        MOVE    (RR), RS                ; RR = t->priority
238
        SGT     LL, RR                  ; RR = (next->priority > t->priority)
239
        JMP     RRNZ, st_next_task      ; jump if (next->priority > t->priority)
240
st_accept:                              ;
241
        MOVE    0(SP), RR               ; RR = t
242
        MOVE    RR, 2(SP)               ; next = t
243
st_next_task:                           ;
244
        MOVE    0(SP), RR               ; RR = t
245
        MOVE    (Ccurrent_task), LL     ; LL = current_task
246
        SNE     LL, RR                  ; RR = (t != current_task)
247
        JMP     RRNZ, st_loop           ;
248
 
249
;;;       } 3 ExpressionStatement
250
;;;       { 3 IfElseStatement
251
;;;         { 4 Expr l != r
252
;;;           { 5 TypeName
253
;;;             { 6 TypeSpecifier (struct/union)
254
;;;               spec = struct '_task' (800000)
255
;;;               name = _task
256
;;;             } 6 TypeSpecifier (struct/union)
257
;;;             { 6 List
258
;;;               { 7 DeclItem
259
;;;                 what = DECL_POINTER
260
;;;                 { 8 List
261
;;;                   { 9 Ptr
262
;;;                   } 9 Ptr
263
;;;                 } 8 List
264
;;;               } 7 DeclItem
265
;;;               { 7 DeclItem
266
;;;                 what = DECL_NAME
267
;;;                 name = current_task
268
;;;               } 7 DeclItem
269
;;;             } 6 List
270
;;;           } 5 TypeName
271
;;;           { 5 Expression (variable name)
272
;;;             expr_type = "identifier" (current_task)
273
;--     load_rr_var current_task, (16 bit)
274
        MOVE    (Ccurrent_task), RR
275
;;;           } 5 Expression (variable name)
276
;--     move_rr_to_ll
277
        MOVE    RR, LL
278
;;;           { 5 Expression (variable name)
279
;;;             expr_type = "identifier" (next)
280
;--     load_rr_var next = -2(FP), SP at -4 (16 bit)
281
        MOVE    2(SP), RR
282
;;;           } 5 Expression (variable name)
283
;--     l != r
284
        SNE     LL, RR
285
;;;         } 4 Expr l != r
286
;--     branch_false
287
        JMP     RRZ, L2_endif_1
288
;;;         { 4 CompoundStatement
289
;;;           { 5 List
290
;;;             { 6 ExpressionStatement
291
;;;               { 7 Expr l = r
292
;;;                 { 8 TypeName
293
;;;                   { 9 TypeSpecifier (all)
294
;;;                     spec = int (80000)
295
;;;                   } 9 TypeSpecifier (all)
296
;;;                   { 9 List
297
;;;                     { 10 DeclItem
298
;;;                       what = DECL_POINTER
299
;;;                       { 11 List
300
;;;                         { 12 Ptr
301
;;;                         } 12 Ptr
302
;;;                       } 11 List
303
;;;                     } 10 DeclItem
304
;;;                     { 10 DeclItem
305
;;;                       what = DECL_NAME
306
;;;                       name = stack_pointer
307
;;;                     } 10 DeclItem
308
;;;                   } 9 List
309
;;;                 } 8 TypeName
310
;;;                 { 8 Expression (cast)r
311
        LEA  0(SP), RR
312
;;;                 } 8 Expression (cast)r
313
;--     push_rr (16 bit)
314
        MOVE    RR, -(SP)
315
;;;                 { 8 Expr * r
316
;;;                   { 9 Expression (variable name)
317
;;;                     expr_type = "identifier" (current_task)
318
;--     load_rr_var current_task, (16 bit)
319
        MOVE    (Ccurrent_task), RR
320
;;;                   } 9 Expression (variable name)
321
;;;                 } 8 Expr * r
322
;--     + (member)
323
        ADD     RR, #0x0002
324
;--     move_rr_to_ll
325
        MOVE    RR, LL
326
;--     pop_rr (16 bit)
327
        MOVE    (SP)+, RR
328
;--     assign (16 bit)
329
        MOVE    RR, (LL)
330
;;;               } 7 Expr l = r
331
;;;             } 6 ExpressionStatement
332
;;;             { 6 ExpressionStatement
333
;;;               { 7 Expr l = r
334
;;;                 { 8 TypeName
335
;;;                   { 9 TypeSpecifier (struct/union)
336
;;;                     spec = struct '_task' (800000)
337
;;;                     name = _task
338
;;;                   } 9 TypeSpecifier (struct/union)
339
;;;                   { 9 List
340
;;;                     { 10 DeclItem
341
;;;                       what = DECL_POINTER
342
;;;                       { 11 List
343
;;;                         { 12 Ptr
344
;;;                         } 12 Ptr
345
;;;                       } 11 List
346
;;;                     } 10 DeclItem
347
;;;                     { 10 DeclItem
348
;;;                       what = DECL_NAME
349
;;;                       name = current_task
350
;;;                     } 10 DeclItem
351
;;;                   } 9 List
352
;;;                 } 8 TypeName
353
;;;                 { 8 Expression (variable name)
354
;;;                   expr_type = "identifier" (next)
355
;--     load_rr_var next = -2(FP), SP at -4 (16 bit)
356
        MOVE    2(SP), RR
357
;;;                 } 8 Expression (variable name)
358
;--     store_rr_var current_task
359
        MOVE    RR, (Ccurrent_task)
360
;;;               } 7 Expr l = r
361
;;;             } 6 ExpressionStatement
362
;;;             { 6 ExpressionStatement
363
;;;               { 7 Expr * r
364
;;;                 { 8 Expression (variable name)
365
;;;                   expr_type = "identifier" (current_task)
366
;--     load_rr_var current_task, (16 bit)
367
        MOVE    (Ccurrent_task), RR
368
;;;                 } 8 Expression (variable name)
369
;;;               } 7 Expr * r
370
;--     + (member)
371
        ADD     RR, #0x0002
372
;--     content
373
        MOVE    (RR), RR
374
;;;             } 6 ExpressionStatement
375
;;;             { 6 ExpressionStatement
376
        MOVE RR, SP
377
;;;             } 6 ExpressionStatement
378
;;;           } 5 List
379 7 jsauermann
;--     pop 0 bytes
380 2 jsauermann
;;;         } 4 CompoundStatement
381
L2_endif_1:
382
;;;       } 3 IfElseStatement
383
;;;     } 2 List
384 7 jsauermann
;--     pop 4 bytes
385
        ADD     SP, #4
386 2 jsauermann
;;;   } 1 CompoundStatement
387
;--     ret
388
        RET
389
;;; ------------------------------------;
390 7 jsauermann
;;;   { 1 FunctionDefinition
391
;;;     { 2 TypeName
392
;;;       { 3 TypeSpecifier (all)
393
;;;         spec = void (10000)
394
;;;       } 3 TypeSpecifier (all)
395
;;;       { 3 List
396
;;;         { 4 DeclItem
397
;;;           what = DECL_NAME
398
;;;           name = P
399
;;;         } 4 DeclItem
400
;;;       } 3 List
401
;;;     } 2 TypeName
402 2 jsauermann
;;;     { 2 List
403
;;;       { 3 DeclItem
404
;;;         what = DECL_NAME
405
;;;         name = P
406
;;;       } 3 DeclItem
407 7 jsauermann
;;;       { 3 DeclItem
408
;;;         what = DECL_FUN
409
;;;         { 4 List
410
;;;           { 5 ParameterDeclaration
411
;;;             isEllipsis = false
412
;;;             { 6 TypeName
413
;;;               { 7 TypeSpecifier (struct/union)
414
;;;                 spec = struct '_semaphore' (800000)
415
;;;                 name = _semaphore
416
;;;               } 7 TypeSpecifier (struct/union)
417
;;;               { 7 List
418
;;;                 { 8 DeclItem
419
;;;                   what = DECL_POINTER
420
;;;                   { 9 List
421
;;;                     { 10 Ptr
422
;;;                     } 10 Ptr
423
;;;                   } 9 List
424
;;;                 } 8 DeclItem
425
;;;                 { 8 DeclItem
426
;;;                   what = DECL_NAME
427
;;;                   name = sema
428
;;;                 } 8 DeclItem
429
;;;               } 7 List
430
;;;             } 6 TypeName
431
;;;           } 5 ParameterDeclaration
432
;;;         } 4 List
433
;;;       } 3 DeclItem
434 2 jsauermann
;;;     } 2 List
435
CP:
436 7 jsauermann
;;;     { 2 CompoundStatement
437
;;;       { 3 List
438
;;;         { 4 ExpressionStatement
439 2 jsauermann
        DI
440 7 jsauermann
;;;         } 4 ExpressionStatement
441
;;;         { 4 IfElseStatement
442
;;;           { 5 Expr l < r
443
;;;             { 6 TypeName (internal)
444
;;;               { 7 TypeSpecifier (all)
445
;;;                 spec = int (80000)
446
;;;               } 7 TypeSpecifier (all)
447
;;;             } 6 TypeName (internal)
448
;;;             { 6 Expr --r
449
;;;               { 7 Expr * r
450
;;;                 { 8 Expression (variable name)
451
;;;                   expr_type = "identifier" (sema)
452 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at 0 (16 bit)
453
        MOVE    2(SP), RR
454 7 jsauermann
;;;                 } 8 Expression (variable name)
455
;;;               } 7 Expr * r
456 2 jsauermann
;--     + (member)
457
;--     move_rr_to_ll
458
        MOVE    RR, LL
459
;--     content
460
        MOVE    (RR), RR
461
;--     --
462
        SUB     RR, #0x0001
463
;--     assign (16 bit)
464
        MOVE    RR, (LL)
465 7 jsauermann
;;;             } 6 Expr --r
466 2 jsauermann
;--     l < r
467
        SLT     RR, #0x0000
468 7 jsauermann
;;;           } 5 Expr l < r
469 2 jsauermann
;--     branch_false
470
        JMP     RRZ, L3_endif_2
471 7 jsauermann
;;;           { 5 CompoundStatement
472
;;;             { 6 List
473
;;;               { 7 ExpressionStatement
474
;;;                 { 8 Expr l = r
475
;;;                   { 9 TypeName
476
;;;                     { 10 TypeSpecifier (struct/union)
477
;;;                       spec = struct '_semaphore' (800000)
478
;;;                       name = _semaphore
479
;;;                     } 10 TypeSpecifier (struct/union)
480
;;;                     { 10 List
481
;;;                       { 11 DeclItem
482
;;;                         what = DECL_POINTER
483
;;;                         { 12 List
484
;;;                           { 13 Ptr
485
;;;                           } 13 Ptr
486
;;;                         } 12 List
487
;;;                       } 11 DeclItem
488
;;;                       { 11 DeclItem
489
;;;                         what = DECL_NAME
490
;;;                         name = waiting_for
491
;;;                       } 11 DeclItem
492
;;;                     } 10 List
493
;;;                   } 9 TypeName
494
;;;                   { 9 Expression (variable name)
495
;;;                     expr_type = "identifier" (sema)
496 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at 0 (16 bit)
497
        MOVE    2(SP), RR
498 7 jsauermann
;;;                   } 9 Expression (variable name)
499 2 jsauermann
;--     push_rr (16 bit)
500
        MOVE    RR, -(SP)
501 7 jsauermann
;;;                   { 9 Expr * r
502
;;;                     { 10 Expression (variable name)
503
;;;                       expr_type = "identifier" (current_task)
504 2 jsauermann
;--     load_rr_var current_task, (16 bit)
505
        MOVE    (Ccurrent_task), RR
506 7 jsauermann
;;;                     } 10 Expression (variable name)
507
;;;                   } 9 Expr * r
508 2 jsauermann
;--     + (member)
509
        ADD     RR, #0x000E
510
;--     move_rr_to_ll
511
        MOVE    RR, LL
512
;--     pop_rr (16 bit)
513
        MOVE    (SP)+, RR
514
;--     assign (16 bit)
515
        MOVE    RR, (LL)
516 7 jsauermann
;;;                 } 8 Expr l = r
517
;;;               } 7 ExpressionStatement
518
;;;               { 7 ExpressionStatement
519
;;;                 { 8 Expr l = r
520
;;;                   { 9 TypeName
521
;;;                     { 10 TypeSpecifier (struct/union)
522
;;;                       spec = struct '_task' (800000)
523
;;;                       name = _task
524
;;;                     } 10 TypeSpecifier (struct/union)
525
;;;                     { 10 List
526
;;;                       { 11 DeclItem
527
;;;                         what = DECL_POINTER
528
;;;                         { 12 List
529
;;;                           { 13 Ptr
530
;;;                           } 13 Ptr
531
;;;                         } 12 List
532
;;;                       } 11 DeclItem
533
;;;                       { 11 DeclItem
534
;;;                         what = DECL_NAME
535
;;;                         name = next_waiting_task
536
;;;                       } 11 DeclItem
537
;;;                     } 10 List
538
;;;                   } 9 TypeName
539
;;;                   { 9 NumericExpression (constant 0 = 0x0)
540 2 jsauermann
;--     load_rr_constant
541
        MOVE    #0x0000, RR
542 7 jsauermann
;;;                   } 9 NumericExpression (constant 0 = 0x0)
543 2 jsauermann
;--     push_rr (16 bit)
544
        MOVE    RR, -(SP)
545 7 jsauermann
;;;                   { 9 Expr * r
546
;;;                     { 10 Expression (variable name)
547
;;;                       expr_type = "identifier" (current_task)
548 2 jsauermann
;--     load_rr_var current_task, (16 bit)
549
        MOVE    (Ccurrent_task), RR
550 7 jsauermann
;;;                     } 10 Expression (variable name)
551
;;;                   } 9 Expr * r
552 2 jsauermann
;--     + (member)
553
        ADD     RR, #0x0010
554
;--     move_rr_to_ll
555
        MOVE    RR, LL
556
;--     pop_rr (16 bit)
557
        MOVE    (SP)+, RR
558
;--     assign (16 bit)
559
        MOVE    RR, (LL)
560 7 jsauermann
;;;                 } 8 Expr l = r
561
;;;               } 7 ExpressionStatement
562
;;;               { 7 ExpressionStatement
563 2 jsauermann
;;;                 { 8 Expr l | r
564 7 jsauermann
;;;                   { 9 TypeName
565 2 jsauermann
;;;                     { 10 TypeSpecifier (all)
566 7 jsauermann
;;;                       spec = char (20000)
567 2 jsauermann
;;;                     } 10 TypeSpecifier (all)
568 7 jsauermann
;;;                     { 10 List
569
;;;                       { 11 DeclItem
570
;;;                         what = DECL_NAME
571
;;;                         name = status
572
;;;                       } 11 DeclItem
573
;;;                     } 10 List
574
;;;                   } 9 TypeName
575
;;;                   { 9 Expr l | r
576
;;;                     { 10 TypeName (internal)
577
;;;                       { 11 TypeSpecifier (all)
578
;;;                         spec = int (80000)
579
;;;                       } 11 TypeSpecifier (all)
580
;;;                     } 10 TypeName (internal)
581
;;;                     { 10 Expr * r
582
;;;                       { 11 Expression (variable name)
583
;;;                         expr_type = "identifier" (current_task)
584 2 jsauermann
;--     load_rr_var current_task, (16 bit)
585
        MOVE    (Ccurrent_task), RR
586 7 jsauermann
;;;                       } 11 Expression (variable name)
587
;;;                     } 10 Expr * r
588 2 jsauermann
;--     + (member)
589
        ADD     RR, #0x0004
590
;--     content
591
        MOVE    (RR), RS
592
;--     l | r
593
        OR      RR, #0x0001
594 7 jsauermann
;;;                   } 9 Expr l | r
595 2 jsauermann
;--     push_rr (8 bit)
596
        MOVE    R, -(SP)
597 7 jsauermann
;;;                   { 9 Expr * r
598
;;;                     { 10 Expression (variable name)
599
;;;                       expr_type = "identifier" (current_task)
600 2 jsauermann
;--     load_rr_var current_task, (16 bit)
601
        MOVE    (Ccurrent_task), RR
602 7 jsauermann
;;;                     } 10 Expression (variable name)
603
;;;                   } 9 Expr * r
604 2 jsauermann
;--     + (member)
605
        ADD     RR, #0x0004
606
;--     move_rr_to_ll
607
        MOVE    RR, LL
608
;--     pop_rr (8 bit)
609
        MOVE    (SP)+, RS
610
;--     assign (8 bit)
611
        MOVE    R, (LL)
612 7 jsauermann
;;;                 } 8 Expr l | r
613
;;;               } 7 ExpressionStatement
614
;;;               { 7 IfElseStatement
615
;;;                 { 8 Expr * r
616
;;;                   { 9 Expression (variable name)
617
;;;                     expr_type = "identifier" (sema)
618 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at 0 (16 bit)
619
        MOVE    2(SP), RR
620 7 jsauermann
;;;                   } 9 Expression (variable name)
621
;;;                 } 8 Expr * r
622 2 jsauermann
;--     + (member)
623
        ADD     RR, #0x0002
624
;--     content
625
        MOVE    (RR), RR
626
;--     branch_false
627
        JMP     RRZ, L3_else_3
628 7 jsauermann
;;;                 { 8 ExpressionStatement
629
;;;                   { 9 Expr l = r
630
;;;                     { 10 TypeName
631
;;;                       { 11 TypeSpecifier (struct/union)
632
;;;                         spec = struct '_task' (800000)
633
;;;                         name = _task
634
;;;                       } 11 TypeSpecifier (struct/union)
635
;;;                       { 11 List
636
;;;                         { 12 DeclItem
637
;;;                           what = DECL_POINTER
638
;;;                           { 13 List
639
;;;                             { 14 Ptr
640
;;;                             } 14 Ptr
641
;;;                           } 13 List
642
;;;                         } 12 DeclItem
643
;;;                         { 12 DeclItem
644
;;;                           what = DECL_NAME
645
;;;                           name = next_waiting_task
646
;;;                         } 12 DeclItem
647
;;;                       } 11 List
648
;;;                     } 10 TypeName
649
;;;                     { 10 Expression (variable name)
650
;;;                       expr_type = "identifier" (current_task)
651 2 jsauermann
;--     load_rr_var current_task, (16 bit)
652
        MOVE    (Ccurrent_task), RR
653 7 jsauermann
;;;                     } 10 Expression (variable name)
654 2 jsauermann
;--     push_rr (16 bit)
655
        MOVE    RR, -(SP)
656
;;;                     { 10 Expr * r
657 7 jsauermann
;;;                       { 11 Expr * r
658
;;;                         { 12 Expression (variable name)
659
;;;                           expr_type = "identifier" (sema)
660 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -2 (16 bit)
661
        MOVE    4(SP), RR
662 7 jsauermann
;;;                         } 12 Expression (variable name)
663
;;;                       } 11 Expr * r
664 2 jsauermann
;--     + (member)
665
        ADD     RR, #0x0004
666
;--     content
667
        MOVE    (RR), RR
668 7 jsauermann
;;;                     } 10 Expr * r
669 2 jsauermann
;--     + (member)
670
        ADD     RR, #0x0010
671
;--     move_rr_to_ll
672
        MOVE    RR, LL
673
;--     pop_rr (16 bit)
674
        MOVE    (SP)+, RR
675
;--     assign (16 bit)
676
        MOVE    RR, (LL)
677 7 jsauermann
;;;                   } 9 Expr l = r
678
;;;                 } 8 ExpressionStatement
679 2 jsauermann
;--     branch
680
        JMP     L3_endif_3
681
L3_else_3:
682 7 jsauermann
;;;                 { 8 ExpressionStatement
683
;;;                   { 9 Expr l = r
684
;;;                     { 10 TypeName
685
;;;                       { 11 TypeSpecifier (struct/union)
686
;;;                         spec = struct '_task' (800000)
687
;;;                         name = _task
688
;;;                       } 11 TypeSpecifier (struct/union)
689
;;;                       { 11 List
690
;;;                         { 12 DeclItem
691
;;;                           what = DECL_POINTER
692
;;;                           { 13 List
693
;;;                             { 14 Ptr
694
;;;                             } 14 Ptr
695
;;;                           } 13 List
696
;;;                         } 12 DeclItem
697
;;;                         { 12 DeclItem
698
;;;                           what = DECL_NAME
699
;;;                           name = next_waiting
700
;;;                         } 12 DeclItem
701
;;;                       } 11 List
702
;;;                     } 10 TypeName
703
;;;                     { 10 Expression (variable name)
704
;;;                       expr_type = "identifier" (current_task)
705
;--     load_rr_var current_task, (16 bit)
706
        MOVE    (Ccurrent_task), RR
707
;;;                     } 10 Expression (variable name)
708
;--     push_rr (16 bit)
709
        MOVE    RR, -(SP)
710
;;;                     { 10 Expr * r
711
;;;                       { 11 Expression (variable name)
712
;;;                         expr_type = "identifier" (sema)
713
;--     load_rr_var sema = 2(FP), SP at -2 (16 bit)
714
        MOVE    4(SP), RR
715
;;;                       } 11 Expression (variable name)
716
;;;                     } 10 Expr * r
717
;--     + (member)
718
        ADD     RR, #0x0002
719
;--     move_rr_to_ll
720
        MOVE    RR, LL
721
;--     pop_rr (16 bit)
722
        MOVE    (SP)+, RR
723
;--     assign (16 bit)
724
        MOVE    RR, (LL)
725
;;;                   } 9 Expr l = r
726
;;;                 } 8 ExpressionStatement
727
L3_endif_3:
728
;;;               } 7 IfElseStatement
729 2 jsauermann
;;;               { 7 ExpressionStatement
730
;;;                 { 8 Expr l = r
731
;;;                   { 9 TypeName
732
;;;                     { 10 TypeSpecifier (struct/union)
733
;;;                       spec = struct '_task' (800000)
734
;;;                       name = _task
735
;;;                     } 10 TypeSpecifier (struct/union)
736
;;;                     { 10 List
737
;;;                       { 11 DeclItem
738
;;;                         what = DECL_POINTER
739
;;;                         { 12 List
740
;;;                           { 13 Ptr
741
;;;                           } 13 Ptr
742
;;;                         } 12 List
743
;;;                       } 11 DeclItem
744
;;;                       { 11 DeclItem
745
;;;                         what = DECL_NAME
746 7 jsauermann
;;;                         name = last_waiting
747 2 jsauermann
;;;                       } 11 DeclItem
748
;;;                     } 10 List
749
;;;                   } 9 TypeName
750
;;;                   { 9 Expression (variable name)
751
;;;                     expr_type = "identifier" (current_task)
752
;--     load_rr_var current_task, (16 bit)
753
        MOVE    (Ccurrent_task), RR
754
;;;                   } 9 Expression (variable name)
755
;--     push_rr (16 bit)
756
        MOVE    RR, -(SP)
757
;;;                   { 9 Expr * r
758
;;;                     { 10 Expression (variable name)
759
;;;                       expr_type = "identifier" (sema)
760
;--     load_rr_var sema = 2(FP), SP at -2 (16 bit)
761
        MOVE    4(SP), RR
762
;;;                     } 10 Expression (variable name)
763
;;;                   } 9 Expr * r
764
;--     + (member)
765 7 jsauermann
        ADD     RR, #0x0004
766 2 jsauermann
;--     move_rr_to_ll
767
        MOVE    RR, LL
768
;--     pop_rr (16 bit)
769
        MOVE    (SP)+, RR
770
;--     assign (16 bit)
771
        MOVE    RR, (LL)
772
;;;                 } 8 Expr l = r
773
;;;               } 7 ExpressionStatement
774 7 jsauermann
;;;               { 7 ExpressionStatement
775
;;;                 { 8 Expr l(r)
776
;;;                   { 9 TypeName
777
;;;                     { 10 TypeSpecifier (all)
778
;;;                       spec = void (10000)
779
;;;                     } 10 TypeSpecifier (all)
780
;;;                     { 10 List
781
;;;                       { 11 DeclItem
782
;;;                         what = DECL_NAME
783
;;;                         name = switch_tasks
784
;;;                       } 11 DeclItem
785
;;;                     } 10 List
786
;;;                   } 9 TypeName
787 2 jsauermann
;--     push 0 bytes
788
;--     call
789
        CALL    Cswitch_tasks
790
;--     pop 0 bytes
791 7 jsauermann
;;;                 } 8 Expr l(r)
792
;;;               } 7 ExpressionStatement
793
;;;             } 6 List
794
;--     pop 0 bytes
795
;;;           } 5 CompoundStatement
796 2 jsauermann
L3_endif_2:
797 7 jsauermann
;;;         } 4 IfElseStatement
798
;;;         { 4 ExpressionStatement
799 2 jsauermann
        RETI
800 7 jsauermann
;;;         } 4 ExpressionStatement
801
;;;       } 3 List
802
;--     pop 0 bytes
803
;;;     } 2 CompoundStatement
804 2 jsauermann
;--     ret
805
        RET
806
;;; ------------------------------------;
807 7 jsauermann
;;;     { 2 FunctionDefinition
808
;;;       { 3 TypeName
809
;;;         { 4 TypeSpecifier (all)
810
;;;           spec = char (20000)
811
;;;         } 4 TypeSpecifier (all)
812
;;;         { 4 List
813
;;;           { 5 DeclItem
814
;;;             what = DECL_NAME
815
;;;             name = P_timed
816
;;;           } 5 DeclItem
817
;;;         } 4 List
818
;;;       } 3 TypeName
819
;;;       { 3 List
820
;;;         { 4 DeclItem
821
;;;           what = DECL_NAME
822
;;;           name = P_timed
823
;;;         } 4 DeclItem
824
;;;         { 4 DeclItem
825
;;;           what = DECL_FUN
826
;;;           { 5 List
827
;;;             { 6 ParameterDeclaration
828
;;;               isEllipsis = false
829
;;;               { 7 TypeName
830
;;;                 { 8 TypeSpecifier (struct/union)
831
;;;                   spec = struct '_semaphore' (800000)
832
;;;                   name = _semaphore
833
;;;                 } 8 TypeSpecifier (struct/union)
834
;;;                 { 8 List
835
;;;                   { 9 DeclItem
836
;;;                     what = DECL_POINTER
837
;;;                     { 10 List
838
;;;                       { 11 Ptr
839
;;;                       } 11 Ptr
840
;;;                     } 10 List
841
;;;                   } 9 DeclItem
842
;;;                   { 9 DeclItem
843
;;;                     what = DECL_NAME
844
;;;                     name = sema
845
;;;                   } 9 DeclItem
846
;;;                 } 8 List
847
;;;               } 7 TypeName
848
;;;             } 6 ParameterDeclaration
849
;;;             { 6 ParameterDeclaration
850
;;;               isEllipsis = false
851
;;;               { 7 TypeName
852
;;;                 { 8 TypeSpecifier (all)
853
;;;                   spec = unsigned int (82000)
854
;;;                 } 8 TypeSpecifier (all)
855
;;;                 { 8 List
856
;;;                   { 9 DeclItem
857
;;;                     what = DECL_NAME
858
;;;                     name = ticks
859
;;;                   } 9 DeclItem
860
;;;                 } 8 List
861
;;;               } 7 TypeName
862
;;;             } 6 ParameterDeclaration
863
;;;           } 5 List
864
;;;         } 4 DeclItem
865
;;;       } 3 List
866 2 jsauermann
CP_timed:
867 7 jsauermann
;;;       { 3 CompoundStatement
868
;;;         { 4 InitDeclarator
869
;;;           { 5 List
870
;;;             { 6 DeclItem
871
;;;               what = DECL_NAME
872
;;;               name = ret
873
;;;             } 6 DeclItem
874
;;;           } 5 List
875
;;;           { 5 Initializer (skalar)
876 2 jsauermann
;--     push_zero 1 bytes
877
        CLRB    -(SP)
878 7 jsauermann
;;;           } 5 Initializer (skalar)
879
;;;         } 4 InitDeclarator
880
;;;         { 4 List
881
;;;           { 5 ExpressionStatement
882 2 jsauermann
        DI
883 7 jsauermann
;;;           } 5 ExpressionStatement
884
;;;           { 5 IfElseStatement
885
;;;             { 6 Expr l < r
886
;;;               { 7 TypeName (internal)
887
;;;                 { 8 TypeSpecifier (all)
888
;;;                   spec = int (80000)
889
;;;                 } 8 TypeSpecifier (all)
890
;;;               } 7 TypeName (internal)
891
;;;               { 7 Expr --r
892
;;;                 { 8 Expr * r
893
;;;                   { 9 Expression (variable name)
894
;;;                     expr_type = "identifier" (sema)
895 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -1 (16 bit)
896
        MOVE    3(SP), RR
897 7 jsauermann
;;;                   } 9 Expression (variable name)
898
;;;                 } 8 Expr * r
899 2 jsauermann
;--     + (member)
900
;--     move_rr_to_ll
901
        MOVE    RR, LL
902
;--     content
903
        MOVE    (RR), RR
904
;--     --
905
        SUB     RR, #0x0001
906
;--     assign (16 bit)
907
        MOVE    RR, (LL)
908 7 jsauermann
;;;               } 7 Expr --r
909 2 jsauermann
;--     l < r
910
        SLT     RR, #0x0000
911 7 jsauermann
;;;             } 6 Expr l < r
912 2 jsauermann
;--     branch_false
913
        JMP     RRZ, L4_endif_4
914 7 jsauermann
;;;             { 6 CompoundStatement
915
;;;               { 7 List
916
;;;                 { 8 ExpressionStatement
917
;;;                   { 9 Expr l = r
918
;;;                     { 10 TypeName
919
;;;                       { 11 TypeSpecifier (struct/union)
920
;;;                         spec = struct '_semaphore' (800000)
921
;;;                         name = _semaphore
922
;;;                       } 11 TypeSpecifier (struct/union)
923
;;;                       { 11 List
924
;;;                         { 12 DeclItem
925
;;;                           what = DECL_POINTER
926
;;;                           { 13 List
927
;;;                             { 14 Ptr
928
;;;                             } 14 Ptr
929
;;;                           } 13 List
930
;;;                         } 12 DeclItem
931
;;;                         { 12 DeclItem
932
;;;                           what = DECL_NAME
933
;;;                           name = waiting_for
934
;;;                         } 12 DeclItem
935
;;;                       } 11 List
936
;;;                     } 10 TypeName
937
;;;                     { 10 Expression (variable name)
938
;;;                       expr_type = "identifier" (sema)
939 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -1 (16 bit)
940
        MOVE    3(SP), RR
941 7 jsauermann
;;;                     } 10 Expression (variable name)
942 2 jsauermann
;--     push_rr (16 bit)
943
        MOVE    RR, -(SP)
944 7 jsauermann
;;;                     { 10 Expr * r
945
;;;                       { 11 Expression (variable name)
946
;;;                         expr_type = "identifier" (current_task)
947 2 jsauermann
;--     load_rr_var current_task, (16 bit)
948
        MOVE    (Ccurrent_task), RR
949 7 jsauermann
;;;                       } 11 Expression (variable name)
950
;;;                     } 10 Expr * r
951 2 jsauermann
;--     + (member)
952
        ADD     RR, #0x000E
953
;--     move_rr_to_ll
954
        MOVE    RR, LL
955
;--     pop_rr (16 bit)
956
        MOVE    (SP)+, RR
957
;--     assign (16 bit)
958
        MOVE    RR, (LL)
959 7 jsauermann
;;;                   } 9 Expr l = r
960
;;;                 } 8 ExpressionStatement
961
;;;                 { 8 ExpressionStatement
962
;;;                   { 9 Expr l = r
963
;;;                     { 10 TypeName
964
;;;                       { 11 TypeSpecifier (all)
965
;;;                         spec = int (80000)
966
;;;                       } 11 TypeSpecifier (all)
967
;;;                       { 11 List
968
;;;                         { 12 DeclItem
969
;;;                           what = DECL_NAME
970
;;;                           name = sleep_count
971
;;;                         } 12 DeclItem
972
;;;                       } 11 List
973
;;;                     } 10 TypeName
974
;;;                     { 10 Expression (variable name)
975
;;;                       expr_type = "identifier" (ticks)
976 2 jsauermann
;--     load_rr_var ticks = 4(FP), SP at -1 (16 bit)
977
        MOVE    5(SP), RR
978 7 jsauermann
;;;                     } 10 Expression (variable name)
979 2 jsauermann
;--     push_rr (16 bit)
980
        MOVE    RR, -(SP)
981 7 jsauermann
;;;                     { 10 Expr * r
982
;;;                       { 11 Expression (variable name)
983
;;;                         expr_type = "identifier" (current_task)
984 2 jsauermann
;--     load_rr_var current_task, (16 bit)
985
        MOVE    (Ccurrent_task), RR
986 7 jsauermann
;;;                       } 11 Expression (variable name)
987
;;;                     } 10 Expr * r
988 2 jsauermann
;--     + (member)
989
        ADD     RR, #0x0012
990
;--     move_rr_to_ll
991
        MOVE    RR, LL
992
;--     pop_rr (16 bit)
993
        MOVE    (SP)+, RR
994
;--     assign (16 bit)
995
        MOVE    RR, (LL)
996 7 jsauermann
;;;                   } 9 Expr l = r
997
;;;                 } 8 ExpressionStatement
998
;;;                 { 8 ExpressionStatement
999
;;;                   { 9 Expr l = r
1000
;;;                     { 10 TypeName
1001
;;;                       { 11 TypeSpecifier (struct/union)
1002
;;;                         spec = struct '_task' (800000)
1003
;;;                         name = _task
1004
;;;                       } 11 TypeSpecifier (struct/union)
1005
;;;                       { 11 List
1006
;;;                         { 12 DeclItem
1007
;;;                           what = DECL_POINTER
1008
;;;                           { 13 List
1009
;;;                             { 14 Ptr
1010
;;;                             } 14 Ptr
1011
;;;                           } 13 List
1012
;;;                         } 12 DeclItem
1013
;;;                         { 12 DeclItem
1014
;;;                           what = DECL_NAME
1015
;;;                           name = next_waiting_task
1016
;;;                         } 12 DeclItem
1017
;;;                       } 11 List
1018
;;;                     } 10 TypeName
1019
;;;                     { 10 NumericExpression (constant 0 = 0x0)
1020 2 jsauermann
;--     load_rr_constant
1021
        MOVE    #0x0000, RR
1022 7 jsauermann
;;;                     } 10 NumericExpression (constant 0 = 0x0)
1023 2 jsauermann
;--     push_rr (16 bit)
1024
        MOVE    RR, -(SP)
1025 7 jsauermann
;;;                     { 10 Expr * r
1026
;;;                       { 11 Expression (variable name)
1027
;;;                         expr_type = "identifier" (current_task)
1028 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1029
        MOVE    (Ccurrent_task), RR
1030 7 jsauermann
;;;                       } 11 Expression (variable name)
1031
;;;                     } 10 Expr * r
1032 2 jsauermann
;--     + (member)
1033
        ADD     RR, #0x0010
1034
;--     move_rr_to_ll
1035
        MOVE    RR, LL
1036
;--     pop_rr (16 bit)
1037
        MOVE    (SP)+, RR
1038
;--     assign (16 bit)
1039
        MOVE    RR, (LL)
1040 7 jsauermann
;;;                   } 9 Expr l = r
1041
;;;                 } 8 ExpressionStatement
1042
;;;                 { 8 ExpressionStatement
1043
;;;                   { 9 Expr l | r
1044
;;;                     { 10 TypeName
1045
;;;                       { 11 TypeSpecifier (all)
1046
;;;                         spec = char (20000)
1047
;;;                       } 11 TypeSpecifier (all)
1048
;;;                       { 11 List
1049
;;;                         { 12 DeclItem
1050
;;;                           what = DECL_NAME
1051
;;;                           name = status
1052
;;;                         } 12 DeclItem
1053
;;;                       } 11 List
1054
;;;                     } 10 TypeName
1055
;;;                     { 10 Expr l | r
1056
;;;                       { 11 TypeName (internal)
1057
;;;                         { 12 TypeSpecifier (all)
1058
;;;                           spec = int (80000)
1059
;;;                         } 12 TypeSpecifier (all)
1060
;;;                       } 11 TypeName (internal)
1061
;;;                       { 11 Expr * r
1062
;;;                         { 12 Expression (variable name)
1063
;;;                           expr_type = "identifier" (current_task)
1064 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1065
        MOVE    (Ccurrent_task), RR
1066 7 jsauermann
;;;                         } 12 Expression (variable name)
1067
;;;                       } 11 Expr * r
1068 2 jsauermann
;--     + (member)
1069
        ADD     RR, #0x0004
1070
;--     content
1071
        MOVE    (RR), RS
1072
;--     l | r
1073
        OR      RR, #0x0003
1074 7 jsauermann
;;;                     } 10 Expr l | r
1075 2 jsauermann
;--     push_rr (8 bit)
1076
        MOVE    R, -(SP)
1077 7 jsauermann
;;;                     { 10 Expr * r
1078
;;;                       { 11 Expression (variable name)
1079
;;;                         expr_type = "identifier" (current_task)
1080 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1081
        MOVE    (Ccurrent_task), RR
1082 7 jsauermann
;;;                       } 11 Expression (variable name)
1083
;;;                     } 10 Expr * r
1084 2 jsauermann
;--     + (member)
1085
        ADD     RR, #0x0004
1086
;--     move_rr_to_ll
1087
        MOVE    RR, LL
1088
;--     pop_rr (8 bit)
1089
        MOVE    (SP)+, RS
1090
;--     assign (8 bit)
1091
        MOVE    R, (LL)
1092 7 jsauermann
;;;                   } 9 Expr l | r
1093
;;;                 } 8 ExpressionStatement
1094
;;;                 { 8 ExpressionStatement
1095
;;;                   { 9 Expr l = r
1096
;;;                     { 10 TypeName
1097
;;;                       { 11 TypeSpecifier (all)
1098
;;;                         spec = char (20000)
1099
;;;                       } 11 TypeSpecifier (all)
1100
;;;                       { 11 List
1101
;;;                         { 12 DeclItem
1102
;;;                           what = DECL_NAME
1103
;;;                           name = sema_ret
1104
;;;                         } 12 DeclItem
1105
;;;                       } 11 List
1106
;;;                     } 10 TypeName
1107
;;;                     { 10 NumericExpression (constant 0 = 0x0)
1108 2 jsauermann
;--     load_rr_constant
1109
        MOVE    #0x0000, RR
1110 7 jsauermann
;;;                     } 10 NumericExpression (constant 0 = 0x0)
1111 2 jsauermann
;--     push_rr (8 bit)
1112
        MOVE    R, -(SP)
1113 7 jsauermann
;;;                     { 10 Expr * r
1114
;;;                       { 11 Expression (variable name)
1115
;;;                         expr_type = "identifier" (current_task)
1116 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1117
        MOVE    (Ccurrent_task), RR
1118 7 jsauermann
;;;                       } 11 Expression (variable name)
1119
;;;                     } 10 Expr * r
1120 2 jsauermann
;--     + (member)
1121
        ADD     RR, #0x000C
1122
;--     move_rr_to_ll
1123
        MOVE    RR, LL
1124
;--     pop_rr (8 bit)
1125
        MOVE    (SP)+, RS
1126
;--     assign (8 bit)
1127
        MOVE    R, (LL)
1128 7 jsauermann
;;;                   } 9 Expr l = r
1129
;;;                 } 8 ExpressionStatement
1130
;;;                 { 8 IfElseStatement
1131
;;;                   { 9 Expr * r
1132
;;;                     { 10 Expression (variable name)
1133
;;;                       expr_type = "identifier" (sema)
1134 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -1 (16 bit)
1135
        MOVE    3(SP), RR
1136 7 jsauermann
;;;                     } 10 Expression (variable name)
1137
;;;                   } 9 Expr * r
1138 2 jsauermann
;--     + (member)
1139
        ADD     RR, #0x0002
1140
;--     content
1141
        MOVE    (RR), RR
1142
;--     branch_false
1143
        JMP     RRZ, L4_else_5
1144 7 jsauermann
;;;                   { 9 ExpressionStatement
1145
;;;                     { 10 Expr l = r
1146
;;;                       { 11 TypeName
1147
;;;                         { 12 TypeSpecifier (struct/union)
1148
;;;                           spec = struct '_task' (800000)
1149
;;;                           name = _task
1150
;;;                         } 12 TypeSpecifier (struct/union)
1151
;;;                         { 12 List
1152
;;;                           { 13 DeclItem
1153
;;;                             what = DECL_POINTER
1154
;;;                             { 14 List
1155
;;;                               { 15 Ptr
1156
;;;                               } 15 Ptr
1157
;;;                             } 14 List
1158
;;;                           } 13 DeclItem
1159
;;;                           { 13 DeclItem
1160
;;;                             what = DECL_NAME
1161
;;;                             name = next_waiting_task
1162
;;;                           } 13 DeclItem
1163
;;;                         } 12 List
1164
;;;                       } 11 TypeName
1165
;;;                       { 11 Expression (variable name)
1166
;;;                         expr_type = "identifier" (current_task)
1167 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1168
        MOVE    (Ccurrent_task), RR
1169 7 jsauermann
;;;                       } 11 Expression (variable name)
1170 2 jsauermann
;--     push_rr (16 bit)
1171
        MOVE    RR, -(SP)
1172 7 jsauermann
;;;                       { 11 Expr * r
1173
;;;                         { 12 Expr * r
1174
;;;                           { 13 Expression (variable name)
1175
;;;                             expr_type = "identifier" (sema)
1176 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -3 (16 bit)
1177
        MOVE    5(SP), RR
1178 7 jsauermann
;;;                           } 13 Expression (variable name)
1179
;;;                         } 12 Expr * r
1180 2 jsauermann
;--     + (member)
1181
        ADD     RR, #0x0004
1182
;--     content
1183
        MOVE    (RR), RR
1184 7 jsauermann
;;;                       } 11 Expr * r
1185 2 jsauermann
;--     + (member)
1186
        ADD     RR, #0x0010
1187
;--     move_rr_to_ll
1188
        MOVE    RR, LL
1189
;--     pop_rr (16 bit)
1190
        MOVE    (SP)+, RR
1191
;--     assign (16 bit)
1192
        MOVE    RR, (LL)
1193 7 jsauermann
;;;                     } 10 Expr l = r
1194
;;;                   } 9 ExpressionStatement
1195 2 jsauermann
;--     branch
1196
        JMP     L4_endif_5
1197
L4_else_5:
1198 7 jsauermann
;;;                   { 9 ExpressionStatement
1199
;;;                     { 10 Expr l = r
1200
;;;                       { 11 TypeName
1201
;;;                         { 12 TypeSpecifier (struct/union)
1202
;;;                           spec = struct '_task' (800000)
1203
;;;                           name = _task
1204
;;;                         } 12 TypeSpecifier (struct/union)
1205
;;;                         { 12 List
1206
;;;                           { 13 DeclItem
1207
;;;                             what = DECL_POINTER
1208
;;;                             { 14 List
1209
;;;                               { 15 Ptr
1210
;;;                               } 15 Ptr
1211
;;;                             } 14 List
1212
;;;                           } 13 DeclItem
1213
;;;                           { 13 DeclItem
1214
;;;                             what = DECL_NAME
1215
;;;                             name = next_waiting
1216
;;;                           } 13 DeclItem
1217
;;;                         } 12 List
1218
;;;                       } 11 TypeName
1219
;;;                       { 11 Expression (variable name)
1220
;;;                         expr_type = "identifier" (current_task)
1221 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1222
        MOVE    (Ccurrent_task), RR
1223 7 jsauermann
;;;                       } 11 Expression (variable name)
1224 2 jsauermann
;--     push_rr (16 bit)
1225
        MOVE    RR, -(SP)
1226 7 jsauermann
;;;                       { 11 Expr * r
1227
;;;                         { 12 Expression (variable name)
1228
;;;                           expr_type = "identifier" (sema)
1229 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -3 (16 bit)
1230
        MOVE    5(SP), RR
1231 7 jsauermann
;;;                         } 12 Expression (variable name)
1232
;;;                       } 11 Expr * r
1233 2 jsauermann
;--     + (member)
1234
        ADD     RR, #0x0002
1235
;--     move_rr_to_ll
1236
        MOVE    RR, LL
1237
;--     pop_rr (16 bit)
1238
        MOVE    (SP)+, RR
1239
;--     assign (16 bit)
1240
        MOVE    RR, (LL)
1241 7 jsauermann
;;;                     } 10 Expr l = r
1242
;;;                   } 9 ExpressionStatement
1243 2 jsauermann
L4_endif_5:
1244 7 jsauermann
;;;                 } 8 IfElseStatement
1245
;;;                 { 8 ExpressionStatement
1246
;;;                   { 9 Expr l(r)
1247
;;;                     { 10 TypeName
1248
;;;                       { 11 TypeSpecifier (all)
1249
;;;                         spec = void (10000)
1250
;;;                       } 11 TypeSpecifier (all)
1251
;;;                       { 11 List
1252
;;;                         { 12 DeclItem
1253
;;;                           what = DECL_NAME
1254
;;;                           name = switch_tasks
1255
;;;                         } 12 DeclItem
1256
;;;                       } 11 List
1257
;;;                     } 10 TypeName
1258 2 jsauermann
;--     push 0 bytes
1259
;--     call
1260
        CALL    Cswitch_tasks
1261
;--     pop 0 bytes
1262 7 jsauermann
;;;                   } 9 Expr l(r)
1263
;;;                 } 8 ExpressionStatement
1264
;;;                 { 8 ExpressionStatement
1265
;;;                   { 9 Expr l = r
1266
;;;                     { 10 TypeName
1267
;;;                       { 11 TypeSpecifier (all)
1268
;;;                         spec = char (20000)
1269
;;;                       } 11 TypeSpecifier (all)
1270
;;;                       { 11 List
1271
;;;                         { 12 DeclItem
1272
;;;                           what = DECL_NAME
1273
;;;                           name = ret
1274
;;;                         } 12 DeclItem
1275
;;;                       } 11 List
1276
;;;                     } 10 TypeName
1277
;;;                     { 10 Expr * r
1278
;;;                       { 11 Expression (variable name)
1279
;;;                         expr_type = "identifier" (current_task)
1280 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1281
        MOVE    (Ccurrent_task), RR
1282 7 jsauermann
;;;                       } 11 Expression (variable name)
1283
;;;                     } 10 Expr * r
1284 2 jsauermann
;--     + (member)
1285
        ADD     RR, #0x000C
1286
;--     content
1287
        MOVE    (RR), RS
1288
;--     store_rr_var ret = -1(FP), SP at -1
1289
        MOVE    R, 0(SP)
1290 7 jsauermann
;;;                   } 9 Expr l = r
1291
;;;                 } 8 ExpressionStatement
1292
;;;               } 7 List
1293
;--     pop 0 bytes
1294
;;;             } 6 CompoundStatement
1295 2 jsauermann
L4_endif_4:
1296 7 jsauermann
;;;           } 5 IfElseStatement
1297
;;;           { 5 ExpressionStatement
1298 2 jsauermann
        EI
1299 7 jsauermann
;;;           } 5 ExpressionStatement
1300
;;;           { 5 return Statement
1301
;;;             { 6 Expression (variable name)
1302
;;;               expr_type = "identifier" (ret)
1303 2 jsauermann
;--     load_rr_var ret = -1(FP), SP at -1 (8 bit)
1304
        MOVE    0(SP), RS
1305 7 jsauermann
;;;             } 6 Expression (variable name)
1306 2 jsauermann
;--     ret
1307 7 jsauermann
        ADD     SP, #1
1308
        RET
1309
;;;           } 5 return Statement
1310
;;;         } 4 List
1311 2 jsauermann
;--     pop 1 bytes
1312
        ADD     SP, #1
1313 7 jsauermann
;;;       } 3 CompoundStatement
1314
;--     ret
1315 2 jsauermann
        RET
1316
;;; ------------------------------------;
1317 7 jsauermann
;;;       { 3 FunctionDefinition
1318
;;;         { 4 TypeName
1319
;;;           { 5 TypeSpecifier (all)
1320
;;;             spec = char (20000)
1321
;;;           } 5 TypeSpecifier (all)
1322
;;;           { 5 List
1323
;;;             { 6 DeclItem
1324
;;;               what = DECL_NAME
1325
;;;               name = Vint
1326
;;;             } 6 DeclItem
1327
;;;           } 5 List
1328
;;;         } 4 TypeName
1329
;;;         { 4 List
1330
;;;           { 5 DeclItem
1331
;;;             what = DECL_NAME
1332
;;;             name = Vint
1333
;;;           } 5 DeclItem
1334
;;;           { 5 DeclItem
1335
;;;             what = DECL_FUN
1336
;;;             { 6 List
1337
;;;               { 7 ParameterDeclaration
1338
;;;                 isEllipsis = false
1339
;;;                 { 8 TypeName
1340
;;;                   { 9 TypeSpecifier (struct/union)
1341
;;;                     spec = struct '_semaphore' (800000)
1342
;;;                     name = _semaphore
1343
;;;                   } 9 TypeSpecifier (struct/union)
1344
;;;                   { 9 List
1345
;;;                     { 10 DeclItem
1346
;;;                       what = DECL_POINTER
1347
;;;                       { 11 List
1348
;;;                         { 12 Ptr
1349
;;;                         } 12 Ptr
1350
;;;                       } 11 List
1351
;;;                     } 10 DeclItem
1352
;;;                     { 10 DeclItem
1353
;;;                       what = DECL_NAME
1354
;;;                       name = sema
1355
;;;                     } 10 DeclItem
1356
;;;                   } 9 List
1357
;;;                 } 8 TypeName
1358
;;;               } 7 ParameterDeclaration
1359
;;;             } 6 List
1360
;;;           } 5 DeclItem
1361
;;;         } 4 List
1362
CVint:
1363
;;;         { 4 CompoundStatement
1364
;;;           { 5 InitDeclarator
1365 2 jsauermann
;;;             { 6 List
1366
;;;               { 7 DeclItem
1367
;;;                 what = DECL_POINTER
1368
;;;                 { 8 List
1369
;;;                   { 9 Ptr
1370
;;;                   } 9 Ptr
1371
;;;                 } 8 List
1372
;;;               } 7 DeclItem
1373
;;;               { 7 DeclItem
1374
;;;                 what = DECL_NAME
1375 7 jsauermann
;;;                 name = next
1376 2 jsauermann
;;;               } 7 DeclItem
1377
;;;             } 6 List
1378 7 jsauermann
;;;             { 6 Initializer (skalar)
1379
;;;               { 7 Expr * r
1380
;;;                 { 8 Expression (variable name)
1381
;;;                   expr_type = "identifier" (sema)
1382 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at 0 (16 bit)
1383
        MOVE    2(SP), RR
1384 7 jsauermann
;;;                 } 8 Expression (variable name)
1385
;;;               } 7 Expr * r
1386 2 jsauermann
;--     + (member)
1387
        ADD     RR, #0x0002
1388
;--     content
1389
        MOVE    (RR), RR
1390
;--     push_rr (16 bit)
1391
        MOVE    RR, -(SP)
1392 7 jsauermann
;;;             } 6 Initializer (skalar)
1393
;;;           } 5 InitDeclarator
1394
;;;           { 5 List
1395
;;;             { 6 ExpressionStatement
1396
;;;               { 7 Expr ++r
1397
;;;                 { 8 Expr * r
1398
;;;                   { 9 Expression (variable name)
1399
;;;                     expr_type = "identifier" (sema)
1400 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -2 (16 bit)
1401
        MOVE    4(SP), RR
1402 7 jsauermann
;;;                   } 9 Expression (variable name)
1403
;;;                 } 8 Expr * r
1404 2 jsauermann
;--     + (member)
1405
;--     move_rr_to_ll
1406
        MOVE    RR, LL
1407
;--     content
1408
        MOVE    (RR), RR
1409
;--     ++
1410
        ADD     RR, #0x0001
1411
;--     assign (16 bit)
1412
        MOVE    RR, (LL)
1413 7 jsauermann
;;;               } 7 Expr ++r
1414
;;;             } 6 ExpressionStatement
1415
;;;             { 6 IfElseStatement
1416
;;;               { 7 Expression (variable name)
1417
;;;                 expr_type = "identifier" (next)
1418 2 jsauermann
;--     load_rr_var next = -2(FP), SP at -2 (16 bit)
1419
        MOVE    0(SP), RR
1420 7 jsauermann
;;;               } 7 Expression (variable name)
1421 2 jsauermann
;--     branch_false
1422
        JMP     RRZ, L5_endif_6
1423 7 jsauermann
;;;               { 7 CompoundStatement
1424
;;;                 { 8 List
1425
;;;                   { 9 ExpressionStatement
1426
;;;                     { 10 Expr l & r
1427
;;;                       { 11 TypeName
1428
;;;                         { 12 TypeSpecifier (all)
1429
;;;                           spec = char (20000)
1430
;;;                         } 12 TypeSpecifier (all)
1431
;;;                         { 12 List
1432
;;;                           { 13 DeclItem
1433
;;;                             what = DECL_NAME
1434
;;;                             name = status
1435
;;;                           } 13 DeclItem
1436
;;;                         } 12 List
1437
;;;                       } 11 TypeName
1438
;;;                       { 11 Expr l & r
1439
;;;                         { 12 TypeName (internal)
1440
;;;                           { 13 TypeSpecifier (all)
1441
;;;                             spec = int (80000)
1442
;;;                           } 13 TypeSpecifier (all)
1443
;;;                         } 12 TypeName (internal)
1444
;;;                         { 12 Expr * r
1445
;;;                           { 13 Expression (variable name)
1446
;;;                             expr_type = "identifier" (next)
1447 2 jsauermann
;--     load_rr_var next = -2(FP), SP at -2 (16 bit)
1448
        MOVE    0(SP), RR
1449 7 jsauermann
;;;                           } 13 Expression (variable name)
1450
;;;                         } 12 Expr * r
1451 2 jsauermann
;--     + (member)
1452
        ADD     RR, #0x0004
1453
;--     content
1454
        MOVE    (RR), RS
1455
;--     l & r
1456
        AND     RR, #0xFFFC
1457 7 jsauermann
;;;                       } 11 Expr l & r
1458 2 jsauermann
;--     push_rr (8 bit)
1459
        MOVE    R, -(SP)
1460 7 jsauermann
;;;                       { 11 Expr * r
1461
;;;                         { 12 Expression (variable name)
1462
;;;                           expr_type = "identifier" (next)
1463 2 jsauermann
;--     load_rr_var next = -2(FP), SP at -3 (16 bit)
1464
        MOVE    1(SP), RR
1465 7 jsauermann
;;;                         } 12 Expression (variable name)
1466
;;;                       } 11 Expr * r
1467 2 jsauermann
;--     + (member)
1468
        ADD     RR, #0x0004
1469
;--     move_rr_to_ll
1470
        MOVE    RR, LL
1471
;--     pop_rr (8 bit)
1472
        MOVE    (SP)+, RS
1473
;--     assign (8 bit)
1474
        MOVE    R, (LL)
1475 7 jsauermann
;;;                     } 10 Expr l & r
1476
;;;                   } 9 ExpressionStatement
1477
;;;                   { 9 ExpressionStatement
1478
;;;                     { 10 Expr l = r
1479
;;;                       { 11 TypeName
1480
;;;                         { 12 TypeSpecifier (struct/union)
1481
;;;                           spec = struct '_task' (800000)
1482
;;;                           name = _task
1483
;;;                         } 12 TypeSpecifier (struct/union)
1484
;;;                         { 12 List
1485
;;;                           { 13 DeclItem
1486
;;;                             what = DECL_POINTER
1487
;;;                             { 14 List
1488
;;;                               { 15 Ptr
1489
;;;                               } 15 Ptr
1490
;;;                             } 14 List
1491
;;;                           } 13 DeclItem
1492
;;;                           { 13 DeclItem
1493
;;;                             what = DECL_NAME
1494
;;;                             name = next_waiting
1495
;;;                           } 13 DeclItem
1496
;;;                         } 12 List
1497
;;;                       } 11 TypeName
1498
;;;                       { 11 Expr * r
1499
;;;                         { 12 Expression (variable name)
1500
;;;                           expr_type = "identifier" (next)
1501 2 jsauermann
;--     load_rr_var next = -2(FP), SP at -2 (16 bit)
1502
        MOVE    0(SP), RR
1503 7 jsauermann
;;;                         } 12 Expression (variable name)
1504
;;;                       } 11 Expr * r
1505 2 jsauermann
;--     + (member)
1506
        ADD     RR, #0x0010
1507
;--     content
1508
        MOVE    (RR), RR
1509
;--     push_rr (16 bit)
1510
        MOVE    RR, -(SP)
1511 7 jsauermann
;;;                       { 11 Expr * r
1512
;;;                         { 12 Expression (variable name)
1513
;;;                           expr_type = "identifier" (sema)
1514 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -4 (16 bit)
1515
        MOVE    6(SP), RR
1516 7 jsauermann
;;;                         } 12 Expression (variable name)
1517
;;;                       } 11 Expr * r
1518 2 jsauermann
;--     + (member)
1519
        ADD     RR, #0x0002
1520
;--     move_rr_to_ll
1521
        MOVE    RR, LL
1522
;--     pop_rr (16 bit)
1523
        MOVE    (SP)+, RR
1524
;--     assign (16 bit)
1525
        MOVE    RR, (LL)
1526 7 jsauermann
;;;                     } 10 Expr l = r
1527
;;;                   } 9 ExpressionStatement
1528
;;;                   { 9 IfElseStatement
1529
;;;                     { 10 Expr ! r
1530
;;;                       { 11 Expr * r
1531
;;;                         { 12 Expression (variable name)
1532
;;;                           expr_type = "identifier" (sema)
1533 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -2 (16 bit)
1534
        MOVE    4(SP), RR
1535 7 jsauermann
;;;                         } 12 Expression (variable name)
1536
;;;                       } 11 Expr * r
1537 2 jsauermann
;--     + (member)
1538
        ADD     RR, #0x0002
1539
;--     content
1540
        MOVE    (RR), RR
1541
;--     16 bit ! r
1542
        LNOT    RR
1543 7 jsauermann
;;;                     } 10 Expr ! r
1544 2 jsauermann
;--     branch_false
1545
        JMP     RRZ, L5_endif_7
1546 7 jsauermann
;;;                     { 10 ExpressionStatement
1547
;;;                       { 11 Expr l = r
1548
;;;                         { 12 TypeName
1549
;;;                           { 13 TypeSpecifier (struct/union)
1550
;;;                             spec = struct '_task' (800000)
1551
;;;                             name = _task
1552
;;;                           } 13 TypeSpecifier (struct/union)
1553
;;;                           { 13 List
1554
;;;                             { 14 DeclItem
1555
;;;                               what = DECL_POINTER
1556
;;;                               { 15 List
1557
;;;                                 { 16 Ptr
1558
;;;                                 } 16 Ptr
1559
;;;                               } 15 List
1560
;;;                             } 14 DeclItem
1561
;;;                             { 14 DeclItem
1562
;;;                               what = DECL_NAME
1563
;;;                               name = last_waiting
1564
;;;                             } 14 DeclItem
1565
;;;                           } 13 List
1566
;;;                         } 12 TypeName
1567
;;;                         { 12 NumericExpression (constant 0 = 0x0)
1568 2 jsauermann
;--     load_rr_constant
1569
        MOVE    #0x0000, RR
1570 7 jsauermann
;;;                         } 12 NumericExpression (constant 0 = 0x0)
1571 2 jsauermann
;--     push_rr (16 bit)
1572
        MOVE    RR, -(SP)
1573 7 jsauermann
;;;                         { 12 Expr * r
1574
;;;                           { 13 Expression (variable name)
1575
;;;                             expr_type = "identifier" (sema)
1576 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at -4 (16 bit)
1577
        MOVE    6(SP), RR
1578 7 jsauermann
;;;                           } 13 Expression (variable name)
1579
;;;                         } 12 Expr * r
1580 2 jsauermann
;--     + (member)
1581
        ADD     RR, #0x0004
1582
;--     move_rr_to_ll
1583
        MOVE    RR, LL
1584
;--     pop_rr (16 bit)
1585
        MOVE    (SP)+, RR
1586
;--     assign (16 bit)
1587
        MOVE    RR, (LL)
1588 7 jsauermann
;;;                       } 11 Expr l = r
1589
;;;                     } 10 ExpressionStatement
1590 2 jsauermann
L5_endif_7:
1591 7 jsauermann
;;;                   } 9 IfElseStatement
1592
;;;                   { 9 return Statement
1593
;;;                     { 10 Expr l > r
1594
;;;                       { 11 TypeName (internal)
1595
;;;                         { 12 TypeSpecifier (all)
1596
;;;                           spec = unsigned int (82000)
1597
;;;                         } 12 TypeSpecifier (all)
1598
;;;                       } 11 TypeName (internal)
1599
;;;                       { 11 Expr * r
1600
;;;                         { 12 Expression (variable name)
1601
;;;                           expr_type = "identifier" (next)
1602 2 jsauermann
;--     load_rr_var next = -2(FP), SP at -2 (16 bit)
1603
        MOVE    0(SP), RR
1604 7 jsauermann
;;;                         } 12 Expression (variable name)
1605
;;;                       } 11 Expr * r
1606 2 jsauermann
;--     + (member)
1607
        ADD     RR, #0x0005
1608
;--     content
1609
        MOVE    (RR), RU
1610
;--     push_rr (16 bit)
1611
        MOVE    RR, -(SP)
1612 7 jsauermann
;;;                       { 11 Expr * r
1613
;;;                         { 12 Expression (variable name)
1614
;;;                           expr_type = "identifier" (current_task)
1615 2 jsauermann
;--     load_rr_var current_task, (16 bit)
1616
        MOVE    (Ccurrent_task), RR
1617 7 jsauermann
;;;                         } 12 Expression (variable name)
1618
;;;                       } 11 Expr * r
1619 2 jsauermann
;--     + (member)
1620
        ADD     RR, #0x0005
1621
;--     content
1622
        MOVE    (RR), RU
1623
;--     pop_ll (16 bit)
1624
        MOVE    (SP)+, LL
1625
;--     l > r
1626
        SHI     LL, RR
1627 7 jsauermann
;;;                     } 10 Expr l > r
1628
;--     ret
1629
        ADD     SP, #2
1630
        RET
1631
;;;                   } 9 return Statement
1632
;;;                 } 8 List
1633
;--     pop 0 bytes
1634
;;;               } 7 CompoundStatement
1635 2 jsauermann
L5_endif_6:
1636 7 jsauermann
;;;             } 6 IfElseStatement
1637
;;;             { 6 return Statement
1638
;;;               { 7 NumericExpression (constant 0 = 0x0)
1639 2 jsauermann
;--     load_rr_constant
1640
        MOVE    #0x0000, RR
1641 7 jsauermann
;;;               } 7 NumericExpression (constant 0 = 0x0)
1642 2 jsauermann
;--     ret
1643 7 jsauermann
        ADD     SP, #2
1644
        RET
1645
;;;             } 6 return Statement
1646
;;;           } 5 List
1647 2 jsauermann
;--     pop 2 bytes
1648
        ADD     SP, #2
1649 7 jsauermann
;;;         } 4 CompoundStatement
1650
;--     ret
1651 2 jsauermann
        RET
1652
;;; ------------------------------------;
1653 7 jsauermann
;;;         { 4 FunctionDefinition
1654 2 jsauermann
;;;           { 5 TypeName
1655 7 jsauermann
;;;             { 6 TypeSpecifier (all)
1656
;;;               spec = void (10000)
1657
;;;             } 6 TypeSpecifier (all)
1658 2 jsauermann
;;;             { 6 List
1659
;;;               { 7 DeclItem
1660
;;;                 what = DECL_NAME
1661 7 jsauermann
;;;                 name = V
1662 2 jsauermann
;;;               } 7 DeclItem
1663
;;;             } 6 List
1664
;;;           } 5 TypeName
1665 7 jsauermann
;;;           { 5 List
1666
;;;             { 6 DeclItem
1667
;;;               what = DECL_NAME
1668
;;;               name = V
1669
;;;             } 6 DeclItem
1670
;;;             { 6 DeclItem
1671
;;;               what = DECL_FUN
1672
;;;               { 7 List
1673
;;;                 { 8 ParameterDeclaration
1674
;;;                   isEllipsis = false
1675
;;;                   { 9 TypeName
1676
;;;                     { 10 TypeSpecifier (struct/union)
1677
;;;                       spec = struct '_semaphore' (800000)
1678
;;;                       name = _semaphore
1679
;;;                     } 10 TypeSpecifier (struct/union)
1680
;;;                     { 10 List
1681
;;;                       { 11 DeclItem
1682
;;;                         what = DECL_POINTER
1683
;;;                         { 12 List
1684
;;;                           { 13 Ptr
1685
;;;                           } 13 Ptr
1686
;;;                         } 12 List
1687
;;;                       } 11 DeclItem
1688
;;;                       { 11 DeclItem
1689
;;;                         what = DECL_NAME
1690
;;;                         name = sema
1691
;;;                       } 11 DeclItem
1692
;;;                     } 10 List
1693
;;;                   } 9 TypeName
1694
;;;                 } 8 ParameterDeclaration
1695
;;;               } 7 List
1696
;;;             } 6 DeclItem
1697
;;;           } 5 List
1698 2 jsauermann
CV:
1699 7 jsauermann
;;;           { 5 CompoundStatement
1700
;;;             { 6 List
1701
;;;               { 7 ExpressionStatement
1702 2 jsauermann
        DI
1703 7 jsauermann
;;;               } 7 ExpressionStatement
1704
;;;               { 7 IfElseStatement
1705
;;;                 { 8 Expr l(r)
1706
;;;                   { 9 TypeName
1707
;;;                     { 10 TypeSpecifier (all)
1708
;;;                       spec = char (20000)
1709
;;;                     } 10 TypeSpecifier (all)
1710
;;;                     { 10 List
1711
;;;                       { 11 DeclItem
1712
;;;                         what = DECL_NAME
1713
;;;                         name = Vint
1714
;;;                       } 11 DeclItem
1715
;;;                     } 10 List
1716
;;;                   } 9 TypeName
1717
;;;                   { 9 ParameterDeclaration
1718
;;;                     isEllipsis = false
1719
;;;                     { 10 TypeName
1720
;;;                       { 11 TypeSpecifier (struct/union)
1721
;;;                         spec = struct '_semaphore' (800000)
1722
;;;                         name = _semaphore
1723
;;;                       } 11 TypeSpecifier (struct/union)
1724
;;;                       { 11 List
1725
;;;                         { 12 DeclItem
1726
;;;                           what = DECL_POINTER
1727
;;;                           { 13 List
1728
;;;                             { 14 Ptr
1729
;;;                             } 14 Ptr
1730
;;;                           } 13 List
1731
;;;                         } 12 DeclItem
1732
;;;                         { 12 DeclItem
1733
;;;                           what = DECL_NAME
1734
;;;                           name = sema
1735
;;;                         } 12 DeclItem
1736
;;;                       } 11 List
1737
;;;                     } 10 TypeName
1738
;;;                   } 9 ParameterDeclaration
1739
;;;                   { 9 Expression (variable name)
1740
;;;                     expr_type = "identifier" (sema)
1741 2 jsauermann
;--     load_rr_var sema = 2(FP), SP at 0 (16 bit)
1742
        MOVE    2(SP), RR
1743 7 jsauermann
;;;                   } 9 Expression (variable name)
1744 2 jsauermann
;--     push_rr (16 bit)
1745
        MOVE    RR, -(SP)
1746
;--     push 1 bytes
1747
;--     call
1748
        CALL    CVint
1749
;--     pop 2 bytes
1750
        ADD     SP, #2
1751 7 jsauermann
;;;                 } 8 Expr l(r)
1752 2 jsauermann
;--     branch_false
1753
        JMP     RRZ, L6_endif_8
1754 7 jsauermann
;;;                 { 8 ExpressionStatement
1755
;;;                   { 9 Expr l(r)
1756
;;;                     { 10 TypeName
1757
;;;                       { 11 TypeSpecifier (all)
1758
;;;                         spec = void (10000)
1759
;;;                       } 11 TypeSpecifier (all)
1760
;;;                       { 11 List
1761
;;;                         { 12 DeclItem
1762
;;;                           what = DECL_NAME
1763
;;;                           name = switch_tasks
1764
;;;                         } 12 DeclItem
1765
;;;                       } 11 List
1766
;;;                     } 10 TypeName
1767 2 jsauermann
;--     push 0 bytes
1768
;--     call
1769
        CALL    Cswitch_tasks
1770
;--     pop 0 bytes
1771 7 jsauermann
;;;                   } 9 Expr l(r)
1772
;;;                 } 8 ExpressionStatement
1773 2 jsauermann
L6_endif_8:
1774 7 jsauermann
;;;               } 7 IfElseStatement
1775
;;;               { 7 ExpressionStatement
1776 2 jsauermann
        RETI
1777 7 jsauermann
;;;               } 7 ExpressionStatement
1778
;;;             } 6 List
1779
;--     pop 0 bytes
1780
;;;           } 5 CompoundStatement
1781 2 jsauermann
;--     ret
1782
        RET
1783
;;; ------------------------------------;
1784 7 jsauermann
;;;           { 5 Declaration
1785
;;;             { 6 TypeSpecifier (all)
1786
;;;               spec = unsigned char (22000)
1787
;;;             } 6 TypeSpecifier (all)
1788 2 jsauermann
Cserial_in_buffer:                      ;
1789
        .BYTE   0                        ; VOID [0]
1790
        .BYTE   0                        ; VOID [1]
1791
        .BYTE   0                        ; VOID [2]
1792
        .BYTE   0                        ; VOID [3]
1793
        .BYTE   0                        ; VOID [4]
1794
        .BYTE   0                        ; VOID [5]
1795
        .BYTE   0                        ; VOID [6]
1796
        .BYTE   0                        ; VOID [7]
1797
        .BYTE   0                        ; VOID [8]
1798
        .BYTE   0                        ; VOID [9]
1799
        .BYTE   0                        ; VOID [10]
1800
        .BYTE   0                        ; VOID [11]
1801
        .BYTE   0                        ; VOID [12]
1802
        .BYTE   0                        ; VOID [13]
1803
        .BYTE   0                        ; VOID [14]
1804
        .BYTE   0                        ; VOID [15]
1805 7 jsauermann
;;;           } 5 Declaration
1806 2 jsauermann
;;; ------------------------------------;
1807 7 jsauermann
;;;           { 5 Declaration
1808
;;;             { 6 TypeSpecifier (all)
1809
;;;               spec = unsigned char (22000)
1810
;;;             } 6 TypeSpecifier (all)
1811 2 jsauermann
Cserial_in_get:                 ;
1812
        .BYTE   0
1813 7 jsauermann
;;;           } 5 Declaration
1814 2 jsauermann
;;; ------------------------------------;
1815 7 jsauermann
;;;           { 5 Declaration
1816
;;;             { 6 TypeSpecifier (all)
1817
;;;               spec = unsigned char (22000)
1818
;;;             } 6 TypeSpecifier (all)
1819 2 jsauermann
Cserial_in_put:                 ;
1820
        .BYTE   0
1821 7 jsauermann
;;;           } 5 Declaration
1822 2 jsauermann
;;; ------------------------------------;
1823 7 jsauermann
;;;           { 5 Declaration
1824
;;;             { 6 TypeSpecifier (all)
1825
;;;               spec = unsigned int (82000)
1826
;;;             } 6 TypeSpecifier (all)
1827 2 jsauermann
Cserial_in_overflows:                   ;
1828
        .WORD   0
1829 7 jsauermann
;;;           } 5 Declaration
1830 2 jsauermann
;;; ------------------------------------;
1831 7 jsauermann
;;;           { 5 FunctionDefinition
1832
;;;             { 6 TypeName
1833
;;;               { 7 TypeSpecifier (all)
1834
;;;                 spec = char (20000)
1835
;;;               } 7 TypeSpecifier (all)
1836
;;;               { 7 List
1837
;;;                 { 8 DeclItem
1838
;;;                   what = DECL_NAME
1839
;;;                   name = rx_interrupt
1840
;;;                 } 8 DeclItem
1841
;;;               } 7 List
1842
;;;             } 6 TypeName
1843
;;;             { 6 List
1844
;;;               { 7 DeclItem
1845
;;;                 what = DECL_NAME
1846
;;;                 name = rx_interrupt
1847
;;;               } 7 DeclItem
1848
;;;               { 7 DeclItem
1849
;;;                 what = DECL_FUN
1850
;;;               } 7 DeclItem
1851
;;;             } 6 List
1852 2 jsauermann
Crx_interrupt:
1853 7 jsauermann
;;;             { 6 CompoundStatement
1854
;;;               { 7 InitDeclarator
1855
;;;                 { 8 List
1856
;;;                   { 9 DeclItem
1857
;;;                     what = DECL_NAME
1858
;;;                     name = c
1859
;;;                   } 9 DeclItem
1860
;;;                 } 8 List
1861
;;;                 { 8 Initializer (skalar)
1862 2 jsauermann
        IN   (IN_RX_DATA), RU
1863
;--     push_rr (8 bit)
1864
        MOVE    R, -(SP)
1865 7 jsauermann
;;;                 } 8 Initializer (skalar)
1866
;;;               } 7 InitDeclarator
1867
;;;               { 7 List
1868
;;;                 { 8 IfElseStatement
1869
;;;                   { 9 Expr l < r
1870
;;;                     { 10 TypeName (internal)
1871
;;;                       { 11 TypeSpecifier (all)
1872
;;;                         spec = int (80000)
1873
;;;                       } 11 TypeSpecifier (all)
1874
;;;                     } 10 TypeName (internal)
1875 2 jsauermann
;--     load_address rx_sema
1876
        MOVE    #Crx_sema, RR
1877
;--     + (member)
1878
;--     content
1879
        MOVE    (RR), RR
1880
;--     l < r
1881
        SLT     RR, #0x0010
1882 7 jsauermann
;;;                   } 9 Expr l < r
1883 2 jsauermann
;--     branch_false
1884
        JMP     RRZ, L7_else_9
1885 7 jsauermann
;;;                   { 9 CompoundStatement
1886
;;;                     { 10 List
1887
;;;                       { 11 ExpressionStatement
1888
;;;                         { 12 Expr l = r
1889
;;;                           { 13 TypeName
1890
;;;                             { 14 TypeSpecifier (all)
1891
;;;                               spec = unsigned char (22000)
1892
;;;                             } 14 TypeSpecifier (all)
1893
;;;                             { 14 List
1894
;;;                               { 15 DeclItem
1895
;;;                                 what = DECL_NAME
1896
;;;                                 name = serial_in_buffer
1897
;;;                               } 15 DeclItem
1898
;;;                             } 14 List
1899
;;;                           } 13 TypeName
1900
;;;                           { 13 Expression (variable name)
1901
;;;                             expr_type = "identifier" (c)
1902 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -1 (8 bit)
1903
        MOVE    0(SP), RS
1904 7 jsauermann
;;;                           } 13 Expression (variable name)
1905 2 jsauermann
;--     push_rr (8 bit)
1906
        MOVE    R, -(SP)
1907 7 jsauermann
;;;                           { 13 Expr l[r]
1908
;;;                             { 14 Expression (variable name)
1909
;;;                               expr_type = "identifier" (serial_in_put)
1910 2 jsauermann
;--     load_rr_var serial_in_put, (8 bit)
1911
        MOVE    (Cserial_in_put), RU
1912 7 jsauermann
;;;                             } 14 Expression (variable name)
1913 2 jsauermann
;--     scale_rr *1
1914
;--     add_address serial_in_buffer
1915
        ADD     RR, #Cserial_in_buffer
1916 7 jsauermann
;;;                           } 13 Expr l[r]
1917 2 jsauermann
;--     move_rr_to_ll
1918
        MOVE    RR, LL
1919
;--     pop_rr (8 bit)
1920
        MOVE    (SP)+, RU
1921
;--     assign (8 bit)
1922
        MOVE    R, (LL)
1923 7 jsauermann
;;;                         } 12 Expr l = r
1924
;;;                       } 11 ExpressionStatement
1925
;;;                       { 11 IfElseStatement
1926
;;;                         { 12 Expr l >= r
1927
;;;                           { 13 TypeName (internal)
1928
;;;                             { 14 TypeSpecifier (all)
1929
;;;                               spec = unsigned int (82000)
1930
;;;                             } 14 TypeSpecifier (all)
1931
;;;                           } 13 TypeName (internal)
1932
;;;                           { 13 Expr ++r
1933
;;;                             { 14 Expression (variable name)
1934
;;;                               expr_type = "identifier" (serial_in_put)
1935 2 jsauermann
;--     load_rr_var serial_in_put, (8 bit)
1936
        MOVE    (Cserial_in_put), RU
1937 7 jsauermann
;;;                             } 14 Expression (variable name)
1938 2 jsauermann
;--     ++
1939
        ADD     RR, #0x0001
1940
;--     store_rr_var serial_in_put
1941
        MOVE    R, (Cserial_in_put)
1942 7 jsauermann
;;;                           } 13 Expr ++r
1943 2 jsauermann
;--     l >= r
1944
        SHS     RR, #0x0010
1945 7 jsauermann
;;;                         } 12 Expr l >= r
1946 2 jsauermann
;--     branch_false
1947
        JMP     RRZ, L7_endif_10
1948 7 jsauermann
;;;                         { 12 ExpressionStatement
1949
;;;                           { 13 Expr l = r
1950
;;;                             { 14 TypeName
1951
;;;                               { 15 TypeSpecifier (all)
1952
;;;                                 spec = unsigned char (22000)
1953
;;;                               } 15 TypeSpecifier (all)
1954
;;;                               { 15 List
1955
;;;                                 { 16 DeclItem
1956
;;;                                   what = DECL_NAME
1957
;;;                                   name = serial_in_put
1958
;;;                                 } 16 DeclItem
1959
;;;                               } 15 List
1960
;;;                             } 14 TypeName
1961
;;;                             { 14 NumericExpression (constant 0 = 0x0)
1962 2 jsauermann
;--     load_rr_constant
1963
        MOVE    #0x0000, RR
1964 7 jsauermann
;;;                             } 14 NumericExpression (constant 0 = 0x0)
1965 2 jsauermann
;--     store_rr_var serial_in_put
1966
        MOVE    R, (Cserial_in_put)
1967 7 jsauermann
;;;                           } 13 Expr l = r
1968
;;;                         } 12 ExpressionStatement
1969 2 jsauermann
L7_endif_10:
1970 7 jsauermann
;;;                       } 11 IfElseStatement
1971
;;;                       { 11 return Statement
1972
;;;                         { 12 Expr l(r)
1973
;;;                           { 13 TypeName
1974
;;;                             { 14 TypeSpecifier (all)
1975
;;;                               spec = char (20000)
1976
;;;                             } 14 TypeSpecifier (all)
1977
;;;                             { 14 List
1978
;;;                               { 15 DeclItem
1979
;;;                                 what = DECL_NAME
1980
;;;                                 name = Vint
1981
;;;                               } 15 DeclItem
1982
;;;                             } 14 List
1983
;;;                           } 13 TypeName
1984
;;;                           { 13 ParameterDeclaration
1985
;;;                             isEllipsis = false
1986
;;;                             { 14 TypeName
1987
;;;                               { 15 TypeSpecifier (struct/union)
1988
;;;                                 spec = struct '_semaphore' (800000)
1989
;;;                                 name = _semaphore
1990
;;;                               } 15 TypeSpecifier (struct/union)
1991
;;;                               { 15 List
1992
;;;                                 { 16 DeclItem
1993
;;;                                   what = DECL_POINTER
1994
;;;                                   { 17 List
1995
;;;                                     { 18 Ptr
1996
;;;                                     } 18 Ptr
1997
;;;                                   } 17 List
1998
;;;                                 } 16 DeclItem
1999
;;;                                 { 16 DeclItem
2000
;;;                                   what = DECL_NAME
2001
;;;                                   name = sema
2002
;;;                                 } 16 DeclItem
2003
;;;                               } 15 List
2004
;;;                             } 14 TypeName
2005
;;;                           } 13 ParameterDeclaration
2006
;;;                           { 13 Expr & r
2007 2 jsauermann
;--     load_address rx_sema
2008
        MOVE    #Crx_sema, RR
2009 7 jsauermann
;;;                           } 13 Expr & r
2010 2 jsauermann
;--     push_rr (16 bit)
2011
        MOVE    RR, -(SP)
2012
;--     push 1 bytes
2013
;--     call
2014
        CALL    CVint
2015
;--     pop 2 bytes
2016
        ADD     SP, #2
2017 7 jsauermann
;;;                         } 12 Expr l(r)
2018
;--     ret
2019
        ADD     SP, #1
2020
        RET
2021
;;;                       } 11 return Statement
2022
;;;                     } 10 List
2023
;--     pop 0 bytes
2024
;;;                   } 9 CompoundStatement
2025 2 jsauermann
;--     branch
2026
        JMP     L7_endif_9
2027
L7_else_9:
2028 7 jsauermann
;;;                   { 9 CompoundStatement
2029
;;;                     { 10 List
2030
;;;                       { 11 ExpressionStatement
2031
;;;                         { 12 Expr ++r
2032
;;;                           { 13 Expression (variable name)
2033
;;;                             expr_type = "identifier" (serial_in_overflows)
2034 2 jsauermann
;--     load_rr_var serial_in_overflows, (16 bit)
2035
        MOVE    (Cserial_in_overflows), RR
2036 7 jsauermann
;;;                           } 13 Expression (variable name)
2037 2 jsauermann
;--     ++
2038
        ADD     RR, #0x0001
2039
;--     store_rr_var serial_in_overflows
2040
        MOVE    RR, (Cserial_in_overflows)
2041 7 jsauermann
;;;                         } 12 Expr ++r
2042
;;;                       } 11 ExpressionStatement
2043
;;;                       { 11 return Statement
2044
;;;                         { 12 NumericExpression (constant 0 = 0x0)
2045 2 jsauermann
;--     load_rr_constant
2046
        MOVE    #0x0000, RR
2047 7 jsauermann
;;;                         } 12 NumericExpression (constant 0 = 0x0)
2048
;--     ret
2049
        ADD     SP, #1
2050
        RET
2051
;;;                       } 11 return Statement
2052
;;;                     } 10 List
2053
;--     pop 0 bytes
2054
;;;                   } 9 CompoundStatement
2055 2 jsauermann
L7_endif_9:
2056 7 jsauermann
;;;                 } 8 IfElseStatement
2057
;;;               } 7 List
2058 2 jsauermann
;--     pop 1 bytes
2059
        ADD     SP, #1
2060 7 jsauermann
;;;             } 6 CompoundStatement
2061
;--     ret
2062 2 jsauermann
        RET
2063
;;; ------------------------------------;
2064 7 jsauermann
;;;             { 6 Declaration
2065
;;;               { 7 TypeSpecifier (all)
2066
;;;                 spec = unsigned char (22000)
2067
;;;               } 7 TypeSpecifier (all)
2068 2 jsauermann
Cserial_out_buffer:                     ;
2069
        .BYTE   0                        ; VOID [0]
2070
        .BYTE   0                        ; VOID [1]
2071
        .BYTE   0                        ; VOID [2]
2072
        .BYTE   0                        ; VOID [3]
2073
        .BYTE   0                        ; VOID [4]
2074
        .BYTE   0                        ; VOID [5]
2075
        .BYTE   0                        ; VOID [6]
2076
        .BYTE   0                        ; VOID [7]
2077
        .BYTE   0                        ; VOID [8]
2078
        .BYTE   0                        ; VOID [9]
2079
        .BYTE   0                        ; VOID [10]
2080
        .BYTE   0                        ; VOID [11]
2081
        .BYTE   0                        ; VOID [12]
2082
        .BYTE   0                        ; VOID [13]
2083
        .BYTE   0                        ; VOID [14]
2084
        .BYTE   0                        ; VOID [15]
2085 7 jsauermann
;;;             } 6 Declaration
2086 2 jsauermann
;;; ------------------------------------;
2087 7 jsauermann
;;;             { 6 Declaration
2088
;;;               { 7 TypeSpecifier (all)
2089
;;;                 spec = unsigned char (22000)
2090
;;;               } 7 TypeSpecifier (all)
2091 2 jsauermann
Cserial_out_get:                        ;
2092
        .BYTE   0
2093 7 jsauermann
;;;             } 6 Declaration
2094 2 jsauermann
;;; ------------------------------------;
2095 7 jsauermann
;;;             { 6 Declaration
2096
;;;               { 7 TypeSpecifier (all)
2097
;;;                 spec = unsigned char (22000)
2098
;;;               } 7 TypeSpecifier (all)
2099 2 jsauermann
Cserial_out_put:                        ;
2100
        .BYTE   0
2101 7 jsauermann
;;;             } 6 Declaration
2102 2 jsauermann
;;; ------------------------------------;
2103 7 jsauermann
;;;             { 6 FunctionDefinition
2104
;;;               { 7 TypeName
2105
;;;                 { 8 TypeSpecifier (all)
2106
;;;                   spec = char (20000)
2107
;;;                 } 8 TypeSpecifier (all)
2108
;;;                 { 8 List
2109
;;;                   { 9 DeclItem
2110
;;;                     what = DECL_NAME
2111
;;;                     name = tx_interrupt
2112
;;;                   } 9 DeclItem
2113
;;;                 } 8 List
2114
;;;               } 7 TypeName
2115
;;;               { 7 List
2116
;;;                 { 8 DeclItem
2117
;;;                   what = DECL_NAME
2118
;;;                   name = tx_interrupt
2119
;;;                 } 8 DeclItem
2120
;;;                 { 8 DeclItem
2121
;;;                   what = DECL_FUN
2122
;;;                 } 8 DeclItem
2123
;;;               } 7 List
2124 2 jsauermann
Ctx_interrupt:
2125 7 jsauermann
;;;               { 7 CompoundStatement
2126
;;;                 { 8 List
2127
;;;                   { 9 IfElseStatement
2128
;;;                     { 10 Expr l < r
2129
;;;                       { 11 TypeName (internal)
2130
;;;                         { 12 TypeSpecifier (all)
2131
;;;                           spec = int (80000)
2132
;;;                         } 12 TypeSpecifier (all)
2133
;;;                       } 11 TypeName (internal)
2134 2 jsauermann
;--     load_address tx_sema
2135
        MOVE    #Ctx_sema, RR
2136
;--     + (member)
2137
;--     content
2138
        MOVE    (RR), RR
2139
;--     l < r
2140
        SLT     RR, #0x0010
2141 7 jsauermann
;;;                     } 10 Expr l < r
2142 2 jsauermann
;--     branch_false
2143
        JMP     RRZ, L8_else_11
2144 7 jsauermann
;;;                     { 10 CompoundStatement
2145
;;;                       { 11 List
2146
;;;                         { 12 ExpressionStatement
2147
;;;                           { 13 Expr l[r]
2148
;;;                             { 14 TypeName
2149
;;;                               { 15 TypeSpecifier (all)
2150
;;;                                 spec = unsigned char (22000)
2151
;;;                               } 15 TypeSpecifier (all)
2152
;;;                               { 15 List
2153
;;;                                 { 16 DeclItem
2154
;;;                                   what = DECL_NAME
2155
;;;                                   name = serial_out_buffer
2156
;;;                                 } 16 DeclItem
2157
;;;                               } 15 List
2158
;;;                             } 14 TypeName
2159
;;;                             { 14 Expr l[r]
2160
;;;                               { 15 Expression (variable name)
2161
;;;                                 expr_type = "identifier" (serial_out_get)
2162 2 jsauermann
;--     load_rr_var serial_out_get, (8 bit)
2163
        MOVE    (Cserial_out_get), RU
2164 7 jsauermann
;;;                               } 15 Expression (variable name)
2165 2 jsauermann
;--     scale_rr *1
2166
;--     add_address serial_out_buffer
2167
        ADD     RR, #Cserial_out_buffer
2168 7 jsauermann
;;;                             } 14 Expr l[r]
2169 2 jsauermann
;--     content
2170
        MOVE    (RR), RU
2171 7 jsauermann
;;;                           } 13 Expr l[r]
2172
;;;                         } 12 ExpressionStatement
2173
;;;                         { 12 ExpressionStatement
2174 2 jsauermann
        OUT  R, (OUT_TX_DATA)
2175 7 jsauermann
;;;                         } 12 ExpressionStatement
2176
;;;                         { 12 IfElseStatement
2177
;;;                           { 13 Expr l >= r
2178
;;;                             { 14 TypeName (internal)
2179
;;;                               { 15 TypeSpecifier (all)
2180
;;;                                 spec = unsigned int (82000)
2181
;;;                               } 15 TypeSpecifier (all)
2182
;;;                             } 14 TypeName (internal)
2183
;;;                             { 14 Expr ++r
2184
;;;                               { 15 Expression (variable name)
2185
;;;                                 expr_type = "identifier" (serial_out_get)
2186 2 jsauermann
;--     load_rr_var serial_out_get, (8 bit)
2187
        MOVE    (Cserial_out_get), RU
2188 7 jsauermann
;;;                               } 15 Expression (variable name)
2189 2 jsauermann
;--     ++
2190
        ADD     RR, #0x0001
2191
;--     store_rr_var serial_out_get
2192
        MOVE    R, (Cserial_out_get)
2193 7 jsauermann
;;;                             } 14 Expr ++r
2194 2 jsauermann
;--     l >= r
2195
        SHS     RR, #0x0010
2196 7 jsauermann
;;;                           } 13 Expr l >= r
2197 2 jsauermann
;--     branch_false
2198
        JMP     RRZ, L8_endif_12
2199 7 jsauermann
;;;                           { 13 ExpressionStatement
2200
;;;                             { 14 Expr l = r
2201
;;;                               { 15 TypeName
2202
;;;                                 { 16 TypeSpecifier (all)
2203
;;;                                   spec = unsigned char (22000)
2204
;;;                                 } 16 TypeSpecifier (all)
2205
;;;                                 { 16 List
2206
;;;                                   { 17 DeclItem
2207
;;;                                     what = DECL_NAME
2208
;;;                                     name = serial_out_get
2209
;;;                                   } 17 DeclItem
2210
;;;                                 } 16 List
2211
;;;                               } 15 TypeName
2212
;;;                               { 15 NumericExpression (constant 0 = 0x0)
2213 2 jsauermann
;--     load_rr_constant
2214
        MOVE    #0x0000, RR
2215 7 jsauermann
;;;                               } 15 NumericExpression (constant 0 = 0x0)
2216 2 jsauermann
;--     store_rr_var serial_out_get
2217
        MOVE    R, (Cserial_out_get)
2218 7 jsauermann
;;;                             } 14 Expr l = r
2219
;;;                           } 13 ExpressionStatement
2220 2 jsauermann
L8_endif_12:
2221 7 jsauermann
;;;                         } 12 IfElseStatement
2222
;;;                         { 12 return Statement
2223
;;;                           { 13 Expr l(r)
2224
;;;                             { 14 TypeName
2225
;;;                               { 15 TypeSpecifier (all)
2226
;;;                                 spec = char (20000)
2227
;;;                               } 15 TypeSpecifier (all)
2228
;;;                               { 15 List
2229
;;;                                 { 16 DeclItem
2230
;;;                                   what = DECL_NAME
2231
;;;                                   name = Vint
2232
;;;                                 } 16 DeclItem
2233
;;;                               } 15 List
2234
;;;                             } 14 TypeName
2235
;;;                             { 14 ParameterDeclaration
2236
;;;                               isEllipsis = false
2237
;;;                               { 15 TypeName
2238
;;;                                 { 16 TypeSpecifier (struct/union)
2239
;;;                                   spec = struct '_semaphore' (800000)
2240
;;;                                   name = _semaphore
2241
;;;                                 } 16 TypeSpecifier (struct/union)
2242
;;;                                 { 16 List
2243
;;;                                   { 17 DeclItem
2244
;;;                                     what = DECL_POINTER
2245
;;;                                     { 18 List
2246
;;;                                       { 19 Ptr
2247
;;;                                       } 19 Ptr
2248
;;;                                     } 18 List
2249
;;;                                   } 17 DeclItem
2250
;;;                                   { 17 DeclItem
2251
;;;                                     what = DECL_NAME
2252
;;;                                     name = sema
2253
;;;                                   } 17 DeclItem
2254
;;;                                 } 16 List
2255
;;;                               } 15 TypeName
2256
;;;                             } 14 ParameterDeclaration
2257
;;;                             { 14 Expr & r
2258 2 jsauermann
;--     load_address tx_sema
2259
        MOVE    #Ctx_sema, RR
2260 7 jsauermann
;;;                             } 14 Expr & r
2261 2 jsauermann
;--     push_rr (16 bit)
2262
        MOVE    RR, -(SP)
2263
;--     push 1 bytes
2264
;--     call
2265
        CALL    CVint
2266
;--     pop 2 bytes
2267
        ADD     SP, #2
2268 7 jsauermann
;;;                           } 13 Expr l(r)
2269
;--     ret
2270
        RET
2271
;;;                         } 12 return Statement
2272
;;;                       } 11 List
2273
;--     pop 0 bytes
2274
;;;                     } 10 CompoundStatement
2275 2 jsauermann
;--     branch
2276
        JMP     L8_endif_11
2277
L8_else_11:
2278 7 jsauermann
;;;                     { 10 CompoundStatement
2279
;;;                       { 11 List
2280
;;;                         { 12 ExpressionStatement
2281 2 jsauermann
        MOVE #0x05, RR
2282 7 jsauermann
;;;                         } 12 ExpressionStatement
2283
;;;                         { 12 ExpressionStatement
2284 2 jsauermann
        OUT  R, (OUT_INT_MASK)
2285 7 jsauermann
;;;                         } 12 ExpressionStatement
2286
;;;                         { 12 return Statement
2287
;;;                           { 13 NumericExpression (constant 0 = 0x0)
2288 2 jsauermann
;--     load_rr_constant
2289
        MOVE    #0x0000, RR
2290 7 jsauermann
;;;                           } 13 NumericExpression (constant 0 = 0x0)
2291
;--     ret
2292
        RET
2293
;;;                         } 12 return Statement
2294
;;;                       } 11 List
2295
;--     pop 0 bytes
2296
;;;                     } 10 CompoundStatement
2297 2 jsauermann
L8_endif_11:
2298 7 jsauermann
;;;                   } 9 IfElseStatement
2299
;;;                 } 8 List
2300
;--     pop 0 bytes
2301
;;;               } 7 CompoundStatement
2302 2 jsauermann
;--     ret
2303
        RET
2304
;;; ------------------------------------;
2305 7 jsauermann
;;;               { 7 Declaration
2306
;;;                 { 8 TypeSpecifier (all)
2307
;;;                   spec = unsigned int (82000)
2308
;;;                 } 8 TypeSpecifier (all)
2309 2 jsauermann
Cmilliseconds:                  ;
2310
        .WORD   0
2311 7 jsauermann
;;;               } 7 Declaration
2312 2 jsauermann
;;; ------------------------------------;
2313 7 jsauermann
;;;               { 7 Declaration
2314
;;;                 { 8 TypeSpecifier (all)
2315
;;;                   spec = unsigned int (82000)
2316
;;;                 } 8 TypeSpecifier (all)
2317 2 jsauermann
Cseconds_low:                   ;
2318
        .WORD   0
2319 7 jsauermann
;;;               } 7 Declaration
2320 2 jsauermann
;;; ------------------------------------;
2321 7 jsauermann
;;;               { 7 Declaration
2322
;;;                 { 8 TypeSpecifier (all)
2323
;;;                   spec = unsigned int (82000)
2324
;;;                 } 8 TypeSpecifier (all)
2325 2 jsauermann
Cseconds_mid:                   ;
2326
        .WORD   0
2327 7 jsauermann
;;;               } 7 Declaration
2328 2 jsauermann
;;; ------------------------------------;
2329 7 jsauermann
;;;               { 7 Declaration
2330
;;;                 { 8 TypeSpecifier (all)
2331
;;;                   spec = unsigned int (82000)
2332
;;;                 } 8 TypeSpecifier (all)
2333 2 jsauermann
Cseconds_high:                  ;
2334
        .WORD   0
2335 7 jsauermann
;;;               } 7 Declaration
2336 2 jsauermann
;;; ------------------------------------;
2337 7 jsauermann
;;;               { 7 Declaration
2338
;;;                 { 8 TypeSpecifier (all)
2339
;;;                   spec = unsigned char (22000)
2340
;;;                 } 8 TypeSpecifier (all)
2341 2 jsauermann
Cseconds_changed:                       ;
2342
        .BYTE   0
2343 7 jsauermann
;;;               } 7 Declaration
2344 2 jsauermann
;;; ------------------------------------;
2345 7 jsauermann
;;;               { 7 FunctionDefinition
2346
;;;                 { 8 TypeName
2347
;;;                   { 9 TypeSpecifier (all)
2348
;;;                     spec = void (10000)
2349
;;;                   } 9 TypeSpecifier (all)
2350
;;;                   { 9 List
2351
;;;                     { 10 DeclItem
2352
;;;                       what = DECL_NAME
2353
;;;                       name = timer_interrupt
2354
;;;                     } 10 DeclItem
2355
;;;                   } 9 List
2356
;;;                 } 8 TypeName
2357
;;;                 { 8 List
2358
;;;                   { 9 DeclItem
2359
;;;                     what = DECL_NAME
2360
;;;                     name = timer_interrupt
2361
;;;                   } 9 DeclItem
2362
;;;                   { 9 DeclItem
2363
;;;                     what = DECL_FUN
2364
;;;                   } 9 DeclItem
2365
;;;                 } 8 List
2366 2 jsauermann
Ctimer_interrupt:
2367 7 jsauermann
;;;                 { 8 CompoundStatement
2368
;;;                   { 9 InitDeclarator
2369
;;;                     { 10 List
2370
;;;                       { 11 DeclItem
2371
;;;                         what = DECL_POINTER
2372
;;;                         { 12 List
2373
;;;                           { 13 Ptr
2374
;;;                           } 13 Ptr
2375
;;;                         } 12 List
2376
;;;                       } 11 DeclItem
2377
;;;                       { 11 DeclItem
2378
;;;                         what = DECL_NAME
2379
;;;                         name = t
2380
;;;                       } 11 DeclItem
2381
;;;                     } 10 List
2382
;;;                     { 10 Initializer (skalar)
2383
;;;                       { 11 Expression (variable name)
2384
;;;                         expr_type = "identifier" (current_task)
2385 2 jsauermann
;--     load_rr_var current_task, (16 bit)
2386
        MOVE    (Ccurrent_task), RR
2387 7 jsauermann
;;;                       } 11 Expression (variable name)
2388 2 jsauermann
;--     push_rr (16 bit)
2389
        MOVE    RR, -(SP)
2390 7 jsauermann
;;;                     } 10 Initializer (skalar)
2391
;;;                   } 9 InitDeclarator
2392
;;;                   { 9 InitDeclarator
2393
;;;                     { 10 List
2394
;;;                       { 11 DeclItem
2395
;;;                         what = DECL_POINTER
2396
;;;                         { 12 List
2397
;;;                           { 13 Ptr
2398
;;;                           } 13 Ptr
2399
;;;                         } 12 List
2400
;;;                       } 11 DeclItem
2401
;;;                       { 11 DeclItem
2402
;;;                         what = DECL_NAME
2403
;;;                         name = s
2404
;;;                       } 11 DeclItem
2405
;;;                     } 10 List
2406 2 jsauermann
;--     push_zero 2 bytes
2407
        CLRW    -(SP)
2408 7 jsauermann
;;;                   } 9 InitDeclarator
2409
;;;                   { 9 InitDeclarator
2410
;;;                     { 10 List
2411
;;;                       { 11 DeclItem
2412
;;;                         what = DECL_POINTER
2413
;;;                         { 12 List
2414
;;;                           { 13 Ptr
2415
;;;                           } 13 Ptr
2416
;;;                         } 12 List
2417
;;;                       } 11 DeclItem
2418
;;;                       { 11 DeclItem
2419
;;;                         what = DECL_NAME
2420
;;;                         name = ts
2421
;;;                       } 11 DeclItem
2422
;;;                     } 10 List
2423 2 jsauermann
;--     push_zero 2 bytes
2424
        CLRW    -(SP)
2425 7 jsauermann
;;;                   } 9 InitDeclarator
2426
;;;                   { 9 List
2427
;;;                     { 10 ExpressionStatement
2428 2 jsauermann
        OUT  R, (OUT_RESET_TIMER)
2429 7 jsauermann
;;;                     } 10 ExpressionStatement
2430
;;;                     { 10 IfElseStatement
2431
;;;                       { 11 Expr l == r
2432
;;;                         { 12 TypeName (internal)
2433
;;;                           { 13 TypeSpecifier (all)
2434
;;;                             spec = unsigned int (82000)
2435
;;;                           } 13 TypeSpecifier (all)
2436
;;;                         } 12 TypeName (internal)
2437
;;;                         { 12 Expr ++r
2438
;;;                           { 13 Expression (variable name)
2439
;;;                             expr_type = "identifier" (milliseconds)
2440 2 jsauermann
;--     load_rr_var milliseconds, (16 bit)
2441
        MOVE    (Cmilliseconds), RR
2442 7 jsauermann
;;;                           } 13 Expression (variable name)
2443 2 jsauermann
;--     ++
2444
        ADD     RR, #0x0001
2445
;--     store_rr_var milliseconds
2446
        MOVE    RR, (Cmilliseconds)
2447 7 jsauermann
;;;                         } 12 Expr ++r
2448 2 jsauermann
;--     l == r
2449
        SEQ     RR, #0x03E8
2450 7 jsauermann
;;;                       } 11 Expr l == r
2451 2 jsauermann
;--     branch_false
2452
        JMP     RRZ, L9_endif_13
2453 7 jsauermann
;;;                       { 11 CompoundStatement
2454
;;;                         { 12 List
2455
;;;                           { 13 ExpressionStatement
2456
;;;                             { 14 Expr l = r
2457
;;;                               { 15 TypeName
2458
;;;                                 { 16 TypeSpecifier (all)
2459
;;;                                   spec = unsigned int (82000)
2460
;;;                                 } 16 TypeSpecifier (all)
2461
;;;                                 { 16 List
2462
;;;                                   { 17 DeclItem
2463
;;;                                     what = DECL_NAME
2464
;;;                                     name = milliseconds
2465
;;;                                   } 17 DeclItem
2466
;;;                                 } 16 List
2467
;;;                               } 15 TypeName
2468
;;;                               { 15 NumericExpression (constant 0 = 0x0)
2469 2 jsauermann
;--     load_rr_constant
2470
        MOVE    #0x0000, RR
2471 7 jsauermann
;;;                               } 15 NumericExpression (constant 0 = 0x0)
2472 2 jsauermann
;--     store_rr_var milliseconds
2473
        MOVE    RR, (Cmilliseconds)
2474 7 jsauermann
;;;                             } 14 Expr l = r
2475
;;;                           } 13 ExpressionStatement
2476
;;;                           { 13 ExpressionStatement
2477
;;;                             { 14 Expr l = r
2478
;;;                               { 15 TypeName
2479
;;;                                 { 16 TypeSpecifier (all)
2480
;;;                                   spec = unsigned char (22000)
2481
;;;                                 } 16 TypeSpecifier (all)
2482
;;;                                 { 16 List
2483
;;;                                   { 17 DeclItem
2484
;;;                                     what = DECL_NAME
2485
;;;                                     name = seconds_changed
2486
;;;                                   } 17 DeclItem
2487
;;;                                 } 16 List
2488
;;;                               } 15 TypeName
2489
;;;                               { 15 NumericExpression (constant 255 = 0xFF)
2490 2 jsauermann
;--     load_rr_constant
2491
        MOVE    #0x00FF, RR
2492 7 jsauermann
;;;                               } 15 NumericExpression (constant 255 = 0xFF)
2493 2 jsauermann
;--     store_rr_var seconds_changed
2494
        MOVE    R, (Cseconds_changed)
2495 7 jsauermann
;;;                             } 14 Expr l = r
2496
;;;                           } 13 ExpressionStatement
2497
;;;                           { 13 IfElseStatement
2498
;;;                             { 14 Expr l == r
2499
;;;                               { 15 TypeName (internal)
2500
;;;                                 { 16 TypeSpecifier (all)
2501
;;;                                   spec = unsigned int (82000)
2502
;;;                                 } 16 TypeSpecifier (all)
2503
;;;                               } 15 TypeName (internal)
2504
;;;                               { 15 Expr ++r
2505
;;;                                 { 16 Expression (variable name)
2506
;;;                                   expr_type = "identifier" (seconds_low)
2507 2 jsauermann
;--     load_rr_var seconds_low, (16 bit)
2508
        MOVE    (Cseconds_low), RR
2509 7 jsauermann
;;;                                 } 16 Expression (variable name)
2510 2 jsauermann
;--     ++
2511
        ADD     RR, #0x0001
2512
;--     store_rr_var seconds_low
2513
        MOVE    RR, (Cseconds_low)
2514 7 jsauermann
;;;                               } 15 Expr ++r
2515 2 jsauermann
;--     l == r
2516
        SEQ     RR, #0x0000
2517 7 jsauermann
;;;                             } 14 Expr l == r
2518 2 jsauermann
;--     branch_false
2519
        JMP     RRZ, L9_endif_14
2520 7 jsauermann
;;;                             { 14 CompoundStatement
2521
;;;                               { 15 List
2522
;;;                                 { 16 IfElseStatement
2523
;;;                                   { 17 Expr l == r
2524
;;;                                     { 18 TypeName (internal)
2525
;;;                                       { 19 TypeSpecifier (all)
2526
;;;                                         spec = unsigned int (82000)
2527
;;;                                       } 19 TypeSpecifier (all)
2528
;;;                                     } 18 TypeName (internal)
2529
;;;                                     { 18 Expr ++r
2530
;;;                                       { 19 Expression (variable name)
2531
;;;                                         expr_type = "identifier" (seconds_mid)
2532 2 jsauermann
;--     load_rr_var seconds_mid, (16 bit)
2533
        MOVE    (Cseconds_mid), RR
2534 7 jsauermann
;;;                                       } 19 Expression (variable name)
2535 2 jsauermann
;--     ++
2536
        ADD     RR, #0x0001
2537
;--     store_rr_var seconds_mid
2538
        MOVE    RR, (Cseconds_mid)
2539 7 jsauermann
;;;                                     } 18 Expr ++r
2540 2 jsauermann
;--     l == r
2541
        SEQ     RR, #0x0000
2542 7 jsauermann
;;;                                   } 17 Expr l == r
2543 2 jsauermann
;--     branch_false
2544
        JMP     RRZ, L9_endif_15
2545 7 jsauermann
;;;                                   { 17 ExpressionStatement
2546
;;;                                     { 18 Expr ++r
2547
;;;                                       { 19 Expression (variable name)
2548
;;;                                         expr_type = "identifier" (seconds_high)
2549 2 jsauermann
;--     load_rr_var seconds_high, (16 bit)
2550
        MOVE    (Cseconds_high), RR
2551 7 jsauermann
;;;                                       } 19 Expression (variable name)
2552 2 jsauermann
;--     ++
2553
        ADD     RR, #0x0001
2554
;--     store_rr_var seconds_high
2555
        MOVE    RR, (Cseconds_high)
2556 7 jsauermann
;;;                                     } 18 Expr ++r
2557
;;;                                   } 17 ExpressionStatement
2558 2 jsauermann
L9_endif_15:
2559 7 jsauermann
;;;                                 } 16 IfElseStatement
2560
;;;                               } 15 List
2561
;--     pop 0 bytes
2562
;;;                             } 14 CompoundStatement
2563 2 jsauermann
L9_endif_14:
2564 7 jsauermann
;;;                           } 13 IfElseStatement
2565
;;;                         } 12 List
2566
;--     pop 0 bytes
2567
;;;                       } 11 CompoundStatement
2568 2 jsauermann
L9_endif_13:
2569 7 jsauermann
;;;                     } 10 IfElseStatement
2570
;;;                     { 10 do while Statement
2571 2 jsauermann
L9_loop_16:
2572 7 jsauermann
;;;                       { 11 CompoundStatement
2573
;;;                         { 12 List
2574
;;;                           { 13 IfElseStatement
2575
;;;                             { 14 Expr l && r
2576
;;;                               { 15 TypeName (internal)
2577
;;;                                 { 16 TypeSpecifier (all)
2578
;;;                                   spec = int (80000)
2579
;;;                                 } 16 TypeSpecifier (all)
2580
;;;                               } 15 TypeName (internal)
2581
;;;                               { 15 IfElseStatement
2582
;;;                                 { 16 Expr ! r
2583
;;;                                   { 17 Expr --r
2584
;;;                                     { 18 Expr * r
2585
;;;                                       { 19 Expression (variable name)
2586
;;;                                         expr_type = "identifier" (t)
2587 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2588
        MOVE    4(SP), RR
2589 7 jsauermann
;;;                                       } 19 Expression (variable name)
2590
;;;                                     } 18 Expr * r
2591 2 jsauermann
;--     + (member)
2592
        ADD     RR, #0x0012
2593
;--     move_rr_to_ll
2594
        MOVE    RR, LL
2595
;--     content
2596
        MOVE    (RR), RR
2597
;--     --
2598
        SUB     RR, #0x0001
2599
;--     assign (16 bit)
2600
        MOVE    RR, (LL)
2601 7 jsauermann
;;;                                   } 17 Expr --r
2602 2 jsauermann
;--     16 bit ! r
2603
        LNOT    RR
2604 7 jsauermann
;;;                                 } 16 Expr ! r
2605 2 jsauermann
;--     branch_false
2606
        JMP     RRZ, L9_endif_19
2607 7 jsauermann
;;;                                 { 16 ExpressionStatement
2608
;;;                                   { 17 Expr l & r
2609
;;;                                     { 18 TypeName (internal)
2610
;;;                                       { 19 TypeSpecifier (all)
2611
;;;                                         spec = int (80000)
2612
;;;                                       } 19 TypeSpecifier (all)
2613
;;;                                     } 18 TypeName (internal)
2614
;;;                                     { 18 Expr * r
2615
;;;                                       { 19 Expression (variable name)
2616
;;;                                         expr_type = "identifier" (t)
2617 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2618
        MOVE    4(SP), RR
2619 7 jsauermann
;;;                                       } 19 Expression (variable name)
2620
;;;                                     } 18 Expr * r
2621 2 jsauermann
;--     + (member)
2622
        ADD     RR, #0x0004
2623
;--     content
2624
        MOVE    (RR), RS
2625
;--     l & r
2626
        AND     RR, #0x0002
2627 7 jsauermann
;;;                                   } 17 Expr l & r
2628
;;;                                 } 16 ExpressionStatement
2629 2 jsauermann
L9_endif_19:
2630 7 jsauermann
;;;                               } 15 IfElseStatement
2631
;;;                             } 14 Expr l && r
2632 2 jsauermann
;--     branch_false
2633
        JMP     RRZ, L9_endif_18
2634 7 jsauermann
;;;                             { 14 CompoundStatement
2635
;;;                               { 15 List
2636
;;;                                 { 16 ExpressionStatement
2637
;;;                                   { 17 Expr l & r
2638
;;;                                     { 18 TypeName
2639
;;;                                       { 19 TypeSpecifier (all)
2640
;;;                                         spec = char (20000)
2641
;;;                                       } 19 TypeSpecifier (all)
2642
;;;                                       { 19 List
2643
;;;                                         { 20 DeclItem
2644
;;;                                           what = DECL_NAME
2645
;;;                                           name = status
2646
;;;                                         } 20 DeclItem
2647
;;;                                       } 19 List
2648
;;;                                     } 18 TypeName
2649
;;;                                     { 18 Expr l & r
2650
;;;                                       { 19 TypeName (internal)
2651
;;;                                         { 20 TypeSpecifier (all)
2652
;;;                                           spec = int (80000)
2653
;;;                                         } 20 TypeSpecifier (all)
2654
;;;                                       } 19 TypeName (internal)
2655
;;;                                       { 19 Expr * r
2656
;;;                                         { 20 Expression (variable name)
2657
;;;                                           expr_type = "identifier" (t)
2658 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2659
        MOVE    4(SP), RR
2660 7 jsauermann
;;;                                         } 20 Expression (variable name)
2661
;;;                                       } 19 Expr * r
2662 2 jsauermann
;--     + (member)
2663
        ADD     RR, #0x0004
2664
;--     content
2665
        MOVE    (RR), RS
2666
;--     l & r
2667
        AND     RR, #0xFFFD
2668 7 jsauermann
;;;                                     } 18 Expr l & r
2669 2 jsauermann
;--     push_rr (8 bit)
2670
        MOVE    R, -(SP)
2671 7 jsauermann
;;;                                     { 18 Expr * r
2672
;;;                                       { 19 Expression (variable name)
2673
;;;                                         expr_type = "identifier" (t)
2674 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -7 (16 bit)
2675
        MOVE    5(SP), RR
2676 7 jsauermann
;;;                                       } 19 Expression (variable name)
2677
;;;                                     } 18 Expr * r
2678 2 jsauermann
;--     + (member)
2679
        ADD     RR, #0x0004
2680
;--     move_rr_to_ll
2681
        MOVE    RR, LL
2682
;--     pop_rr (8 bit)
2683
        MOVE    (SP)+, RS
2684
;--     assign (8 bit)
2685
        MOVE    R, (LL)
2686 7 jsauermann
;;;                                   } 17 Expr l & r
2687
;;;                                 } 16 ExpressionStatement
2688
;;;                                 { 16 IfElseStatement
2689
;;;                                   { 17 Expr l & r
2690
;;;                                     { 18 TypeName (internal)
2691
;;;                                       { 19 TypeSpecifier (all)
2692
;;;                                         spec = int (80000)
2693
;;;                                       } 19 TypeSpecifier (all)
2694
;;;                                     } 18 TypeName (internal)
2695
;;;                                     { 18 Expr * r
2696
;;;                                       { 19 Expression (variable name)
2697
;;;                                         expr_type = "identifier" (t)
2698 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2699
        MOVE    4(SP), RR
2700 7 jsauermann
;;;                                       } 19 Expression (variable name)
2701
;;;                                     } 18 Expr * r
2702 2 jsauermann
;--     + (member)
2703
        ADD     RR, #0x0004
2704
;--     content
2705
        MOVE    (RR), RS
2706
;--     l & r
2707
        AND     RR, #0x0001
2708 7 jsauermann
;;;                                   } 17 Expr l & r
2709 2 jsauermann
;--     branch_false
2710
        JMP     RRZ, L9_endif_20
2711 7 jsauermann
;;;                                   { 17 CompoundStatement
2712
;;;                                     { 18 List
2713
;;;                                       { 19 ExpressionStatement
2714
;;;                                         { 20 Expr l & r
2715
;;;                                           { 21 TypeName
2716
;;;                                             { 22 TypeSpecifier (all)
2717
;;;                                               spec = char (20000)
2718
;;;                                             } 22 TypeSpecifier (all)
2719
;;;                                             { 22 List
2720
;;;                                               { 23 DeclItem
2721
;;;                                                 what = DECL_NAME
2722
;;;                                                 name = status
2723
;;;                                               } 23 DeclItem
2724
;;;                                             } 22 List
2725
;;;                                           } 21 TypeName
2726
;;;                                           { 21 Expr l & r
2727
;;;                                             { 22 TypeName (internal)
2728
;;;                                               { 23 TypeSpecifier (all)
2729
;;;                                                 spec = int (80000)
2730
;;;                                               } 23 TypeSpecifier (all)
2731
;;;                                             } 22 TypeName (internal)
2732
;;;                                             { 22 Expr * r
2733
;;;                                               { 23 Expression (variable name)
2734
;;;                                                 expr_type = "identifier" (t)
2735 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2736
        MOVE    4(SP), RR
2737 7 jsauermann
;;;                                               } 23 Expression (variable name)
2738
;;;                                             } 22 Expr * r
2739 2 jsauermann
;--     + (member)
2740
        ADD     RR, #0x0004
2741
;--     content
2742
        MOVE    (RR), RS
2743
;--     l & r
2744
        AND     RR, #0xFFFE
2745 7 jsauermann
;;;                                           } 21 Expr l & r
2746 2 jsauermann
;--     push_rr (8 bit)
2747
        MOVE    R, -(SP)
2748 7 jsauermann
;;;                                           { 21 Expr * r
2749
;;;                                             { 22 Expression (variable name)
2750
;;;                                               expr_type = "identifier" (t)
2751 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -7 (16 bit)
2752
        MOVE    5(SP), RR
2753 7 jsauermann
;;;                                             } 22 Expression (variable name)
2754
;;;                                           } 21 Expr * r
2755 2 jsauermann
;--     + (member)
2756
        ADD     RR, #0x0004
2757
;--     move_rr_to_ll
2758
        MOVE    RR, LL
2759
;--     pop_rr (8 bit)
2760
        MOVE    (SP)+, RS
2761
;--     assign (8 bit)
2762
        MOVE    R, (LL)
2763 7 jsauermann
;;;                                         } 20 Expr l & r
2764
;;;                                       } 19 ExpressionStatement
2765
;;;                                       { 19 ExpressionStatement
2766
;;;                                         { 20 Expr l = r
2767
;;;                                           { 21 TypeName
2768
;;;                                             { 22 TypeSpecifier (all)
2769
;;;                                               spec = char (20000)
2770
;;;                                             } 22 TypeSpecifier (all)
2771
;;;                                             { 22 List
2772
;;;                                               { 23 DeclItem
2773
;;;                                                 what = DECL_NAME
2774
;;;                                                 name = sema_ret
2775
;;;                                               } 23 DeclItem
2776
;;;                                             } 22 List
2777
;;;                                           } 21 TypeName
2778
;;;                                           { 21 NumericExpression (constant 1 = 0x1)
2779 2 jsauermann
;--     load_rr_constant
2780
        MOVE    #0xFFFF, RR
2781 7 jsauermann
;;;                                           } 21 NumericExpression (constant 1 = 0x1)
2782 2 jsauermann
;--     push_rr (8 bit)
2783
        MOVE    R, -(SP)
2784 7 jsauermann
;;;                                           { 21 Expr * r
2785
;;;                                             { 22 Expression (variable name)
2786
;;;                                               expr_type = "identifier" (t)
2787 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -7 (16 bit)
2788
        MOVE    5(SP), RR
2789 7 jsauermann
;;;                                             } 22 Expression (variable name)
2790
;;;                                           } 21 Expr * r
2791 2 jsauermann
;--     + (member)
2792
        ADD     RR, #0x000C
2793
;--     move_rr_to_ll
2794
        MOVE    RR, LL
2795
;--     pop_rr (8 bit)
2796
        MOVE    (SP)+, RS
2797
;--     assign (8 bit)
2798
        MOVE    R, (LL)
2799 7 jsauermann
;;;                                         } 20 Expr l = r
2800
;;;                                       } 19 ExpressionStatement
2801
;;;                                       { 19 ExpressionStatement
2802
;;;                                         { 20 Expr l = r
2803
;;;                                           { 21 TypeName
2804
;;;                                             { 22 TypeSpecifier (struct/union)
2805
;;;                                               spec = struct '_semaphore' (800000)
2806
;;;                                               name = _semaphore
2807
;;;                                             } 22 TypeSpecifier (struct/union)
2808
;;;                                             { 22 List
2809
;;;                                               { 23 DeclItem
2810
;;;                                                 what = DECL_POINTER
2811
;;;                                                 { 24 List
2812
;;;                                                   { 25 Ptr
2813
;;;                                                   } 25 Ptr
2814
;;;                                                 } 24 List
2815
;;;                                               } 23 DeclItem
2816
;;;                                               { 23 DeclItem
2817
;;;                                                 what = DECL_NAME
2818
;;;                                                 name = s
2819
;;;                                               } 23 DeclItem
2820
;;;                                             } 22 List
2821
;;;                                           } 21 TypeName
2822
;;;                                           { 21 Expr * r
2823
;;;                                             { 22 Expression (variable name)
2824
;;;                                               expr_type = "identifier" (t)
2825 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2826
        MOVE    4(SP), RR
2827 7 jsauermann
;;;                                             } 22 Expression (variable name)
2828
;;;                                           } 21 Expr * r
2829 2 jsauermann
;--     + (member)
2830
        ADD     RR, #0x000E
2831
;--     content
2832
        MOVE    (RR), RR
2833
;--     store_rr_var s = -4(FP), SP at -6
2834
        MOVE    RR, 2(SP)
2835 7 jsauermann
;;;                                         } 20 Expr l = r
2836
;;;                                       } 19 ExpressionStatement
2837
;;;                                       { 19 ExpressionStatement
2838
;;;                                         { 20 Expr ++r
2839
;;;                                           { 21 Expr * r
2840
;;;                                             { 22 Expression (variable name)
2841
;;;                                               expr_type = "identifier" (s)
2842 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -6 (16 bit)
2843
        MOVE    2(SP), RR
2844 7 jsauermann
;;;                                             } 22 Expression (variable name)
2845
;;;                                           } 21 Expr * r
2846 2 jsauermann
;--     + (member)
2847
;--     move_rr_to_ll
2848
        MOVE    RR, LL
2849
;--     content
2850
        MOVE    (RR), RR
2851
;--     ++
2852
        ADD     RR, #0x0001
2853
;--     assign (16 bit)
2854
        MOVE    RR, (LL)
2855 7 jsauermann
;;;                                         } 20 Expr ++r
2856
;;;                                       } 19 ExpressionStatement
2857
;;;                                       { 19 ExpressionStatement
2858
;;;                                         { 20 Expr l = r
2859
;;;                                           { 21 TypeName
2860
;;;                                             { 22 TypeSpecifier (struct/union)
2861
;;;                                               spec = struct '_task' (800000)
2862
;;;                                               name = _task
2863
;;;                                             } 22 TypeSpecifier (struct/union)
2864
;;;                                             { 22 List
2865
;;;                                               { 23 DeclItem
2866
;;;                                                 what = DECL_POINTER
2867
;;;                                                 { 24 List
2868
;;;                                                   { 25 Ptr
2869
;;;                                                   } 25 Ptr
2870
;;;                                                 } 24 List
2871
;;;                                               } 23 DeclItem
2872
;;;                                               { 23 DeclItem
2873
;;;                                                 what = DECL_NAME
2874
;;;                                                 name = ts
2875
;;;                                               } 23 DeclItem
2876
;;;                                             } 22 List
2877
;;;                                           } 21 TypeName
2878
;;;                                           { 21 Expr * r
2879
;;;                                             { 22 Expression (variable name)
2880
;;;                                               expr_type = "identifier" (s)
2881 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -6 (16 bit)
2882
        MOVE    2(SP), RR
2883 7 jsauermann
;;;                                             } 22 Expression (variable name)
2884
;;;                                           } 21 Expr * r
2885 2 jsauermann
;--     + (member)
2886
        ADD     RR, #0x0002
2887
;--     content
2888
        MOVE    (RR), RR
2889
;--     store_rr_var ts = -6(FP), SP at -6
2890
        MOVE    RR, 0(SP)
2891 7 jsauermann
;;;                                         } 20 Expr l = r
2892
;;;                                       } 19 ExpressionStatement
2893
;;;                                       { 19 IfElseStatement
2894
;;;                                         { 20 Expr l == r
2895
;;;                                           { 21 TypeName
2896
;;;                                             { 22 TypeSpecifier (struct/union)
2897
;;;                                               spec = struct '_task' (800000)
2898
;;;                                               name = _task
2899
;;;                                             } 22 TypeSpecifier (struct/union)
2900
;;;                                             { 22 List
2901
;;;                                               { 23 DeclItem
2902
;;;                                                 what = DECL_POINTER
2903
;;;                                                 { 24 List
2904
;;;                                                   { 25 Ptr
2905
;;;                                                   } 25 Ptr
2906
;;;                                                 } 24 List
2907
;;;                                               } 23 DeclItem
2908
;;;                                               { 23 DeclItem
2909
;;;                                                 what = DECL_NAME
2910
;;;                                                 name = t
2911
;;;                                               } 23 DeclItem
2912
;;;                                             } 22 List
2913
;;;                                           } 21 TypeName
2914
;;;                                           { 21 Expression (variable name)
2915
;;;                                             expr_type = "identifier" (t)
2916 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
2917
        MOVE    4(SP), RR
2918 7 jsauermann
;;;                                           } 21 Expression (variable name)
2919 2 jsauermann
;--     move_rr_to_ll
2920
        MOVE    RR, LL
2921 7 jsauermann
;;;                                           { 21 Expression (variable name)
2922
;;;                                             expr_type = "identifier" (ts)
2923 2 jsauermann
;--     load_rr_var ts = -6(FP), SP at -6 (16 bit)
2924
        MOVE    0(SP), RR
2925 7 jsauermann
;;;                                           } 21 Expression (variable name)
2926 2 jsauermann
;--     l == r
2927
        SEQ     LL, RR
2928 7 jsauermann
;;;                                         } 20 Expr l == r
2929 2 jsauermann
;--     branch_false
2930
        JMP     RRZ, L9_else_21
2931 7 jsauermann
;;;                                         { 20 CompoundStatement
2932
;;;                                           { 21 List
2933
;;;                                             { 22 IfElseStatement
2934
;;;                                               { 23 Expr l == r
2935
;;;                                                 { 24 TypeName
2936
;;;                                                   { 25 TypeSpecifier (struct/union)
2937
;;;                                                     spec = struct '_task' (800000)
2938
;;;                                                     name = _task
2939
;;;                                                   } 25 TypeSpecifier (struct/union)
2940
;;;                                                   { 25 List
2941
;;;                                                     { 26 DeclItem
2942
;;;                                                       what = DECL_POINTER
2943
;;;                                                       { 27 List
2944
;;;                                                         { 28 Ptr
2945
;;;                                                         } 28 Ptr
2946
;;;                                                       } 27 List
2947
;;;                                                     } 26 DeclItem
2948
;;;                                                     { 26 DeclItem
2949
;;;                                                       what = DECL_NAME
2950
;;;                                                       name = t
2951
;;;                                                     } 26 DeclItem
2952
;;;                                                   } 25 List
2953
;;;                                                 } 24 TypeName
2954
;;;                                                 { 24 Expr * r
2955
;;;                                                   { 25 Expression (variable name)
2956
;;;                                                     expr_type = "identifier" (s)
2957 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -6 (16 bit)
2958
        MOVE    2(SP), RR
2959 7 jsauermann
;;;                                                   } 25 Expression (variable name)
2960
;;;                                                 } 24 Expr * r
2961 2 jsauermann
;--     + (member)
2962
        ADD     RR, #0x0004
2963
;--     content
2964
        MOVE    (RR), RR
2965 7 jsauermann
;;;                                                 { 24 Expression (variable name)
2966
;;;                                                   expr_type = "identifier" (t)
2967 2 jsauermann
;--     load_ll_var t = -2(FP), SP at -6 (16 bit)
2968
        MOVE    4(SP), LL
2969 7 jsauermann
;;;                                                 } 24 Expression (variable name)
2970 2 jsauermann
;--     l == r
2971
        SEQ     LL, RR
2972 7 jsauermann
;;;                                               } 23 Expr l == r
2973 2 jsauermann
;--     branch_false
2974
        JMP     RRZ, L9_else_22
2975 7 jsauermann
;;;                                               { 23 CompoundStatement
2976
;;;                                                 { 24 List
2977
;;;                                                   { 25 ExpressionStatement
2978
;;;                                                     { 26 Expr l = r
2979
;;;                                                       { 27 TypeName
2980
;;;                                                         { 28 TypeSpecifier (struct/union)
2981
;;;                                                           spec = struct '_task' (800000)
2982
;;;                                                           name = _task
2983
;;;                                                         } 28 TypeSpecifier (struct/union)
2984
;;;                                                         { 28 List
2985
;;;                                                           { 29 DeclItem
2986
;;;                                                             what = DECL_POINTER
2987
;;;                                                             { 30 List
2988
;;;                                                               { 31 Ptr
2989
;;;                                                               } 31 Ptr
2990
;;;                                                             } 30 List
2991
;;;                                                           } 29 DeclItem
2992
;;;                                                           { 29 DeclItem
2993
;;;                                                             what = DECL_NAME
2994
;;;                                                             name = next_waiting
2995
;;;                                                           } 29 DeclItem
2996
;;;                                                         } 28 List
2997
;;;                                                       } 27 TypeName
2998
;;;                                                       { 27 NumericExpression (constant 0 = 0x0)
2999 2 jsauermann
;--     load_rr_constant
3000
        MOVE    #0x0000, RR
3001 7 jsauermann
;;;                                                       } 27 NumericExpression (constant 0 = 0x0)
3002 2 jsauermann
;--     push_rr (16 bit)
3003
        MOVE    RR, -(SP)
3004 7 jsauermann
;;;                                                       { 27 Expr * r
3005
;;;                                                         { 28 Expression (variable name)
3006
;;;                                                           expr_type = "identifier" (s)
3007 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -8 (16 bit)
3008
        MOVE    4(SP), RR
3009 7 jsauermann
;;;                                                         } 28 Expression (variable name)
3010
;;;                                                       } 27 Expr * r
3011 2 jsauermann
;--     + (member)
3012
        ADD     RR, #0x0002
3013
;--     move_rr_to_ll
3014
        MOVE    RR, LL
3015
;--     pop_rr (16 bit)
3016
        MOVE    (SP)+, RR
3017
;--     assign (16 bit)
3018
        MOVE    RR, (LL)
3019 7 jsauermann
;;;                                                     } 26 Expr l = r
3020
;;;                                                   } 25 ExpressionStatement
3021
;;;                                                   { 25 ExpressionStatement
3022
;;;                                                     { 26 Expr l = r
3023
;;;                                                       { 27 TypeName
3024
;;;                                                         { 28 TypeSpecifier (struct/union)
3025
;;;                                                           spec = struct '_task' (800000)
3026
;;;                                                           name = _task
3027
;;;                                                         } 28 TypeSpecifier (struct/union)
3028
;;;                                                         { 28 List
3029
;;;                                                           { 29 DeclItem
3030
;;;                                                             what = DECL_POINTER
3031
;;;                                                             { 30 List
3032
;;;                                                               { 31 Ptr
3033
;;;                                                               } 31 Ptr
3034
;;;                                                             } 30 List
3035
;;;                                                           } 29 DeclItem
3036
;;;                                                           { 29 DeclItem
3037
;;;                                                             what = DECL_NAME
3038
;;;                                                             name = last_waiting
3039
;;;                                                           } 29 DeclItem
3040
;;;                                                         } 28 List
3041
;;;                                                       } 27 TypeName
3042
;;;                                                       { 27 NumericExpression (constant 0 = 0x0)
3043 2 jsauermann
;--     load_rr_constant
3044
        MOVE    #0x0000, RR
3045 7 jsauermann
;;;                                                       } 27 NumericExpression (constant 0 = 0x0)
3046 2 jsauermann
;--     push_rr (16 bit)
3047
        MOVE    RR, -(SP)
3048 7 jsauermann
;;;                                                       { 27 Expr * r
3049
;;;                                                         { 28 Expression (variable name)
3050
;;;                                                           expr_type = "identifier" (s)
3051 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -8 (16 bit)
3052
        MOVE    4(SP), RR
3053 7 jsauermann
;;;                                                         } 28 Expression (variable name)
3054
;;;                                                       } 27 Expr * r
3055 2 jsauermann
;--     + (member)
3056
        ADD     RR, #0x0004
3057
;--     move_rr_to_ll
3058
        MOVE    RR, LL
3059
;--     pop_rr (16 bit)
3060
        MOVE    (SP)+, RR
3061
;--     assign (16 bit)
3062
        MOVE    RR, (LL)
3063 7 jsauermann
;;;                                                     } 26 Expr l = r
3064
;;;                                                   } 25 ExpressionStatement
3065
;;;                                                 } 24 List
3066
;--     pop 0 bytes
3067
;;;                                               } 23 CompoundStatement
3068 2 jsauermann
;--     branch
3069
        JMP     L9_endif_22
3070
L9_else_22:
3071 7 jsauermann
;;;                                               { 23 CompoundStatement
3072
;;;                                                 { 24 List
3073
;;;                                                   { 25 ExpressionStatement
3074
;;;                                                     { 26 Expr l = r
3075
;;;                                                       { 27 TypeName
3076
;;;                                                         { 28 TypeSpecifier (struct/union)
3077
;;;                                                           spec = struct '_task' (800000)
3078
;;;                                                           name = _task
3079
;;;                                                         } 28 TypeSpecifier (struct/union)
3080
;;;                                                         { 28 List
3081
;;;                                                           { 29 DeclItem
3082
;;;                                                             what = DECL_POINTER
3083
;;;                                                             { 30 List
3084
;;;                                                               { 31 Ptr
3085
;;;                                                               } 31 Ptr
3086
;;;                                                             } 30 List
3087
;;;                                                           } 29 DeclItem
3088
;;;                                                           { 29 DeclItem
3089
;;;                                                             what = DECL_NAME
3090
;;;                                                             name = next_waiting
3091
;;;                                                           } 29 DeclItem
3092
;;;                                                         } 28 List
3093
;;;                                                       } 27 TypeName
3094
;;;                                                       { 27 Expr * r
3095
;;;                                                         { 28 Expression (variable name)
3096
;;;                                                           expr_type = "identifier" (t)
3097 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
3098
        MOVE    4(SP), RR
3099 7 jsauermann
;;;                                                         } 28 Expression (variable name)
3100
;;;                                                       } 27 Expr * r
3101 2 jsauermann
;--     + (member)
3102
        ADD     RR, #0x0010
3103
;--     content
3104
        MOVE    (RR), RR
3105
;--     push_rr (16 bit)
3106
        MOVE    RR, -(SP)
3107 7 jsauermann
;;;                                                       { 27 Expr * r
3108
;;;                                                         { 28 Expression (variable name)
3109
;;;                                                           expr_type = "identifier" (s)
3110 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -8 (16 bit)
3111
        MOVE    4(SP), RR
3112 7 jsauermann
;;;                                                         } 28 Expression (variable name)
3113
;;;                                                       } 27 Expr * r
3114 2 jsauermann
;--     + (member)
3115
        ADD     RR, #0x0002
3116
;--     move_rr_to_ll
3117
        MOVE    RR, LL
3118
;--     pop_rr (16 bit)
3119
        MOVE    (SP)+, RR
3120
;--     assign (16 bit)
3121
        MOVE    RR, (LL)
3122 7 jsauermann
;;;                                                     } 26 Expr l = r
3123
;;;                                                   } 25 ExpressionStatement
3124
;;;                                                 } 24 List
3125
;--     pop 0 bytes
3126
;;;                                               } 23 CompoundStatement
3127 2 jsauermann
L9_endif_22:
3128 7 jsauermann
;;;                                             } 22 IfElseStatement
3129
;;;                                           } 21 List
3130
;--     pop 0 bytes
3131
;;;                                         } 20 CompoundStatement
3132 2 jsauermann
;--     branch
3133
        JMP     L9_endif_21
3134
L9_else_21:
3135 7 jsauermann
;;;                                         { 20 CompoundStatement
3136
;;;                                           { 21 List
3137
;;;                                             { 22 while Statement
3138 2 jsauermann
;--     branch
3139
        JMP     L9_cont_23
3140
L9_loop_23:
3141 7 jsauermann
;;;                                               { 23 ExpressionStatement
3142
;;;                                                 { 24 Expr l = r
3143
;;;                                                   { 25 TypeName
3144
;;;                                                     { 26 TypeSpecifier (struct/union)
3145
;;;                                                       spec = struct '_task' (800000)
3146
;;;                                                       name = _task
3147
;;;                                                     } 26 TypeSpecifier (struct/union)
3148
;;;                                                     { 26 List
3149
;;;                                                       { 27 DeclItem
3150
;;;                                                         what = DECL_POINTER
3151
;;;                                                         { 28 List
3152
;;;                                                           { 29 Ptr
3153
;;;                                                           } 29 Ptr
3154
;;;                                                         } 28 List
3155
;;;                                                       } 27 DeclItem
3156
;;;                                                       { 27 DeclItem
3157
;;;                                                         what = DECL_NAME
3158
;;;                                                         name = ts
3159
;;;                                                       } 27 DeclItem
3160
;;;                                                     } 26 List
3161
;;;                                                   } 25 TypeName
3162
;;;                                                   { 25 Expr * r
3163
;;;                                                     { 26 Expression (variable name)
3164
;;;                                                       expr_type = "identifier" (ts)
3165 2 jsauermann
;--     load_rr_var ts = -6(FP), SP at -6 (16 bit)
3166
        MOVE    0(SP), RR
3167 7 jsauermann
;;;                                                     } 26 Expression (variable name)
3168
;;;                                                   } 25 Expr * r
3169 2 jsauermann
;--     + (member)
3170
        ADD     RR, #0x0010
3171
;--     content
3172
        MOVE    (RR), RR
3173
;--     store_rr_var ts = -6(FP), SP at -6
3174
        MOVE    RR, 0(SP)
3175 7 jsauermann
;;;                                                 } 24 Expr l = r
3176
;;;                                               } 23 ExpressionStatement
3177 2 jsauermann
L9_cont_23:
3178 7 jsauermann
;;;                                               { 23 Expr l != r
3179
;;;                                                 { 24 TypeName
3180
;;;                                                   { 25 TypeSpecifier (struct/union)
3181
;;;                                                     spec = struct '_task' (800000)
3182
;;;                                                     name = _task
3183
;;;                                                   } 25 TypeSpecifier (struct/union)
3184
;;;                                                   { 25 List
3185
;;;                                                     { 26 DeclItem
3186
;;;                                                       what = DECL_POINTER
3187
;;;                                                       { 27 List
3188
;;;                                                         { 28 Ptr
3189
;;;                                                         } 28 Ptr
3190
;;;                                                       } 27 List
3191
;;;                                                     } 26 DeclItem
3192
;;;                                                     { 26 DeclItem
3193
;;;                                                       what = DECL_NAME
3194
;;;                                                       name = t
3195
;;;                                                     } 26 DeclItem
3196
;;;                                                   } 25 List
3197
;;;                                                 } 24 TypeName
3198
;;;                                                 { 24 Expr * r
3199
;;;                                                   { 25 Expression (variable name)
3200
;;;                                                     expr_type = "identifier" (ts)
3201 2 jsauermann
;--     load_rr_var ts = -6(FP), SP at -6 (16 bit)
3202
        MOVE    0(SP), RR
3203 7 jsauermann
;;;                                                   } 25 Expression (variable name)
3204
;;;                                                 } 24 Expr * r
3205 2 jsauermann
;--     + (member)
3206
        ADD     RR, #0x0010
3207
;--     content
3208
        MOVE    (RR), RR
3209 7 jsauermann
;;;                                                 { 24 Expression (variable name)
3210
;;;                                                   expr_type = "identifier" (t)
3211 2 jsauermann
;--     load_ll_var t = -2(FP), SP at -6 (16 bit)
3212
        MOVE    4(SP), LL
3213 7 jsauermann
;;;                                                 } 24 Expression (variable name)
3214 2 jsauermann
;--     l != r
3215
        SNE     LL, RR
3216 7 jsauermann
;;;                                               } 23 Expr l != r
3217 2 jsauermann
;--     branch_true
3218
        JMP     RRNZ, L9_loop_23
3219
L9_brk_24:
3220 7 jsauermann
;;;                                             } 22 while Statement
3221
;;;                                             { 22 ExpressionStatement
3222
;;;                                               { 23 Expr l = r
3223
;;;                                                 { 24 TypeName
3224
;;;                                                   { 25 TypeSpecifier (struct/union)
3225
;;;                                                     spec = struct '_task' (800000)
3226
;;;                                                     name = _task
3227
;;;                                                   } 25 TypeSpecifier (struct/union)
3228
;;;                                                   { 25 List
3229
;;;                                                     { 26 DeclItem
3230
;;;                                                       what = DECL_POINTER
3231
;;;                                                       { 27 List
3232
;;;                                                         { 28 Ptr
3233
;;;                                                         } 28 Ptr
3234
;;;                                                       } 27 List
3235
;;;                                                     } 26 DeclItem
3236
;;;                                                     { 26 DeclItem
3237
;;;                                                       what = DECL_NAME
3238
;;;                                                       name = next_waiting_task
3239
;;;                                                     } 26 DeclItem
3240
;;;                                                   } 25 List
3241
;;;                                                 } 24 TypeName
3242
;;;                                                 { 24 Expr * r
3243
;;;                                                   { 25 Expression (variable name)
3244
;;;                                                     expr_type = "identifier" (t)
3245 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
3246
        MOVE    4(SP), RR
3247 7 jsauermann
;;;                                                   } 25 Expression (variable name)
3248
;;;                                                 } 24 Expr * r
3249 2 jsauermann
;--     + (member)
3250
        ADD     RR, #0x0010
3251
;--     content
3252
        MOVE    (RR), RR
3253
;--     push_rr (16 bit)
3254
        MOVE    RR, -(SP)
3255 7 jsauermann
;;;                                                 { 24 Expr * r
3256
;;;                                                   { 25 Expression (variable name)
3257
;;;                                                     expr_type = "identifier" (ts)
3258 2 jsauermann
;--     load_rr_var ts = -6(FP), SP at -8 (16 bit)
3259
        MOVE    2(SP), RR
3260 7 jsauermann
;;;                                                   } 25 Expression (variable name)
3261
;;;                                                 } 24 Expr * r
3262 2 jsauermann
;--     + (member)
3263
        ADD     RR, #0x0010
3264
;--     move_rr_to_ll
3265
        MOVE    RR, LL
3266
;--     pop_rr (16 bit)
3267
        MOVE    (SP)+, RR
3268
;--     assign (16 bit)
3269
        MOVE    RR, (LL)
3270 7 jsauermann
;;;                                               } 23 Expr l = r
3271
;;;                                             } 22 ExpressionStatement
3272
;;;                                             { 22 IfElseStatement
3273
;;;                                               { 23 Expr l == r
3274
;;;                                                 { 24 TypeName
3275
;;;                                                   { 25 TypeSpecifier (struct/union)
3276
;;;                                                     spec = struct '_task' (800000)
3277
;;;                                                     name = _task
3278
;;;                                                   } 25 TypeSpecifier (struct/union)
3279
;;;                                                   { 25 List
3280
;;;                                                     { 26 DeclItem
3281
;;;                                                       what = DECL_POINTER
3282
;;;                                                       { 27 List
3283
;;;                                                         { 28 Ptr
3284
;;;                                                         } 28 Ptr
3285
;;;                                                       } 27 List
3286
;;;                                                     } 26 DeclItem
3287
;;;                                                     { 26 DeclItem
3288
;;;                                                       what = DECL_NAME
3289
;;;                                                       name = t
3290
;;;                                                     } 26 DeclItem
3291
;;;                                                   } 25 List
3292
;;;                                                 } 24 TypeName
3293
;;;                                                 { 24 Expr * r
3294
;;;                                                   { 25 Expression (variable name)
3295
;;;                                                     expr_type = "identifier" (s)
3296 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -6 (16 bit)
3297
        MOVE    2(SP), RR
3298 7 jsauermann
;;;                                                   } 25 Expression (variable name)
3299
;;;                                                 } 24 Expr * r
3300 2 jsauermann
;--     + (member)
3301
        ADD     RR, #0x0004
3302
;--     content
3303
        MOVE    (RR), RR
3304 7 jsauermann
;;;                                                 { 24 Expression (variable name)
3305
;;;                                                   expr_type = "identifier" (t)
3306 2 jsauermann
;--     load_ll_var t = -2(FP), SP at -6 (16 bit)
3307
        MOVE    4(SP), LL
3308 7 jsauermann
;;;                                                 } 24 Expression (variable name)
3309 2 jsauermann
;--     l == r
3310
        SEQ     LL, RR
3311 7 jsauermann
;;;                                               } 23 Expr l == r
3312 2 jsauermann
;--     branch_false
3313
        JMP     RRZ, L9_endif_25
3314 7 jsauermann
;;;                                               { 23 ExpressionStatement
3315
;;;                                                 { 24 Expr l = r
3316
;;;                                                   { 25 TypeName
3317
;;;                                                     { 26 TypeSpecifier (struct/union)
3318
;;;                                                       spec = struct '_task' (800000)
3319
;;;                                                       name = _task
3320
;;;                                                     } 26 TypeSpecifier (struct/union)
3321
;;;                                                     { 26 List
3322
;;;                                                       { 27 DeclItem
3323
;;;                                                         what = DECL_POINTER
3324
;;;                                                         { 28 List
3325
;;;                                                           { 29 Ptr
3326
;;;                                                           } 29 Ptr
3327
;;;                                                         } 28 List
3328
;;;                                                       } 27 DeclItem
3329
;;;                                                       { 27 DeclItem
3330
;;;                                                         what = DECL_NAME
3331
;;;                                                         name = last_waiting
3332
;;;                                                       } 27 DeclItem
3333
;;;                                                     } 26 List
3334
;;;                                                   } 25 TypeName
3335
;;;                                                   { 25 Expression (variable name)
3336
;;;                                                     expr_type = "identifier" (ts)
3337 2 jsauermann
;--     load_rr_var ts = -6(FP), SP at -6 (16 bit)
3338
        MOVE    0(SP), RR
3339 7 jsauermann
;;;                                                   } 25 Expression (variable name)
3340 2 jsauermann
;--     push_rr (16 bit)
3341
        MOVE    RR, -(SP)
3342 7 jsauermann
;;;                                                   { 25 Expr * r
3343
;;;                                                     { 26 Expression (variable name)
3344
;;;                                                       expr_type = "identifier" (s)
3345 2 jsauermann
;--     load_rr_var s = -4(FP), SP at -8 (16 bit)
3346
        MOVE    4(SP), RR
3347 7 jsauermann
;;;                                                     } 26 Expression (variable name)
3348
;;;                                                   } 25 Expr * r
3349 2 jsauermann
;--     + (member)
3350
        ADD     RR, #0x0004
3351
;--     move_rr_to_ll
3352
        MOVE    RR, LL
3353
;--     pop_rr (16 bit)
3354
        MOVE    (SP)+, RR
3355
;--     assign (16 bit)
3356
        MOVE    RR, (LL)
3357 7 jsauermann
;;;                                                 } 24 Expr l = r
3358
;;;                                               } 23 ExpressionStatement
3359 2 jsauermann
L9_endif_25:
3360 7 jsauermann
;;;                                             } 22 IfElseStatement
3361
;;;                                           } 21 List
3362
;--     pop 0 bytes
3363
;;;                                         } 20 CompoundStatement
3364 2 jsauermann
L9_endif_21:
3365 7 jsauermann
;;;                                       } 19 IfElseStatement
3366
;;;                                     } 18 List
3367
;--     pop 0 bytes
3368
;;;                                   } 17 CompoundStatement
3369 2 jsauermann
L9_endif_20:
3370 7 jsauermann
;;;                                 } 16 IfElseStatement
3371
;;;                               } 15 List
3372
;--     pop 0 bytes
3373
;;;                             } 14 CompoundStatement
3374 2 jsauermann
L9_endif_18:
3375 7 jsauermann
;;;                           } 13 IfElseStatement
3376
;;;                         } 12 List
3377
;--     pop 0 bytes
3378
;;;                       } 11 CompoundStatement
3379 2 jsauermann
L9_cont_16:
3380 7 jsauermann
;;;                       { 11 Expr l != r
3381
;;;                         { 12 TypeName
3382
;;;                           { 13 TypeSpecifier (struct/union)
3383
;;;                             spec = struct '_task' (800000)
3384
;;;                             name = _task
3385
;;;                           } 13 TypeSpecifier (struct/union)
3386
;;;                           { 13 List
3387
;;;                             { 14 DeclItem
3388
;;;                               what = DECL_POINTER
3389
;;;                               { 15 List
3390
;;;                                 { 16 Ptr
3391
;;;                                 } 16 Ptr
3392
;;;                               } 15 List
3393
;;;                             } 14 DeclItem
3394
;;;                             { 14 DeclItem
3395
;;;                               what = DECL_NAME
3396
;;;                               name = current_task
3397
;;;                             } 14 DeclItem
3398
;;;                           } 13 List
3399
;;;                         } 12 TypeName
3400
;;;                         { 12 Expr l = r
3401
;;;                           { 13 TypeName
3402
;;;                             { 14 TypeSpecifier (struct/union)
3403
;;;                               spec = struct '_task' (800000)
3404
;;;                               name = _task
3405
;;;                             } 14 TypeSpecifier (struct/union)
3406
;;;                             { 14 List
3407
;;;                               { 15 DeclItem
3408
;;;                                 what = DECL_POINTER
3409
;;;                                 { 16 List
3410
;;;                                   { 17 Ptr
3411
;;;                                   } 17 Ptr
3412
;;;                                 } 16 List
3413
;;;                               } 15 DeclItem
3414
;;;                               { 15 DeclItem
3415
;;;                                 what = DECL_NAME
3416
;;;                                 name = t
3417
;;;                               } 15 DeclItem
3418
;;;                             } 14 List
3419
;;;                           } 13 TypeName
3420
;;;                           { 13 Expr * r
3421
;;;                             { 14 Expression (variable name)
3422
;;;                               expr_type = "identifier" (t)
3423 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
3424
        MOVE    4(SP), RR
3425 7 jsauermann
;;;                             } 14 Expression (variable name)
3426
;;;                           } 13 Expr * r
3427 2 jsauermann
;--     + (member)
3428
;--     content
3429
        MOVE    (RR), RR
3430
;--     store_rr_var t = -2(FP), SP at -6
3431
        MOVE    RR, 4(SP)
3432 7 jsauermann
;;;                         } 12 Expr l = r
3433
;;;                         { 12 Expression (variable name)
3434
;;;                           expr_type = "identifier" (current_task)
3435 2 jsauermann
;--     load_ll_var current_task, (16 bit)
3436
        MOVE    (Ccurrent_task), LL
3437 7 jsauermann
;;;                         } 12 Expression (variable name)
3438 2 jsauermann
;--     l != r
3439
        SNE     LL, RR
3440 7 jsauermann
;;;                       } 11 Expr l != r
3441 2 jsauermann
;--     branch_true
3442
        JMP     RRNZ, L9_loop_16
3443
L9_brk_17:
3444 7 jsauermann
;;;                     } 10 do while Statement
3445
;;;                   } 9 List
3446 2 jsauermann
;--     pop 6 bytes
3447
        ADD     SP, #6
3448 7 jsauermann
;;;                 } 8 CompoundStatement
3449
;--     ret
3450 2 jsauermann
        RET
3451
;;; ------------------------------------;
3452 7 jsauermann
;;;                 { 8 FunctionDefinition
3453
;;;                   { 9 TypeName
3454
;;;                     { 10 TypeSpecifier (all)
3455
;;;                       spec = void (10000)
3456
;;;                     } 10 TypeSpecifier (all)
3457
;;;                     { 10 List
3458
;;;                       { 11 DeclItem
3459
;;;                         what = DECL_NAME
3460
;;;                         name = interrupt
3461
;;;                       } 11 DeclItem
3462
;;;                     } 10 List
3463
;;;                   } 9 TypeName
3464
;;;                   { 9 List
3465
;;;                     { 10 DeclItem
3466
;;;                       what = DECL_NAME
3467
;;;                       name = interrupt
3468
;;;                     } 10 DeclItem
3469
;;;                     { 10 DeclItem
3470
;;;                       what = DECL_FUN
3471
;;;                     } 10 DeclItem
3472
;;;                   } 9 List
3473 2 jsauermann
Cinterrupt:
3474 7 jsauermann
;;;                   { 9 CompoundStatement
3475
;;;                     { 10 InitDeclarator
3476
;;;                       { 11 List
3477
;;;                         { 12 DeclItem
3478
;;;                           what = DECL_NAME
3479
;;;                           name = ts_1
3480
;;;                         } 12 DeclItem
3481
;;;                       } 11 List
3482
;;;                       { 11 Initializer (skalar)
3483 2 jsauermann
;--     push_zero 1 bytes
3484
        CLRB    -(SP)
3485 7 jsauermann
;;;                       } 11 Initializer (skalar)
3486
;;;                     } 10 InitDeclarator
3487
;;;                     { 10 InitDeclarator
3488
;;;                       { 11 List
3489
;;;                         { 12 DeclItem
3490
;;;                           what = DECL_NAME
3491
;;;                           name = ts_2
3492
;;;                         } 12 DeclItem
3493
;;;                       } 11 List
3494
;;;                       { 11 Initializer (skalar)
3495 2 jsauermann
;--     push_zero 1 bytes
3496
        CLRB    -(SP)
3497 7 jsauermann
;;;                       } 11 Initializer (skalar)
3498
;;;                     } 10 InitDeclarator
3499
;;;                     { 10 List
3500
;;;                       { 11 ExpressionStatement
3501 2 jsauermann
        MOVE RR, -(SP)
3502 7 jsauermann
;;;                       } 11 ExpressionStatement
3503
;;;                       { 11 ExpressionStatement
3504 2 jsauermann
        MOVE LL, RR
3505 7 jsauermann
;;;                       } 11 ExpressionStatement
3506
;;;                       { 11 ExpressionStatement
3507 2 jsauermann
        MOVE RR, -(SP)
3508 7 jsauermann
;;;                       } 11 ExpressionStatement
3509
;;;                       { 11 IfElseStatement
3510
;;;                         { 12 Expr l & r
3511
;;;                           { 13 TypeName (internal)
3512
;;;                             { 14 TypeSpecifier (all)
3513
;;;                               spec = int (80000)
3514
;;;                             } 14 TypeSpecifier (all)
3515
;;;                           } 13 TypeName (internal)
3516 2 jsauermann
        IN   (IN_STATUS), RU
3517
;--     l & r
3518
        AND     RR, #0x0010
3519 7 jsauermann
;;;                         } 12 Expr l & r
3520 2 jsauermann
;--     branch_false
3521
        JMP     RRZ, L10_endif_26
3522 7 jsauermann
;;;                         { 12 ExpressionStatement
3523
;;;                           { 13 Expr l = r
3524
;;;                             { 14 TypeName
3525
;;;                               { 15 TypeSpecifier (all)
3526
;;;                                 spec = char (20000)
3527
;;;                               } 15 TypeSpecifier (all)
3528
;;;                               { 15 List
3529
;;;                                 { 16 DeclItem
3530
;;;                                   what = DECL_NAME
3531
;;;                                   name = ts_1
3532
;;;                                 } 16 DeclItem
3533
;;;                               } 15 List
3534
;;;                             } 14 TypeName
3535
;;;                             { 14 Expr l(r)
3536
;;;                               { 15 TypeName
3537
;;;                                 { 16 TypeSpecifier (all)
3538
;;;                                   spec = char (20000)
3539
;;;                                 } 16 TypeSpecifier (all)
3540
;;;                                 { 16 List
3541
;;;                                   { 17 DeclItem
3542
;;;                                     what = DECL_NAME
3543
;;;                                     name = rx_interrupt
3544
;;;                                   } 17 DeclItem
3545
;;;                                 } 16 List
3546
;;;                               } 15 TypeName
3547 2 jsauermann
;--     push 1 bytes
3548
;--     call
3549
        CALL    Crx_interrupt
3550
;--     pop 0 bytes
3551 7 jsauermann
;;;                             } 14 Expr l(r)
3552 2 jsauermann
;--     store_rr_var ts_1 = -1(FP), SP at -6
3553
        MOVE    R, 5(SP)
3554 7 jsauermann
;;;                           } 13 Expr l = r
3555
;;;                         } 12 ExpressionStatement
3556 2 jsauermann
L10_endif_26:
3557 7 jsauermann
;;;                       } 11 IfElseStatement
3558
;;;                       { 11 IfElseStatement
3559
;;;                         { 12 Expr l & r
3560
;;;                           { 13 TypeName (internal)
3561
;;;                             { 14 TypeSpecifier (all)
3562
;;;                               spec = int (80000)
3563
;;;                             } 14 TypeSpecifier (all)
3564
;;;                           } 13 TypeName (internal)
3565 2 jsauermann
        IN   (IN_STATUS), RU
3566
;--     l & r
3567
        AND     RR, #0x0020
3568 7 jsauermann
;;;                         } 12 Expr l & r
3569 2 jsauermann
;--     branch_false
3570
        JMP     RRZ, L10_endif_27
3571 7 jsauermann
;;;                         { 12 ExpressionStatement
3572
;;;                           { 13 Expr l = r
3573
;;;                             { 14 TypeName
3574
;;;                               { 15 TypeSpecifier (all)
3575
;;;                                 spec = char (20000)
3576
;;;                               } 15 TypeSpecifier (all)
3577
;;;                               { 15 List
3578
;;;                                 { 16 DeclItem
3579
;;;                                   what = DECL_NAME
3580
;;;                                   name = ts_2
3581
;;;                                 } 16 DeclItem
3582
;;;                               } 15 List
3583
;;;                             } 14 TypeName
3584
;;;                             { 14 Expr l(r)
3585
;;;                               { 15 TypeName
3586
;;;                                 { 16 TypeSpecifier (all)
3587
;;;                                   spec = char (20000)
3588
;;;                                 } 16 TypeSpecifier (all)
3589
;;;                                 { 16 List
3590
;;;                                   { 17 DeclItem
3591
;;;                                     what = DECL_NAME
3592
;;;                                     name = tx_interrupt
3593
;;;                                   } 17 DeclItem
3594
;;;                                 } 16 List
3595
;;;                               } 15 TypeName
3596 2 jsauermann
;--     push 1 bytes
3597
;--     call
3598
        CALL    Ctx_interrupt
3599
;--     pop 0 bytes
3600 7 jsauermann
;;;                             } 14 Expr l(r)
3601 2 jsauermann
;--     store_rr_var ts_2 = -2(FP), SP at -6
3602
        MOVE    R, 4(SP)
3603 7 jsauermann
;;;                           } 13 Expr l = r
3604
;;;                         } 12 ExpressionStatement
3605 2 jsauermann
L10_endif_27:
3606 7 jsauermann
;;;                       } 11 IfElseStatement
3607
;;;                       { 11 IfElseStatement
3608
;;;                         { 12 Expr l & r
3609
;;;                           { 13 TypeName (internal)
3610
;;;                             { 14 TypeSpecifier (all)
3611
;;;                               spec = int (80000)
3612
;;;                             } 14 TypeSpecifier (all)
3613
;;;                           } 13 TypeName (internal)
3614 2 jsauermann
        IN   (IN_STATUS), RU
3615
;--     l & r
3616
        AND     RR, #0x0040
3617 7 jsauermann
;;;                         } 12 Expr l & r
3618 2 jsauermann
;--     branch_false
3619
        JMP     RRZ, L10_endif_28
3620 7 jsauermann
;;;                         { 12 CompoundStatement
3621
;;;                           { 13 List
3622
;;;                             { 14 ExpressionStatement
3623
;;;                               { 15 Expr l(r)
3624
;;;                                 { 16 TypeName
3625
;;;                                   { 17 TypeSpecifier (all)
3626
;;;                                     spec = void (10000)
3627
;;;                                   } 17 TypeSpecifier (all)
3628
;;;                                   { 17 List
3629
;;;                                     { 18 DeclItem
3630
;;;                                       what = DECL_NAME
3631
;;;                                       name = timer_interrupt
3632
;;;                                     } 18 DeclItem
3633
;;;                                   } 17 List
3634
;;;                                 } 16 TypeName
3635 2 jsauermann
;--     push 0 bytes
3636
;--     call
3637
        CALL    Ctimer_interrupt
3638
;--     pop 0 bytes
3639 7 jsauermann
;;;                               } 15 Expr l(r)
3640
;;;                             } 14 ExpressionStatement
3641
;;;                             { 14 ExpressionStatement
3642
;;;                               { 15 Expr l = r
3643
;;;                                 { 16 TypeName
3644
;;;                                   { 17 TypeSpecifier (all)
3645
;;;                                     spec = char (20000)
3646
;;;                                   } 17 TypeSpecifier (all)
3647
;;;                                   { 17 List
3648
;;;                                     { 18 DeclItem
3649
;;;                                       what = DECL_NAME
3650
;;;                                       name = ts_1
3651
;;;                                     } 18 DeclItem
3652
;;;                                   } 17 List
3653
;;;                                 } 16 TypeName
3654
;;;                                 { 16 NumericExpression (constant 1 = 0x1)
3655 2 jsauermann
;--     load_rr_constant
3656
        MOVE    #0xFFFF, RR
3657 7 jsauermann
;;;                                 } 16 NumericExpression (constant 1 = 0x1)
3658 2 jsauermann
;--     store_rr_var ts_1 = -1(FP), SP at -6
3659
        MOVE    R, 5(SP)
3660 7 jsauermann
;;;                               } 15 Expr l = r
3661
;;;                             } 14 ExpressionStatement
3662
;;;                           } 13 List
3663
;--     pop 0 bytes
3664
;;;                         } 12 CompoundStatement
3665 2 jsauermann
L10_endif_28:
3666 7 jsauermann
;;;                       } 11 IfElseStatement
3667
;;;                       { 11 IfElseStatement
3668
;;;                         { 12 Expr l | r
3669
;;;                           { 13 TypeName (internal)
3670
;;;                             { 14 TypeSpecifier (all)
3671
;;;                               spec = int (80000)
3672
;;;                             } 14 TypeSpecifier (all)
3673
;;;                           } 13 TypeName (internal)
3674
;;;                           { 13 Expression (variable name)
3675
;;;                             expr_type = "identifier" (ts_1)
3676 2 jsauermann
;--     load_rr_var ts_1 = -1(FP), SP at -6 (8 bit)
3677
        MOVE    5(SP), RS
3678 7 jsauermann
;;;                           } 13 Expression (variable name)
3679 2 jsauermann
;--     move_rr_to_ll
3680
        MOVE    RR, LL
3681 7 jsauermann
;;;                           { 13 Expression (variable name)
3682
;;;                             expr_type = "identifier" (ts_2)
3683 2 jsauermann
;--     load_rr_var ts_2 = -2(FP), SP at -6 (8 bit)
3684
        MOVE    4(SP), RS
3685 7 jsauermann
;;;                           } 13 Expression (variable name)
3686 2 jsauermann
;--     l | r
3687
        OR      LL, RR
3688 7 jsauermann
;;;                         } 12 Expr l | r
3689 2 jsauermann
;--     branch_false
3690
        JMP     RRZ, L10_endif_29
3691 7 jsauermann
;;;                         { 12 ExpressionStatement
3692
;;;                           { 13 Expr l(r)
3693
;;;                             { 14 TypeName
3694
;;;                               { 15 TypeSpecifier (all)
3695
;;;                                 spec = void (10000)
3696
;;;                               } 15 TypeSpecifier (all)
3697
;;;                               { 15 List
3698
;;;                                 { 16 DeclItem
3699
;;;                                   what = DECL_NAME
3700
;;;                                   name = switch_tasks
3701
;;;                                 } 16 DeclItem
3702
;;;                               } 15 List
3703
;;;                             } 14 TypeName
3704 2 jsauermann
;--     push 0 bytes
3705
;--     call
3706
        CALL    Cswitch_tasks
3707
;--     pop 0 bytes
3708 7 jsauermann
;;;                           } 13 Expr l(r)
3709
;;;                         } 12 ExpressionStatement
3710 2 jsauermann
L10_endif_29:
3711 7 jsauermann
;;;                       } 11 IfElseStatement
3712
;;;                       { 11 ExpressionStatement
3713 2 jsauermann
        MOVE (SP)+, RR
3714 7 jsauermann
;;;                       } 11 ExpressionStatement
3715
;;;                       { 11 ExpressionStatement
3716 2 jsauermann
        MOVE RR, LL
3717 7 jsauermann
;;;                       } 11 ExpressionStatement
3718
;;;                       { 11 ExpressionStatement
3719 2 jsauermann
        MOVE (SP)+, RR
3720 7 jsauermann
;;;                       } 11 ExpressionStatement
3721
;;;                       { 11 ExpressionStatement
3722 2 jsauermann
        ADD  SP, #2
3723 7 jsauermann
;;;                       } 11 ExpressionStatement
3724
;;;                       { 11 ExpressionStatement
3725 2 jsauermann
        RETI
3726 7 jsauermann
;;;                       } 11 ExpressionStatement
3727
;;;                     } 10 List
3728 2 jsauermann
;--     pop 2 bytes
3729
        ADD     SP, #2
3730 7 jsauermann
;;;                   } 9 CompoundStatement
3731
;--     ret
3732 2 jsauermann
        RET
3733
;;; ------------------------------------;
3734 7 jsauermann
;;;                   { 9 FunctionDefinition
3735
;;;                     { 10 TypeName
3736
;;;                       { 11 TypeSpecifier (all)
3737
;;;                         spec = void (10000)
3738
;;;                       } 11 TypeSpecifier (all)
3739
;;;                       { 11 List
3740
;;;                         { 12 DeclItem
3741
;;;                           what = DECL_NAME
3742
;;;                           name = sleep
3743
;;;                         } 12 DeclItem
3744
;;;                       } 11 List
3745
;;;                     } 10 TypeName
3746
;;;                     { 10 List
3747
;;;                       { 11 DeclItem
3748
;;;                         what = DECL_NAME
3749
;;;                         name = sleep
3750
;;;                       } 11 DeclItem
3751
;;;                       { 11 DeclItem
3752
;;;                         what = DECL_FUN
3753
;;;                         { 12 List
3754
;;;                           { 13 ParameterDeclaration
3755
;;;                             isEllipsis = false
3756
;;;                             { 14 TypeName
3757
;;;                               { 15 TypeSpecifier (all)
3758
;;;                                 spec = int (80000)
3759
;;;                               } 15 TypeSpecifier (all)
3760
;;;                               { 15 List
3761
;;;                                 { 16 DeclItem
3762
;;;                                   what = DECL_NAME
3763
;;;                                   name = millisecs
3764
;;;                                 } 16 DeclItem
3765
;;;                               } 15 List
3766
;;;                             } 14 TypeName
3767
;;;                           } 13 ParameterDeclaration
3768
;;;                         } 12 List
3769
;;;                       } 11 DeclItem
3770
;;;                     } 10 List
3771 2 jsauermann
Csleep:
3772 7 jsauermann
;;;                     { 10 CompoundStatement
3773
;;;                       { 11 List
3774
;;;                         { 12 ExpressionStatement
3775 2 jsauermann
        DI
3776 7 jsauermann
;;;                         } 12 ExpressionStatement
3777
;;;                         { 12 ExpressionStatement
3778
;;;                           { 13 Expr l = r
3779
;;;                             { 14 TypeName
3780
;;;                               { 15 TypeSpecifier (all)
3781
;;;                                 spec = int (80000)
3782
;;;                               } 15 TypeSpecifier (all)
3783
;;;                               { 15 List
3784
;;;                                 { 16 DeclItem
3785
;;;                                   what = DECL_NAME
3786
;;;                                   name = sleep_count
3787
;;;                                 } 16 DeclItem
3788
;;;                               } 15 List
3789
;;;                             } 14 TypeName
3790
;;;                             { 14 Expression (variable name)
3791
;;;                               expr_type = "identifier" (millisecs)
3792 2 jsauermann
;--     load_rr_var millisecs = 2(FP), SP at 0 (16 bit)
3793
        MOVE    2(SP), RR
3794 7 jsauermann
;;;                             } 14 Expression (variable name)
3795 2 jsauermann
;--     push_rr (16 bit)
3796
        MOVE    RR, -(SP)
3797 7 jsauermann
;;;                             { 14 Expr * r
3798
;;;                               { 15 Expression (variable name)
3799
;;;                                 expr_type = "identifier" (current_task)
3800 2 jsauermann
;--     load_rr_var current_task, (16 bit)
3801
        MOVE    (Ccurrent_task), RR
3802 7 jsauermann
;;;                               } 15 Expression (variable name)
3803
;;;                             } 14 Expr * r
3804 2 jsauermann
;--     + (member)
3805
        ADD     RR, #0x0012
3806
;--     move_rr_to_ll
3807
        MOVE    RR, LL
3808
;--     pop_rr (16 bit)
3809
        MOVE    (SP)+, RR
3810
;--     assign (16 bit)
3811
        MOVE    RR, (LL)
3812 7 jsauermann
;;;                           } 13 Expr l = r
3813
;;;                         } 12 ExpressionStatement
3814
;;;                         { 12 ExpressionStatement
3815
;;;                           { 13 Expr l = r
3816
;;;                             { 14 TypeName
3817
;;;                               { 15 TypeSpecifier (all)
3818
;;;                                 spec = char (20000)
3819
;;;                               } 15 TypeSpecifier (all)
3820
;;;                               { 15 List
3821
;;;                                 { 16 DeclItem
3822
;;;                                   what = DECL_NAME
3823
;;;                                   name = status
3824
;;;                                 } 16 DeclItem
3825
;;;                               } 15 List
3826
;;;                             } 14 TypeName
3827
;;;                             { 14 NumericExpression (constant 2 = 0x2)
3828 2 jsauermann
;--     load_rr_constant
3829
        MOVE    #0x0002, RR
3830 7 jsauermann
;;;                             } 14 NumericExpression (constant 2 = 0x2)
3831 2 jsauermann
;--     push_rr (8 bit)
3832
        MOVE    R, -(SP)
3833 7 jsauermann
;;;                             { 14 Expr * r
3834
;;;                               { 15 Expression (variable name)
3835
;;;                                 expr_type = "identifier" (current_task)
3836 2 jsauermann
;--     load_rr_var current_task, (16 bit)
3837
        MOVE    (Ccurrent_task), RR
3838 7 jsauermann
;;;                               } 15 Expression (variable name)
3839
;;;                             } 14 Expr * r
3840 2 jsauermann
;--     + (member)
3841
        ADD     RR, #0x0004
3842
;--     move_rr_to_ll
3843
        MOVE    RR, LL
3844
;--     pop_rr (8 bit)
3845
        MOVE    (SP)+, RS
3846
;--     assign (8 bit)
3847
        MOVE    R, (LL)
3848 7 jsauermann
;;;                           } 13 Expr l = r
3849
;;;                         } 12 ExpressionStatement
3850
;;;                         { 12 ExpressionStatement
3851
;;;                           { 13 Expr l(r)
3852
;;;                             { 14 TypeName
3853
;;;                               { 15 TypeSpecifier (all)
3854
;;;                                 spec = void (10000)
3855
;;;                               } 15 TypeSpecifier (all)
3856
;;;                               { 15 List
3857
;;;                                 { 16 DeclItem
3858
;;;                                   what = DECL_NAME
3859
;;;                                   name = switch_tasks
3860
;;;                                 } 16 DeclItem
3861
;;;                               } 15 List
3862
;;;                             } 14 TypeName
3863 2 jsauermann
;--     push 0 bytes
3864
;--     call
3865
        CALL    Cswitch_tasks
3866
;--     pop 0 bytes
3867 7 jsauermann
;;;                           } 13 Expr l(r)
3868
;;;                         } 12 ExpressionStatement
3869
;;;                         { 12 ExpressionStatement
3870 2 jsauermann
        RETI
3871 7 jsauermann
;;;                         } 12 ExpressionStatement
3872
;;;                       } 11 List
3873
;--     pop 0 bytes
3874
;;;                     } 10 CompoundStatement
3875 2 jsauermann
;--     ret
3876
        RET
3877
;;; ------------------------------------;
3878 7 jsauermann
;;;                     { 10 FunctionDefinition
3879
;;;                       { 11 TypeName
3880
;;;                         { 12 TypeSpecifier (all)
3881
;;;                           spec = void (10000)
3882
;;;                         } 12 TypeSpecifier (all)
3883
;;;                         { 12 List
3884
;;;                           { 13 DeclItem
3885
;;;                             what = DECL_NAME
3886
;;;                             name = deschedule
3887
;;;                           } 13 DeclItem
3888
;;;                         } 12 List
3889
;;;                       } 11 TypeName
3890
;;;                       { 11 List
3891
;;;                         { 12 DeclItem
3892
;;;                           what = DECL_NAME
3893
;;;                           name = deschedule
3894
;;;                         } 12 DeclItem
3895
;;;                         { 12 DeclItem
3896
;;;                           what = DECL_FUN
3897
;;;                         } 12 DeclItem
3898
;;;                       } 11 List
3899 2 jsauermann
Cdeschedule:
3900 7 jsauermann
;;;                       { 11 CompoundStatement
3901
;;;                         { 12 List
3902
;;;                           { 13 ExpressionStatement
3903 2 jsauermann
        DI
3904 7 jsauermann
;;;                           } 13 ExpressionStatement
3905
;;;                           { 13 ExpressionStatement
3906
;;;                             { 14 Expr l(r)
3907
;;;                               { 15 TypeName
3908
;;;                                 { 16 TypeSpecifier (all)
3909
;;;                                   spec = void (10000)
3910
;;;                                 } 16 TypeSpecifier (all)
3911
;;;                                 { 16 List
3912
;;;                                   { 17 DeclItem
3913
;;;                                     what = DECL_NAME
3914
;;;                                     name = switch_tasks
3915
;;;                                   } 17 DeclItem
3916
;;;                                 } 16 List
3917
;;;                               } 15 TypeName
3918 2 jsauermann
;--     push 0 bytes
3919
;--     call
3920
        CALL    Cswitch_tasks
3921
;--     pop 0 bytes
3922 7 jsauermann
;;;                             } 14 Expr l(r)
3923
;;;                           } 13 ExpressionStatement
3924
;;;                           { 13 ExpressionStatement
3925 2 jsauermann
        RETI
3926 7 jsauermann
;;;                           } 13 ExpressionStatement
3927
;;;                         } 12 List
3928
;--     pop 0 bytes
3929
;;;                       } 11 CompoundStatement
3930 2 jsauermann
;--     ret
3931
        RET
3932
;;; ------------------------------------;
3933 7 jsauermann
;;;                       { 11 FunctionDefinition
3934
;;;                         { 12 TypeName
3935
;;;                           { 13 TypeSpecifier (all)
3936
;;;                             spec = int (80000)
3937
;;;                           } 13 TypeSpecifier (all)
3938
;;;                           { 13 List
3939
;;;                             { 14 DeclItem
3940
;;;                               what = DECL_NAME
3941
;;;                               name = strlen
3942
;;;                             } 14 DeclItem
3943
;;;                           } 13 List
3944
;;;                         } 12 TypeName
3945
;;;                         { 12 List
3946
;;;                           { 13 DeclItem
3947
;;;                             what = DECL_NAME
3948
;;;                             name = strlen
3949
;;;                           } 13 DeclItem
3950
;;;                           { 13 DeclItem
3951
;;;                             what = DECL_FUN
3952
;;;                             { 14 List
3953
;;;                               { 15 ParameterDeclaration
3954
;;;                                 isEllipsis = false
3955
;;;                                 { 16 TypeName
3956
;;;                                   { 17 TypeSpecifier (all)
3957
;;;                                     spec = const char (20100)
3958
;;;                                   } 17 TypeSpecifier (all)
3959
;;;                                   { 17 List
3960
;;;                                     { 18 DeclItem
3961
;;;                                       what = DECL_POINTER
3962
;;;                                       { 19 List
3963
;;;                                         { 20 Ptr
3964
;;;                                         } 20 Ptr
3965
;;;                                       } 19 List
3966
;;;                                     } 18 DeclItem
3967
;;;                                     { 18 DeclItem
3968
;;;                                       what = DECL_NAME
3969
;;;                                       name = buffer
3970
;;;                                     } 18 DeclItem
3971
;;;                                   } 17 List
3972
;;;                                 } 16 TypeName
3973
;;;                               } 15 ParameterDeclaration
3974
;;;                             } 14 List
3975
;;;                           } 13 DeclItem
3976
;;;                         } 12 List
3977 2 jsauermann
Cstrlen:
3978 7 jsauermann
;;;                         { 12 CompoundStatement
3979
;;;                           { 13 InitDeclarator
3980
;;;                             { 14 List
3981
;;;                               { 15 DeclItem
3982
;;;                                 what = DECL_POINTER
3983
;;;                                 { 16 List
3984
;;;                                   { 17 Ptr
3985
;;;                                   } 17 Ptr
3986
;;;                                 } 16 List
3987
;;;                               } 15 DeclItem
3988
;;;                               { 15 DeclItem
3989
;;;                                 what = DECL_NAME
3990
;;;                                 name = from
3991
;;;                               } 15 DeclItem
3992
;;;                             } 14 List
3993
;;;                             { 14 Initializer (skalar)
3994
;;;                               { 15 Expression (variable name)
3995
;;;                                 expr_type = "identifier" (buffer)
3996 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at 0 (16 bit)
3997
        MOVE    2(SP), RR
3998 7 jsauermann
;;;                               } 15 Expression (variable name)
3999 2 jsauermann
;--     push_rr (16 bit)
4000
        MOVE    RR, -(SP)
4001 7 jsauermann
;;;                             } 14 Initializer (skalar)
4002
;;;                           } 13 InitDeclarator
4003
;;;                           { 13 List
4004
;;;                             { 14 while Statement
4005 2 jsauermann
;--     branch
4006
        JMP     L13_cont_30
4007
L13_loop_30:
4008 7 jsauermann
;;;                               { 15 ExpressionStatement
4009
;;;                                 { 16 Expr l - r
4010
;;;                                   { 17 Expr ++r
4011
;;;                                     { 18 Expression (variable name)
4012
;;;                                       expr_type = "identifier" (buffer)
4013 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at -2 (16 bit)
4014
        MOVE    4(SP), RR
4015 7 jsauermann
;;;                                     } 18 Expression (variable name)
4016 2 jsauermann
;--     ++
4017
        ADD     RR, #0x0001
4018
;--     store_rr_var buffer = 2(FP), SP at -2
4019
        MOVE    RR, 4(SP)
4020 7 jsauermann
;;;                                   } 17 Expr ++r
4021 2 jsauermann
;--     l - r
4022
        SUB     RR, #0x0001
4023 7 jsauermann
;;;                                 } 16 Expr l - r
4024
;;;                               } 15 ExpressionStatement
4025 2 jsauermann
L13_cont_30:
4026 7 jsauermann
;;;                               { 15 Expr * r
4027
;;;                                 { 16 Expression (variable name)
4028
;;;                                   expr_type = "identifier" (buffer)
4029 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at -2 (16 bit)
4030
        MOVE    4(SP), RR
4031 7 jsauermann
;;;                                 } 16 Expression (variable name)
4032 2 jsauermann
;--     content
4033
        MOVE    (RR), RS
4034 7 jsauermann
;;;                               } 15 Expr * r
4035 2 jsauermann
;--     branch_true
4036
        JMP     RRNZ, L13_loop_30
4037
L13_brk_31:
4038 7 jsauermann
;;;                             } 14 while Statement
4039
;;;                             { 14 return Statement
4040
;;;                               { 15 Expr l - r
4041
;;;                                 { 16 Expression (variable name)
4042
;;;                                   expr_type = "identifier" (buffer)
4043 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at -2 (16 bit)
4044
        MOVE    4(SP), RR
4045 7 jsauermann
;;;                                 } 16 Expression (variable name)
4046 2 jsauermann
;--     move_rr_to_ll
4047
        MOVE    RR, LL
4048 7 jsauermann
;;;                                 { 16 Expression (variable name)
4049
;;;                                   expr_type = "identifier" (from)
4050 2 jsauermann
;--     load_rr_var from = -2(FP), SP at -2 (16 bit)
4051
        MOVE    0(SP), RR
4052 7 jsauermann
;;;                                 } 16 Expression (variable name)
4053 2 jsauermann
;--     scale_rr *1
4054
;--     l - r
4055
        SUB     LL, RR
4056
;--     scale *1
4057 7 jsauermann
;;;                               } 15 Expr l - r
4058 2 jsauermann
;--     ret
4059 7 jsauermann
        ADD     SP, #2
4060
        RET
4061
;;;                             } 14 return Statement
4062
;;;                           } 13 List
4063 2 jsauermann
;--     pop 2 bytes
4064
        ADD     SP, #2
4065 7 jsauermann
;;;                         } 12 CompoundStatement
4066
;--     ret
4067 2 jsauermann
        RET
4068
;;; ------------------------------------;
4069 7 jsauermann
;;;                         { 12 FunctionDefinition
4070
;;;                           { 13 TypeName
4071
;;;                             { 14 TypeSpecifier (all)
4072
;;;                               spec = int (80000)
4073
;;;                             } 14 TypeSpecifier (all)
4074
;;;                             { 14 List
4075
;;;                               { 15 DeclItem
4076
;;;                                 what = DECL_NAME
4077
;;;                                 name = putchr
4078
;;;                               } 15 DeclItem
4079
;;;                             } 14 List
4080
;;;                           } 13 TypeName
4081
;;;                           { 13 List
4082
;;;                             { 14 DeclItem
4083
;;;                               what = DECL_NAME
4084
;;;                               name = putchr
4085
;;;                             } 14 DeclItem
4086
;;;                             { 14 DeclItem
4087
;;;                               what = DECL_FUN
4088
;;;                               { 15 List
4089
;;;                                 { 16 ParameterDeclaration
4090
;;;                                   isEllipsis = false
4091
;;;                                   { 17 TypeName
4092
;;;                                     { 18 TypeSpecifier (all)
4093
;;;                                       spec = char (20000)
4094
;;;                                     } 18 TypeSpecifier (all)
4095
;;;                                     { 18 List
4096
;;;                                       { 19 DeclItem
4097
;;;                                         what = DECL_NAME
4098
;;;                                         name = c
4099
;;;                                       } 19 DeclItem
4100
;;;                                     } 18 List
4101
;;;                                   } 17 TypeName
4102
;;;                                 } 16 ParameterDeclaration
4103
;;;                               } 15 List
4104
;;;                             } 14 DeclItem
4105
;;;                           } 13 List
4106 2 jsauermann
Cputchr:
4107 7 jsauermann
;;;                           { 13 CompoundStatement
4108
;;;                             { 14 List
4109
;;;                               { 15 ExpressionStatement
4110
;;;                                 { 16 Expr l(r)
4111
;;;                                   { 17 TypeName
4112
;;;                                     { 18 TypeSpecifier (all)
4113
;;;                                       spec = void (10000)
4114
;;;                                     } 18 TypeSpecifier (all)
4115
;;;                                     { 18 List
4116
;;;                                       { 19 DeclItem
4117
;;;                                         what = DECL_NAME
4118
;;;                                         name = P
4119
;;;                                       } 19 DeclItem
4120
;;;                                     } 18 List
4121
;;;                                   } 17 TypeName
4122
;;;                                   { 17 ParameterDeclaration
4123
;;;                                     isEllipsis = false
4124
;;;                                     { 18 TypeName
4125
;;;                                       { 19 TypeSpecifier (struct/union)
4126
;;;                                         spec = struct '_semaphore' (800000)
4127
;;;                                         name = _semaphore
4128
;;;                                       } 19 TypeSpecifier (struct/union)
4129
;;;                                       { 19 List
4130
;;;                                         { 20 DeclItem
4131
;;;                                           what = DECL_POINTER
4132
;;;                                           { 21 List
4133
;;;                                             { 22 Ptr
4134
;;;                                             } 22 Ptr
4135
;;;                                           } 21 List
4136
;;;                                         } 20 DeclItem
4137
;;;                                         { 20 DeclItem
4138
;;;                                           what = DECL_NAME
4139
;;;                                           name = sema
4140
;;;                                         } 20 DeclItem
4141
;;;                                       } 19 List
4142
;;;                                     } 18 TypeName
4143
;;;                                   } 17 ParameterDeclaration
4144
;;;                                   { 17 Expr & r
4145 2 jsauermann
;--     load_address tx_sema
4146
        MOVE    #Ctx_sema, RR
4147 7 jsauermann
;;;                                   } 17 Expr & r
4148 2 jsauermann
;--     push_rr (16 bit)
4149
        MOVE    RR, -(SP)
4150
;--     push 0 bytes
4151
;--     call
4152
        CALL    CP
4153
;--     pop 2 bytes
4154
        ADD     SP, #2
4155 7 jsauermann
;;;                                 } 16 Expr l(r)
4156
;;;                               } 15 ExpressionStatement
4157
;;;                               { 15 ExpressionStatement
4158
;;;                                 { 16 Expr l = r
4159
;;;                                   { 17 TypeName
4160
;;;                                     { 18 TypeSpecifier (all)
4161
;;;                                       spec = unsigned char (22000)
4162
;;;                                     } 18 TypeSpecifier (all)
4163
;;;                                     { 18 List
4164
;;;                                       { 19 DeclItem
4165
;;;                                         what = DECL_NAME
4166
;;;                                         name = serial_out_buffer
4167
;;;                                       } 19 DeclItem
4168
;;;                                     } 18 List
4169
;;;                                   } 17 TypeName
4170
;;;                                   { 17 Expression (variable name)
4171
;;;                                     expr_type = "identifier" (c)
4172 2 jsauermann
;--     load_rr_var c = 2(FP), SP at 0 (8 bit)
4173
        MOVE    2(SP), RS
4174 7 jsauermann
;;;                                   } 17 Expression (variable name)
4175 2 jsauermann
;--     push_rr (8 bit)
4176
        MOVE    R, -(SP)
4177 7 jsauermann
;;;                                   { 17 Expr l[r]
4178
;;;                                     { 18 Expression (variable name)
4179
;;;                                       expr_type = "identifier" (serial_out_put)
4180 2 jsauermann
;--     load_rr_var serial_out_put, (8 bit)
4181
        MOVE    (Cserial_out_put), RU
4182 7 jsauermann
;;;                                     } 18 Expression (variable name)
4183 2 jsauermann
;--     scale_rr *1
4184
;--     add_address serial_out_buffer
4185
        ADD     RR, #Cserial_out_buffer
4186 7 jsauermann
;;;                                   } 17 Expr l[r]
4187 2 jsauermann
;--     move_rr_to_ll
4188
        MOVE    RR, LL
4189
;--     pop_rr (8 bit)
4190
        MOVE    (SP)+, RU
4191
;--     assign (8 bit)
4192
        MOVE    R, (LL)
4193 7 jsauermann
;;;                                 } 16 Expr l = r
4194
;;;                               } 15 ExpressionStatement
4195
;;;                               { 15 IfElseStatement
4196
;;;                                 { 16 Expr l >= r
4197
;;;                                   { 17 TypeName (internal)
4198
;;;                                     { 18 TypeSpecifier (all)
4199
;;;                                       spec = unsigned int (82000)
4200
;;;                                     } 18 TypeSpecifier (all)
4201
;;;                                   } 17 TypeName (internal)
4202
;;;                                   { 17 Expr ++r
4203
;;;                                     { 18 Expression (variable name)
4204
;;;                                       expr_type = "identifier" (serial_out_put)
4205 2 jsauermann
;--     load_rr_var serial_out_put, (8 bit)
4206
        MOVE    (Cserial_out_put), RU
4207 7 jsauermann
;;;                                     } 18 Expression (variable name)
4208 2 jsauermann
;--     ++
4209
        ADD     RR, #0x0001
4210
;--     store_rr_var serial_out_put
4211
        MOVE    R, (Cserial_out_put)
4212 7 jsauermann
;;;                                   } 17 Expr ++r
4213 2 jsauermann
;--     l >= r
4214
        SHS     RR, #0x0010
4215 7 jsauermann
;;;                                 } 16 Expr l >= r
4216 2 jsauermann
;--     branch_false
4217
        JMP     RRZ, L14_endif_32
4218 7 jsauermann
;;;                                 { 16 ExpressionStatement
4219
;;;                                   { 17 Expr l = r
4220
;;;                                     { 18 TypeName
4221
;;;                                       { 19 TypeSpecifier (all)
4222
;;;                                         spec = unsigned char (22000)
4223
;;;                                       } 19 TypeSpecifier (all)
4224
;;;                                       { 19 List
4225
;;;                                         { 20 DeclItem
4226
;;;                                           what = DECL_NAME
4227
;;;                                           name = serial_out_put
4228
;;;                                         } 20 DeclItem
4229
;;;                                       } 19 List
4230
;;;                                     } 18 TypeName
4231
;;;                                     { 18 NumericExpression (constant 0 = 0x0)
4232 2 jsauermann
;--     load_rr_constant
4233
        MOVE    #0x0000, RR
4234 7 jsauermann
;;;                                     } 18 NumericExpression (constant 0 = 0x0)
4235 2 jsauermann
;--     store_rr_var serial_out_put
4236
        MOVE    R, (Cserial_out_put)
4237 7 jsauermann
;;;                                   } 17 Expr l = r
4238
;;;                                 } 16 ExpressionStatement
4239 2 jsauermann
L14_endif_32:
4240 7 jsauermann
;;;                               } 15 IfElseStatement
4241
;;;                               { 15 ExpressionStatement
4242 2 jsauermann
        MOVE #0x07, RR
4243 7 jsauermann
;;;                               } 15 ExpressionStatement
4244
;;;                               { 15 ExpressionStatement
4245 2 jsauermann
        OUT  R, (OUT_INT_MASK)
4246 7 jsauermann
;;;                               } 15 ExpressionStatement
4247
;;;                               { 15 ExpressionStatement
4248
;;;                                 { 16 NumericExpression (constant 1 = 0x1)
4249 2 jsauermann
;--     load_rr_constant
4250
        MOVE    #0x0001, RR
4251 7 jsauermann
;;;                                 } 16 NumericExpression (constant 1 = 0x1)
4252
;;;                               } 15 ExpressionStatement
4253
;;;                             } 14 List
4254
;--     pop 0 bytes
4255
;;;                           } 13 CompoundStatement
4256 2 jsauermann
;--     ret
4257
        RET
4258
;;; ------------------------------------;
4259 7 jsauermann
;;;                           { 13 FunctionDefinition
4260
;;;                             { 14 TypeName
4261
;;;                               { 15 TypeSpecifier (all)
4262
;;;                                 spec = void (10000)
4263
;;;                               } 15 TypeSpecifier (all)
4264
;;;                               { 15 List
4265
;;;                                 { 16 DeclItem
4266
;;;                                   what = DECL_NAME
4267
;;;                                   name = print_n
4268
;;;                                 } 16 DeclItem
4269
;;;                               } 15 List
4270
;;;                             } 14 TypeName
4271
;;;                             { 14 List
4272
;;;                               { 15 DeclItem
4273
;;;                                 what = DECL_NAME
4274
;;;                                 name = print_n
4275
;;;                               } 15 DeclItem
4276
;;;                               { 15 DeclItem
4277
;;;                                 what = DECL_FUN
4278
;;;                                 { 16 List
4279
;;;                                   { 17 ParameterDeclaration
4280
;;;                                     isEllipsis = false
4281
;;;                                     { 18 TypeName
4282
;;;                                       { 19 TypeSpecifier (all)
4283
;;;                                         spec = char (20000)
4284
;;;                                       } 19 TypeSpecifier (all)
4285
;;;                                       { 19 List
4286
;;;                                         { 20 DeclItem
4287
;;;                                           what = DECL_NAME
4288
;;;                                           name = c
4289
;;;                                         } 20 DeclItem
4290
;;;                                       } 19 List
4291
;;;                                     } 18 TypeName
4292
;;;                                   } 17 ParameterDeclaration
4293
;;;                                   { 17 ParameterDeclaration
4294
;;;                                     isEllipsis = false
4295
;;;                                     { 18 TypeName
4296
;;;                                       { 19 TypeSpecifier (all)
4297
;;;                                         spec = int (80000)
4298
;;;                                       } 19 TypeSpecifier (all)
4299
;;;                                       { 19 List
4300
;;;                                         { 20 DeclItem
4301
;;;                                           what = DECL_NAME
4302
;;;                                           name = count
4303
;;;                                         } 20 DeclItem
4304
;;;                                       } 19 List
4305
;;;                                     } 18 TypeName
4306
;;;                                   } 17 ParameterDeclaration
4307
;;;                                 } 16 List
4308
;;;                               } 15 DeclItem
4309
;;;                             } 14 List
4310 2 jsauermann
Cprint_n:
4311 7 jsauermann
;;;                             { 14 CompoundStatement
4312
;;;                               { 15 List
4313
;;;                                 { 16 for Statement
4314
;;;                                   { 17 ExpressionStatement
4315
;;;                                   } 17 ExpressionStatement
4316 2 jsauermann
;--     branch
4317
        JMP     L15_tst_33
4318
L15_loop_33:
4319 7 jsauermann
;;;                                   { 17 ExpressionStatement
4320
;;;                                     { 18 Expr l(r)
4321
;;;                                       { 19 TypeName
4322
;;;                                         { 20 TypeSpecifier (all)
4323
;;;                                           spec = int (80000)
4324
;;;                                         } 20 TypeSpecifier (all)
4325
;;;                                         { 20 List
4326
;;;                                           { 21 DeclItem
4327
;;;                                             what = DECL_NAME
4328
;;;                                             name = putchr
4329
;;;                                           } 21 DeclItem
4330
;;;                                         } 20 List
4331
;;;                                       } 19 TypeName
4332
;;;                                       { 19 ParameterDeclaration
4333
;;;                                         isEllipsis = false
4334
;;;                                         { 20 TypeName
4335
;;;                                           { 21 TypeSpecifier (all)
4336
;;;                                             spec = char (20000)
4337
;;;                                           } 21 TypeSpecifier (all)
4338
;;;                                           { 21 List
4339
;;;                                             { 22 DeclItem
4340
;;;                                               what = DECL_NAME
4341
;;;                                               name = c
4342
;;;                                             } 22 DeclItem
4343
;;;                                           } 21 List
4344
;;;                                         } 20 TypeName
4345
;;;                                       } 19 ParameterDeclaration
4346
;;;                                       { 19 Expression (variable name)
4347
;;;                                         expr_type = "identifier" (c)
4348 2 jsauermann
;--     load_rr_var c = 2(FP), SP at 0 (8 bit)
4349
        MOVE    2(SP), RS
4350 7 jsauermann
;;;                                       } 19 Expression (variable name)
4351 2 jsauermann
;--     push_rr (8 bit)
4352
        MOVE    R, -(SP)
4353
;--     push 2 bytes
4354
;--     call
4355
        CALL    Cputchr
4356
;--     pop 1 bytes
4357
        ADD     SP, #1
4358 7 jsauermann
;;;                                     } 18 Expr l(r)
4359
;;;                                   } 17 ExpressionStatement
4360 2 jsauermann
L15_cont_33:
4361 7 jsauermann
;;;                                   { 17 Expr --r
4362
;;;                                     { 18 Expression (variable name)
4363
;;;                                       expr_type = "identifier" (count)
4364 2 jsauermann
;--     load_rr_var count = 3(FP), SP at 0 (16 bit)
4365
        MOVE    3(SP), RR
4366 7 jsauermann
;;;                                     } 18 Expression (variable name)
4367 2 jsauermann
;--     --
4368
        SUB     RR, #0x0001
4369
;--     store_rr_var count = 3(FP), SP at 0
4370
        MOVE    RR, 3(SP)
4371 7 jsauermann
;;;                                   } 17 Expr --r
4372 2 jsauermann
L15_tst_33:
4373 7 jsauermann
;;;                                   { 17 Expr l > r
4374
;;;                                     { 18 TypeName (internal)
4375
;;;                                       { 19 TypeSpecifier (all)
4376
;;;                                         spec = int (80000)
4377
;;;                                       } 19 TypeSpecifier (all)
4378
;;;                                     } 18 TypeName (internal)
4379
;;;                                     { 18 Expression (variable name)
4380
;;;                                       expr_type = "identifier" (count)
4381 2 jsauermann
;--     load_rr_var count = 3(FP), SP at 0 (16 bit)
4382
        MOVE    3(SP), RR
4383 7 jsauermann
;;;                                     } 18 Expression (variable name)
4384 2 jsauermann
;--     l > r
4385
        SGT     RR, #0x0000
4386 7 jsauermann
;;;                                   } 17 Expr l > r
4387 2 jsauermann
;--     branch_true
4388
        JMP     RRNZ, L15_loop_33
4389
L15_brk_34:
4390 7 jsauermann
;;;                                 } 16 for Statement
4391
;;;                               } 15 List
4392
;--     pop 0 bytes
4393
;;;                             } 14 CompoundStatement
4394 2 jsauermann
;--     ret
4395
        RET
4396
;;; ------------------------------------;
4397 7 jsauermann
;;;                             { 14 FunctionDefinition
4398
;;;                               { 15 TypeName
4399
;;;                                 { 16 TypeSpecifier (all)
4400
;;;                                   spec = void (10000)
4401
;;;                                 } 16 TypeSpecifier (all)
4402
;;;                                 { 16 List
4403
;;;                                   { 17 DeclItem
4404
;;;                                     what = DECL_NAME
4405
;;;                                     name = print_string
4406
;;;                                   } 17 DeclItem
4407
;;;                                 } 16 List
4408
;;;                               } 15 TypeName
4409
;;;                               { 15 List
4410
;;;                                 { 16 DeclItem
4411
;;;                                   what = DECL_NAME
4412
;;;                                   name = print_string
4413
;;;                                 } 16 DeclItem
4414
;;;                                 { 16 DeclItem
4415
;;;                                   what = DECL_FUN
4416
;;;                                   { 17 List
4417
;;;                                     { 18 ParameterDeclaration
4418
;;;                                       isEllipsis = false
4419
;;;                                       { 19 TypeName
4420
;;;                                         { 20 TypeSpecifier (all)
4421
;;;                                           spec = const char (20100)
4422
;;;                                         } 20 TypeSpecifier (all)
4423
;;;                                         { 20 List
4424
;;;                                           { 21 DeclItem
4425
;;;                                             what = DECL_POINTER
4426
;;;                                             { 22 List
4427
;;;                                               { 23 Ptr
4428
;;;                                               } 23 Ptr
4429
;;;                                             } 22 List
4430
;;;                                           } 21 DeclItem
4431
;;;                                           { 21 DeclItem
4432
;;;                                             what = DECL_NAME
4433
;;;                                             name = buffer
4434
;;;                                           } 21 DeclItem
4435
;;;                                         } 20 List
4436
;;;                                       } 19 TypeName
4437
;;;                                     } 18 ParameterDeclaration
4438
;;;                                   } 17 List
4439
;;;                                 } 16 DeclItem
4440
;;;                               } 15 List
4441 2 jsauermann
Cprint_string:
4442 7 jsauermann
;;;                               { 15 CompoundStatement
4443
;;;                                 { 16 List
4444
;;;                                   { 17 while Statement
4445 2 jsauermann
;--     branch
4446
        JMP     L16_cont_35
4447
L16_loop_35:
4448 7 jsauermann
;;;                                     { 18 ExpressionStatement
4449
;;;                                       { 19 Expr l(r)
4450
;;;                                         { 20 TypeName
4451
;;;                                           { 21 TypeSpecifier (all)
4452
;;;                                             spec = int (80000)
4453
;;;                                           } 21 TypeSpecifier (all)
4454
;;;                                           { 21 List
4455
;;;                                             { 22 DeclItem
4456
;;;                                               what = DECL_NAME
4457
;;;                                               name = putchr
4458
;;;                                             } 22 DeclItem
4459
;;;                                           } 21 List
4460
;;;                                         } 20 TypeName
4461
;;;                                         { 20 ParameterDeclaration
4462
;;;                                           isEllipsis = false
4463
;;;                                           { 21 TypeName
4464
;;;                                             { 22 TypeSpecifier (all)
4465
;;;                                               spec = char (20000)
4466
;;;                                             } 22 TypeSpecifier (all)
4467
;;;                                             { 22 List
4468
;;;                                               { 23 DeclItem
4469
;;;                                                 what = DECL_NAME
4470
;;;                                                 name = c
4471
;;;                                               } 23 DeclItem
4472
;;;                                             } 22 List
4473
;;;                                           } 21 TypeName
4474
;;;                                         } 20 ParameterDeclaration
4475
;;;                                         { 20 Expr * r
4476
;;;                                           { 21 Expr l - r
4477
;;;                                             { 22 Expr ++r
4478
;;;                                               { 23 Expression (variable name)
4479
;;;                                                 expr_type = "identifier" (buffer)
4480 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at 0 (16 bit)
4481
        MOVE    2(SP), RR
4482 7 jsauermann
;;;                                               } 23 Expression (variable name)
4483 2 jsauermann
;--     ++
4484
        ADD     RR, #0x0001
4485
;--     store_rr_var buffer = 2(FP), SP at 0
4486
        MOVE    RR, 2(SP)
4487 7 jsauermann
;;;                                             } 22 Expr ++r
4488 2 jsauermann
;--     l - r
4489
        SUB     RR, #0x0001
4490 7 jsauermann
;;;                                           } 21 Expr l - r
4491 2 jsauermann
;--     content
4492
        MOVE    (RR), RS
4493 7 jsauermann
;;;                                         } 20 Expr * r
4494 2 jsauermann
;--     push_rr (8 bit)
4495
        MOVE    R, -(SP)
4496
;--     push 2 bytes
4497
;--     call
4498
        CALL    Cputchr
4499
;--     pop 1 bytes
4500
        ADD     SP, #1
4501 7 jsauermann
;;;                                       } 19 Expr l(r)
4502
;;;                                     } 18 ExpressionStatement
4503 2 jsauermann
L16_cont_35:
4504 7 jsauermann
;;;                                     { 18 Expr * r
4505
;;;                                       { 19 Expression (variable name)
4506
;;;                                         expr_type = "identifier" (buffer)
4507 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at 0 (16 bit)
4508
        MOVE    2(SP), RR
4509 7 jsauermann
;;;                                       } 19 Expression (variable name)
4510 2 jsauermann
;--     content
4511
        MOVE    (RR), RS
4512 7 jsauermann
;;;                                     } 18 Expr * r
4513 2 jsauermann
;--     branch_true
4514
        JMP     RRNZ, L16_loop_35
4515
L16_brk_36:
4516 7 jsauermann
;;;                                   } 17 while Statement
4517
;;;                                 } 16 List
4518
;--     pop 0 bytes
4519
;;;                               } 15 CompoundStatement
4520 2 jsauermann
;--     ret
4521
        RET
4522
;;; ------------------------------------;
4523 7 jsauermann
;;;                               { 15 FunctionDefinition
4524
;;;                                 { 16 TypeName
4525
;;;                                   { 17 TypeSpecifier (all)
4526
;;;                                     spec = void (10000)
4527
;;;                                   } 17 TypeSpecifier (all)
4528
;;;                                   { 17 List
4529
;;;                                     { 18 DeclItem
4530
;;;                                       what = DECL_NAME
4531
;;;                                       name = print_hex
4532
;;;                                     } 18 DeclItem
4533
;;;                                   } 17 List
4534
;;;                                 } 16 TypeName
4535
;;;                                 { 16 List
4536
;;;                                   { 17 DeclItem
4537
;;;                                     what = DECL_NAME
4538
;;;                                     name = print_hex
4539
;;;                                   } 17 DeclItem
4540
;;;                                   { 17 DeclItem
4541
;;;                                     what = DECL_FUN
4542
;;;                                     { 18 List
4543
;;;                                       { 19 ParameterDeclaration
4544
;;;                                         isEllipsis = false
4545
;;;                                         { 20 TypeName
4546
;;;                                           { 21 TypeSpecifier (all)
4547
;;;                                             spec = char (20000)
4548
;;;                                           } 21 TypeSpecifier (all)
4549
;;;                                           { 21 List
4550
;;;                                             { 22 DeclItem
4551
;;;                                               what = DECL_POINTER
4552
;;;                                               { 23 List
4553
;;;                                                 { 24 Ptr
4554
;;;                                                 } 24 Ptr
4555
;;;                                               } 23 List
4556
;;;                                             } 22 DeclItem
4557
;;;                                             { 22 DeclItem
4558
;;;                                               what = DECL_NAME
4559
;;;                                               name = dest
4560
;;;                                             } 22 DeclItem
4561
;;;                                           } 21 List
4562
;;;                                         } 20 TypeName
4563
;;;                                       } 19 ParameterDeclaration
4564
;;;                                       { 19 ParameterDeclaration
4565
;;;                                         isEllipsis = false
4566
;;;                                         { 20 TypeName
4567
;;;                                           { 21 TypeSpecifier (all)
4568
;;;                                             spec = unsigned int (82000)
4569
;;;                                           } 21 TypeSpecifier (all)
4570
;;;                                           { 21 List
4571
;;;                                             { 22 DeclItem
4572
;;;                                               what = DECL_NAME
4573
;;;                                               name = value
4574
;;;                                             } 22 DeclItem
4575
;;;                                           } 21 List
4576
;;;                                         } 20 TypeName
4577
;;;                                       } 19 ParameterDeclaration
4578
;;;                                       { 19 ParameterDeclaration
4579
;;;                                         isEllipsis = false
4580
;;;                                         { 20 TypeName
4581
;;;                                           { 21 TypeSpecifier (all)
4582
;;;                                             spec = const char (20100)
4583
;;;                                           } 21 TypeSpecifier (all)
4584
;;;                                           { 21 List
4585
;;;                                             { 22 DeclItem
4586
;;;                                               what = DECL_POINTER
4587
;;;                                               { 23 List
4588
;;;                                                 { 24 Ptr
4589
;;;                                                 } 24 Ptr
4590
;;;                                               } 23 List
4591
;;;                                             } 22 DeclItem
4592
;;;                                             { 22 DeclItem
4593
;;;                                               what = DECL_NAME
4594
;;;                                               name = hex
4595
;;;                                             } 22 DeclItem
4596
;;;                                           } 21 List
4597
;;;                                         } 20 TypeName
4598
;;;                                       } 19 ParameterDeclaration
4599
;;;                                     } 18 List
4600
;;;                                   } 17 DeclItem
4601
;;;                                 } 16 List
4602 2 jsauermann
Cprint_hex:
4603 7 jsauermann
;;;                                 { 16 CompoundStatement
4604
;;;                                   { 17 List
4605
;;;                                     { 18 IfElseStatement
4606
;;;                                       { 19 Expr l >= r
4607
;;;                                         { 20 TypeName (internal)
4608
;;;                                           { 21 TypeSpecifier (all)
4609
;;;                                             spec = unsigned int (82000)
4610
;;;                                           } 21 TypeSpecifier (all)
4611
;;;                                         } 20 TypeName (internal)
4612
;;;                                         { 20 Expression (variable name)
4613
;;;                                           expr_type = "identifier" (value)
4614 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4615
        MOVE    4(SP), RR
4616 7 jsauermann
;;;                                         } 20 Expression (variable name)
4617 2 jsauermann
;--     l >= r
4618
        SHS     RR, #0x1000
4619 7 jsauermann
;;;                                       } 19 Expr l >= r
4620 2 jsauermann
;--     branch_false
4621
        JMP     RRZ, L17_endif_37
4622 7 jsauermann
;;;                                       { 19 ExpressionStatement
4623
;;;                                         { 20 Expr l = r
4624
;;;                                           { 21 TypeName
4625
;;;                                             { 22 TypeSpecifier (all)
4626
;;;                                               spec = char (20000)
4627
;;;                                             } 22 TypeSpecifier (all)
4628
;;;                                             { 22 List
4629
;;;                                               { 23 DeclItem
4630
;;;                                                 what = DECL_NAME
4631
;;;                                                 name = dest
4632
;;;                                               } 23 DeclItem
4633
;;;                                             } 22 List
4634
;;;                                           } 21 TypeName
4635
;;;                                           { 21 Expr l[r]
4636
;;;                                             { 22 TypeName
4637
;;;                                               { 23 TypeSpecifier (all)
4638
;;;                                                 spec = const char (20100)
4639
;;;                                               } 23 TypeSpecifier (all)
4640
;;;                                               { 23 List
4641
;;;                                                 { 24 DeclItem
4642
;;;                                                   what = DECL_NAME
4643
;;;                                                   name = hex
4644
;;;                                                 } 24 DeclItem
4645
;;;                                               } 23 List
4646
;;;                                             } 22 TypeName
4647
;;;                                             { 22 Expr l[r]
4648
;;;                                               { 23 Expr l & r
4649
;;;                                                 { 24 TypeName (internal)
4650
;;;                                                   { 25 TypeSpecifier (all)
4651
;;;                                                     spec = int (80000)
4652
;;;                                                   } 25 TypeSpecifier (all)
4653
;;;                                                 } 24 TypeName (internal)
4654
;;;                                                 { 24 Expr l >> r
4655
;;;                                                   { 25 TypeName (internal)
4656
;;;                                                     { 26 TypeSpecifier (all)
4657
;;;                                                       spec = int (80000)
4658
;;;                                                     } 26 TypeSpecifier (all)
4659
;;;                                                   } 25 TypeName (internal)
4660
;;;                                                   { 25 Expression (variable name)
4661
;;;                                                     expr_type = "identifier" (value)
4662 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4663
        MOVE    4(SP), RR
4664 7 jsauermann
;;;                                                   } 25 Expression (variable name)
4665 2 jsauermann
;--     l >> r
4666
        ASR     RR, #0x000C
4667 7 jsauermann
;;;                                                 } 24 Expr l >> r
4668 2 jsauermann
;--     l & r
4669
        AND     RR, #0x000F
4670 7 jsauermann
;;;                                               } 23 Expr l & r
4671 2 jsauermann
;--     scale_rr *1
4672
;--     push_rr (16 bit)
4673
        MOVE    RR, -(SP)
4674 7 jsauermann
;;;                                               { 23 Expression (variable name)
4675
;;;                                                 expr_type = "identifier" (hex)
4676 2 jsauermann
;--     load_rr_var hex = 6(FP), SP at -2 (16 bit)
4677
        MOVE    8(SP), RR
4678 7 jsauermann
;;;                                               } 23 Expression (variable name)
4679 2 jsauermann
;--     pop_ll (16 bit)
4680
        MOVE    (SP)+, LL
4681
;--     + (element)
4682
        ADD     LL, RR
4683 7 jsauermann
;;;                                             } 22 Expr l[r]
4684 2 jsauermann
;--     content
4685
        MOVE    (RR), RS
4686 7 jsauermann
;;;                                           } 21 Expr l[r]
4687 2 jsauermann
;--     push_rr (8 bit)
4688
        MOVE    R, -(SP)
4689 7 jsauermann
;;;                                           { 21 Expr * r
4690
;;;                                             { 22 Expr l - r
4691
;;;                                               { 23 Expr ++r
4692
;;;                                                 { 24 Expression (variable name)
4693
;;;                                                   expr_type = "identifier" (dest)
4694 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
4695
        MOVE    3(SP), RR
4696 7 jsauermann
;;;                                                 } 24 Expression (variable name)
4697 2 jsauermann
;--     ++
4698
        ADD     RR, #0x0001
4699
;--     store_rr_var dest = 2(FP), SP at -1
4700
        MOVE    RR, 3(SP)
4701 7 jsauermann
;;;                                               } 23 Expr ++r
4702 2 jsauermann
;--     l - r
4703
        SUB     RR, #0x0001
4704 7 jsauermann
;;;                                             } 22 Expr l - r
4705
;;;                                           } 21 Expr * r
4706 2 jsauermann
;--     move_rr_to_ll
4707
        MOVE    RR, LL
4708
;--     pop_rr (8 bit)
4709
        MOVE    (SP)+, RS
4710
;--     assign (8 bit)
4711
        MOVE    R, (LL)
4712 7 jsauermann
;;;                                         } 20 Expr l = r
4713
;;;                                       } 19 ExpressionStatement
4714 2 jsauermann
L17_endif_37:
4715 7 jsauermann
;;;                                     } 18 IfElseStatement
4716
;;;                                     { 18 IfElseStatement
4717
;;;                                       { 19 Expr l >= r
4718
;;;                                         { 20 TypeName (internal)
4719
;;;                                           { 21 TypeSpecifier (all)
4720
;;;                                             spec = unsigned int (82000)
4721
;;;                                           } 21 TypeSpecifier (all)
4722
;;;                                         } 20 TypeName (internal)
4723
;;;                                         { 20 Expression (variable name)
4724
;;;                                           expr_type = "identifier" (value)
4725 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4726
        MOVE    4(SP), RR
4727 7 jsauermann
;;;                                         } 20 Expression (variable name)
4728 2 jsauermann
;--     l >= r
4729
        SHS     RR, #0x0100
4730 7 jsauermann
;;;                                       } 19 Expr l >= r
4731 2 jsauermann
;--     branch_false
4732
        JMP     RRZ, L17_endif_38
4733 7 jsauermann
;;;                                       { 19 ExpressionStatement
4734
;;;                                         { 20 Expr l = r
4735
;;;                                           { 21 TypeName
4736
;;;                                             { 22 TypeSpecifier (all)
4737
;;;                                               spec = char (20000)
4738
;;;                                             } 22 TypeSpecifier (all)
4739
;;;                                             { 22 List
4740
;;;                                               { 23 DeclItem
4741
;;;                                                 what = DECL_NAME
4742
;;;                                                 name = dest
4743
;;;                                               } 23 DeclItem
4744
;;;                                             } 22 List
4745
;;;                                           } 21 TypeName
4746
;;;                                           { 21 Expr l[r]
4747
;;;                                             { 22 TypeName
4748
;;;                                               { 23 TypeSpecifier (all)
4749
;;;                                                 spec = const char (20100)
4750
;;;                                               } 23 TypeSpecifier (all)
4751
;;;                                               { 23 List
4752
;;;                                                 { 24 DeclItem
4753
;;;                                                   what = DECL_NAME
4754
;;;                                                   name = hex
4755
;;;                                                 } 24 DeclItem
4756
;;;                                               } 23 List
4757
;;;                                             } 22 TypeName
4758
;;;                                             { 22 Expr l[r]
4759
;;;                                               { 23 Expr l & r
4760
;;;                                                 { 24 TypeName (internal)
4761
;;;                                                   { 25 TypeSpecifier (all)
4762
;;;                                                     spec = int (80000)
4763
;;;                                                   } 25 TypeSpecifier (all)
4764
;;;                                                 } 24 TypeName (internal)
4765
;;;                                                 { 24 Expr l >> r
4766
;;;                                                   { 25 TypeName (internal)
4767
;;;                                                     { 26 TypeSpecifier (all)
4768
;;;                                                       spec = int (80000)
4769
;;;                                                     } 26 TypeSpecifier (all)
4770
;;;                                                   } 25 TypeName (internal)
4771
;;;                                                   { 25 Expression (variable name)
4772
;;;                                                     expr_type = "identifier" (value)
4773 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4774
        MOVE    4(SP), RR
4775 7 jsauermann
;;;                                                   } 25 Expression (variable name)
4776 2 jsauermann
;--     l >> r
4777
        ASR     RR, #0x0008
4778 7 jsauermann
;;;                                                 } 24 Expr l >> r
4779 2 jsauermann
;--     l & r
4780
        AND     RR, #0x000F
4781 7 jsauermann
;;;                                               } 23 Expr l & r
4782 2 jsauermann
;--     scale_rr *1
4783
;--     push_rr (16 bit)
4784
        MOVE    RR, -(SP)
4785 7 jsauermann
;;;                                               { 23 Expression (variable name)
4786
;;;                                                 expr_type = "identifier" (hex)
4787 2 jsauermann
;--     load_rr_var hex = 6(FP), SP at -2 (16 bit)
4788
        MOVE    8(SP), RR
4789 7 jsauermann
;;;                                               } 23 Expression (variable name)
4790 2 jsauermann
;--     pop_ll (16 bit)
4791
        MOVE    (SP)+, LL
4792
;--     + (element)
4793
        ADD     LL, RR
4794 7 jsauermann
;;;                                             } 22 Expr l[r]
4795 2 jsauermann
;--     content
4796
        MOVE    (RR), RS
4797 7 jsauermann
;;;                                           } 21 Expr l[r]
4798 2 jsauermann
;--     push_rr (8 bit)
4799
        MOVE    R, -(SP)
4800 7 jsauermann
;;;                                           { 21 Expr * r
4801
;;;                                             { 22 Expr l - r
4802
;;;                                               { 23 Expr ++r
4803
;;;                                                 { 24 Expression (variable name)
4804
;;;                                                   expr_type = "identifier" (dest)
4805 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
4806
        MOVE    3(SP), RR
4807 7 jsauermann
;;;                                                 } 24 Expression (variable name)
4808 2 jsauermann
;--     ++
4809
        ADD     RR, #0x0001
4810
;--     store_rr_var dest = 2(FP), SP at -1
4811
        MOVE    RR, 3(SP)
4812 7 jsauermann
;;;                                               } 23 Expr ++r
4813 2 jsauermann
;--     l - r
4814
        SUB     RR, #0x0001
4815 7 jsauermann
;;;                                             } 22 Expr l - r
4816
;;;                                           } 21 Expr * r
4817 2 jsauermann
;--     move_rr_to_ll
4818
        MOVE    RR, LL
4819
;--     pop_rr (8 bit)
4820
        MOVE    (SP)+, RS
4821
;--     assign (8 bit)
4822
        MOVE    R, (LL)
4823 7 jsauermann
;;;                                         } 20 Expr l = r
4824
;;;                                       } 19 ExpressionStatement
4825 2 jsauermann
L17_endif_38:
4826 7 jsauermann
;;;                                     } 18 IfElseStatement
4827
;;;                                     { 18 IfElseStatement
4828
;;;                                       { 19 Expr l >= r
4829
;;;                                         { 20 TypeName (internal)
4830
;;;                                           { 21 TypeSpecifier (all)
4831
;;;                                             spec = unsigned int (82000)
4832
;;;                                           } 21 TypeSpecifier (all)
4833
;;;                                         } 20 TypeName (internal)
4834
;;;                                         { 20 Expression (variable name)
4835
;;;                                           expr_type = "identifier" (value)
4836 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4837
        MOVE    4(SP), RR
4838 7 jsauermann
;;;                                         } 20 Expression (variable name)
4839 2 jsauermann
;--     l >= r
4840
        SHS     RR, #0x0010
4841 7 jsauermann
;;;                                       } 19 Expr l >= r
4842 2 jsauermann
;--     branch_false
4843
        JMP     RRZ, L17_endif_39
4844 7 jsauermann
;;;                                       { 19 ExpressionStatement
4845
;;;                                         { 20 Expr l = r
4846
;;;                                           { 21 TypeName
4847
;;;                                             { 22 TypeSpecifier (all)
4848
;;;                                               spec = char (20000)
4849
;;;                                             } 22 TypeSpecifier (all)
4850
;;;                                             { 22 List
4851
;;;                                               { 23 DeclItem
4852
;;;                                                 what = DECL_NAME
4853
;;;                                                 name = dest
4854
;;;                                               } 23 DeclItem
4855
;;;                                             } 22 List
4856
;;;                                           } 21 TypeName
4857
;;;                                           { 21 Expr l[r]
4858
;;;                                             { 22 TypeName
4859
;;;                                               { 23 TypeSpecifier (all)
4860
;;;                                                 spec = const char (20100)
4861
;;;                                               } 23 TypeSpecifier (all)
4862
;;;                                               { 23 List
4863
;;;                                                 { 24 DeclItem
4864
;;;                                                   what = DECL_NAME
4865
;;;                                                   name = hex
4866
;;;                                                 } 24 DeclItem
4867
;;;                                               } 23 List
4868
;;;                                             } 22 TypeName
4869
;;;                                             { 22 Expr l[r]
4870
;;;                                               { 23 Expr l & r
4871
;;;                                                 { 24 TypeName (internal)
4872
;;;                                                   { 25 TypeSpecifier (all)
4873
;;;                                                     spec = int (80000)
4874
;;;                                                   } 25 TypeSpecifier (all)
4875
;;;                                                 } 24 TypeName (internal)
4876
;;;                                                 { 24 Expr l >> r
4877
;;;                                                   { 25 TypeName (internal)
4878
;;;                                                     { 26 TypeSpecifier (all)
4879
;;;                                                       spec = int (80000)
4880
;;;                                                     } 26 TypeSpecifier (all)
4881
;;;                                                   } 25 TypeName (internal)
4882
;;;                                                   { 25 Expression (variable name)
4883
;;;                                                     expr_type = "identifier" (value)
4884 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4885
        MOVE    4(SP), RR
4886 7 jsauermann
;;;                                                   } 25 Expression (variable name)
4887 2 jsauermann
;--     l >> r
4888
        ASR     RR, #0x0004
4889 7 jsauermann
;;;                                                 } 24 Expr l >> r
4890 2 jsauermann
;--     l & r
4891
        AND     RR, #0x000F
4892 7 jsauermann
;;;                                               } 23 Expr l & r
4893 2 jsauermann
;--     scale_rr *1
4894
;--     push_rr (16 bit)
4895
        MOVE    RR, -(SP)
4896 7 jsauermann
;;;                                               { 23 Expression (variable name)
4897
;;;                                                 expr_type = "identifier" (hex)
4898 2 jsauermann
;--     load_rr_var hex = 6(FP), SP at -2 (16 bit)
4899
        MOVE    8(SP), RR
4900 7 jsauermann
;;;                                               } 23 Expression (variable name)
4901 2 jsauermann
;--     pop_ll (16 bit)
4902
        MOVE    (SP)+, LL
4903
;--     + (element)
4904
        ADD     LL, RR
4905 7 jsauermann
;;;                                             } 22 Expr l[r]
4906 2 jsauermann
;--     content
4907
        MOVE    (RR), RS
4908 7 jsauermann
;;;                                           } 21 Expr l[r]
4909 2 jsauermann
;--     push_rr (8 bit)
4910
        MOVE    R, -(SP)
4911 7 jsauermann
;;;                                           { 21 Expr * r
4912
;;;                                             { 22 Expr l - r
4913
;;;                                               { 23 Expr ++r
4914
;;;                                                 { 24 Expression (variable name)
4915
;;;                                                   expr_type = "identifier" (dest)
4916 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
4917
        MOVE    3(SP), RR
4918 7 jsauermann
;;;                                                 } 24 Expression (variable name)
4919 2 jsauermann
;--     ++
4920
        ADD     RR, #0x0001
4921
;--     store_rr_var dest = 2(FP), SP at -1
4922
        MOVE    RR, 3(SP)
4923 7 jsauermann
;;;                                               } 23 Expr ++r
4924 2 jsauermann
;--     l - r
4925
        SUB     RR, #0x0001
4926 7 jsauermann
;;;                                             } 22 Expr l - r
4927
;;;                                           } 21 Expr * r
4928 2 jsauermann
;--     move_rr_to_ll
4929
        MOVE    RR, LL
4930
;--     pop_rr (8 bit)
4931
        MOVE    (SP)+, RS
4932
;--     assign (8 bit)
4933
        MOVE    R, (LL)
4934 7 jsauermann
;;;                                         } 20 Expr l = r
4935
;;;                                       } 19 ExpressionStatement
4936 2 jsauermann
L17_endif_39:
4937 7 jsauermann
;;;                                     } 18 IfElseStatement
4938
;;;                                     { 18 ExpressionStatement
4939
;;;                                       { 19 Expr l = r
4940
;;;                                         { 20 TypeName
4941
;;;                                           { 21 TypeSpecifier (all)
4942
;;;                                             spec = char (20000)
4943
;;;                                           } 21 TypeSpecifier (all)
4944
;;;                                           { 21 List
4945
;;;                                             { 22 DeclItem
4946
;;;                                               what = DECL_NAME
4947
;;;                                               name = dest
4948
;;;                                             } 22 DeclItem
4949
;;;                                           } 21 List
4950
;;;                                         } 20 TypeName
4951
;;;                                         { 20 Expr l[r]
4952
;;;                                           { 21 TypeName
4953
;;;                                             { 22 TypeSpecifier (all)
4954
;;;                                               spec = const char (20100)
4955
;;;                                             } 22 TypeSpecifier (all)
4956
;;;                                             { 22 List
4957
;;;                                               { 23 DeclItem
4958
;;;                                                 what = DECL_NAME
4959
;;;                                                 name = hex
4960
;;;                                               } 23 DeclItem
4961
;;;                                             } 22 List
4962
;;;                                           } 21 TypeName
4963
;;;                                           { 21 Expr l[r]
4964
;;;                                             { 22 Expr l & r
4965
;;;                                               { 23 TypeName (internal)
4966
;;;                                                 { 24 TypeSpecifier (all)
4967
;;;                                                   spec = unsigned int (82000)
4968
;;;                                                 } 24 TypeSpecifier (all)
4969
;;;                                               } 23 TypeName (internal)
4970
;;;                                               { 23 Expression (variable name)
4971
;;;                                                 expr_type = "identifier" (value)
4972 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
4973
        MOVE    4(SP), RR
4974 7 jsauermann
;;;                                               } 23 Expression (variable name)
4975 2 jsauermann
;--     l & r
4976
        AND     RR, #0x000F
4977 7 jsauermann
;;;                                             } 22 Expr l & r
4978 2 jsauermann
;--     scale_rr *1
4979
;--     push_rr (16 bit)
4980
        MOVE    RR, -(SP)
4981 7 jsauermann
;;;                                             { 22 Expression (variable name)
4982
;;;                                               expr_type = "identifier" (hex)
4983 2 jsauermann
;--     load_rr_var hex = 6(FP), SP at -2 (16 bit)
4984
        MOVE    8(SP), RR
4985 7 jsauermann
;;;                                             } 22 Expression (variable name)
4986 2 jsauermann
;--     pop_ll (16 bit)
4987
        MOVE    (SP)+, LL
4988
;--     + (element)
4989
        ADD     LL, RR
4990 7 jsauermann
;;;                                           } 21 Expr l[r]
4991 2 jsauermann
;--     content
4992
        MOVE    (RR), RS
4993 7 jsauermann
;;;                                         } 20 Expr l[r]
4994 2 jsauermann
;--     push_rr (8 bit)
4995
        MOVE    R, -(SP)
4996 7 jsauermann
;;;                                         { 20 Expr * r
4997
;;;                                           { 21 Expr l - r
4998
;;;                                             { 22 Expr ++r
4999
;;;                                               { 23 Expression (variable name)
5000
;;;                                                 expr_type = "identifier" (dest)
5001 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5002
        MOVE    3(SP), RR
5003 7 jsauermann
;;;                                               } 23 Expression (variable name)
5004 2 jsauermann
;--     ++
5005
        ADD     RR, #0x0001
5006
;--     store_rr_var dest = 2(FP), SP at -1
5007
        MOVE    RR, 3(SP)
5008 7 jsauermann
;;;                                             } 22 Expr ++r
5009 2 jsauermann
;--     l - r
5010
        SUB     RR, #0x0001
5011 7 jsauermann
;;;                                           } 21 Expr l - r
5012
;;;                                         } 20 Expr * r
5013 2 jsauermann
;--     move_rr_to_ll
5014
        MOVE    RR, LL
5015
;--     pop_rr (8 bit)
5016
        MOVE    (SP)+, RS
5017
;--     assign (8 bit)
5018
        MOVE    R, (LL)
5019 7 jsauermann
;;;                                       } 19 Expr l = r
5020
;;;                                     } 18 ExpressionStatement
5021
;;;                                     { 18 ExpressionStatement
5022
;;;                                       { 19 Expr l = r
5023
;;;                                         { 20 TypeName
5024
;;;                                           { 21 TypeSpecifier (all)
5025
;;;                                             spec = char (20000)
5026
;;;                                           } 21 TypeSpecifier (all)
5027
;;;                                           { 21 List
5028
;;;                                             { 22 DeclItem
5029
;;;                                               what = DECL_NAME
5030
;;;                                               name = dest
5031
;;;                                             } 22 DeclItem
5032
;;;                                           } 21 List
5033
;;;                                         } 20 TypeName
5034
;;;                                         { 20 NumericExpression (constant 0 = 0x0)
5035 2 jsauermann
;--     load_rr_constant
5036
        MOVE    #0x0000, RR
5037 7 jsauermann
;;;                                         } 20 NumericExpression (constant 0 = 0x0)
5038 2 jsauermann
;--     push_rr (8 bit)
5039
        MOVE    R, -(SP)
5040 7 jsauermann
;;;                                         { 20 Expr * r
5041
;;;                                           { 21 Expression (variable name)
5042
;;;                                             expr_type = "identifier" (dest)
5043 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5044
        MOVE    3(SP), RR
5045 7 jsauermann
;;;                                           } 21 Expression (variable name)
5046
;;;                                         } 20 Expr * r
5047 2 jsauermann
;--     move_rr_to_ll
5048
        MOVE    RR, LL
5049
;--     pop_rr (8 bit)
5050
        MOVE    (SP)+, RS
5051
;--     assign (8 bit)
5052
        MOVE    R, (LL)
5053 7 jsauermann
;;;                                       } 19 Expr l = r
5054
;;;                                     } 18 ExpressionStatement
5055
;;;                                   } 17 List
5056
;--     pop 0 bytes
5057
;;;                                 } 16 CompoundStatement
5058 2 jsauermann
;--     ret
5059
        RET
5060
;;; ------------------------------------;
5061 7 jsauermann
;;;                                 { 16 FunctionDefinition
5062
;;;                                   { 17 TypeName
5063
;;;                                     { 18 TypeSpecifier (all)
5064
;;;                                       spec = void (10000)
5065
;;;                                     } 18 TypeSpecifier (all)
5066
;;;                                     { 18 List
5067
;;;                                       { 19 DeclItem
5068
;;;                                         what = DECL_NAME
5069
;;;                                         name = print_unsigned
5070
;;;                                       } 19 DeclItem
5071
;;;                                     } 18 List
5072
;;;                                   } 17 TypeName
5073
;;;                                   { 17 List
5074
;;;                                     { 18 DeclItem
5075
;;;                                       what = DECL_NAME
5076
;;;                                       name = print_unsigned
5077
;;;                                     } 18 DeclItem
5078
;;;                                     { 18 DeclItem
5079
;;;                                       what = DECL_FUN
5080
;;;                                       { 19 List
5081
;;;                                         { 20 ParameterDeclaration
5082
;;;                                           isEllipsis = false
5083
;;;                                           { 21 TypeName
5084
;;;                                             { 22 TypeSpecifier (all)
5085
;;;                                               spec = char (20000)
5086
;;;                                             } 22 TypeSpecifier (all)
5087
;;;                                             { 22 List
5088
;;;                                               { 23 DeclItem
5089
;;;                                                 what = DECL_POINTER
5090
;;;                                                 { 24 List
5091
;;;                                                   { 25 Ptr
5092
;;;                                                   } 25 Ptr
5093
;;;                                                 } 24 List
5094
;;;                                               } 23 DeclItem
5095
;;;                                               { 23 DeclItem
5096
;;;                                                 what = DECL_NAME
5097
;;;                                                 name = dest
5098
;;;                                               } 23 DeclItem
5099
;;;                                             } 22 List
5100
;;;                                           } 21 TypeName
5101
;;;                                         } 20 ParameterDeclaration
5102
;;;                                         { 20 ParameterDeclaration
5103
;;;                                           isEllipsis = false
5104
;;;                                           { 21 TypeName
5105
;;;                                             { 22 TypeSpecifier (all)
5106
;;;                                               spec = unsigned int (82000)
5107
;;;                                             } 22 TypeSpecifier (all)
5108
;;;                                             { 22 List
5109
;;;                                               { 23 DeclItem
5110
;;;                                                 what = DECL_NAME
5111
;;;                                                 name = value
5112
;;;                                               } 23 DeclItem
5113
;;;                                             } 22 List
5114
;;;                                           } 21 TypeName
5115
;;;                                         } 20 ParameterDeclaration
5116
;;;                                       } 19 List
5117
;;;                                     } 18 DeclItem
5118
;;;                                   } 17 List
5119 2 jsauermann
Cprint_unsigned:
5120 7 jsauermann
;;;                                   { 17 CompoundStatement
5121
;;;                                     { 18 List
5122
;;;                                       { 19 IfElseStatement
5123
;;;                                         { 20 Expr l >= r
5124
;;;                                           { 21 TypeName (internal)
5125
;;;                                             { 22 TypeSpecifier (all)
5126
;;;                                               spec = unsigned int (82000)
5127
;;;                                             } 22 TypeSpecifier (all)
5128
;;;                                           } 21 TypeName (internal)
5129
;;;                                           { 21 Expression (variable name)
5130
;;;                                             expr_type = "identifier" (value)
5131 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5132
        MOVE    4(SP), RR
5133 7 jsauermann
;;;                                           } 21 Expression (variable name)
5134 2 jsauermann
;--     l >= r
5135
        SHS     RR, #0x2710
5136 7 jsauermann
;;;                                         } 20 Expr l >= r
5137 2 jsauermann
;--     branch_false
5138
        JMP     RRZ, L18_endif_40
5139 7 jsauermann
;;;                                         { 20 ExpressionStatement
5140
;;;                                           { 21 Expr l = r
5141
;;;                                             { 22 TypeName
5142
;;;                                               { 23 TypeSpecifier (all)
5143
;;;                                                 spec = char (20000)
5144
;;;                                               } 23 TypeSpecifier (all)
5145
;;;                                               { 23 List
5146
;;;                                                 { 24 DeclItem
5147
;;;                                                   what = DECL_NAME
5148
;;;                                                   name = dest
5149
;;;                                                 } 24 DeclItem
5150
;;;                                               } 23 List
5151
;;;                                             } 22 TypeName
5152
;;;                                             { 22 Expr l + r
5153
;;;                                               { 23 Expr l / r
5154
;;;                                                 { 24 TypeName (internal)
5155
;;;                                                   { 25 TypeSpecifier (all)
5156
;;;                                                     spec = unsigned int (82000)
5157
;;;                                                   } 25 TypeSpecifier (all)
5158
;;;                                                 } 24 TypeName (internal)
5159
;;;                                                 { 24 Expression (variable name)
5160
;;;                                                   expr_type = "identifier" (value)
5161 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5162
        MOVE    4(SP), RR
5163 7 jsauermann
;;;                                                 } 24 Expression (variable name)
5164 2 jsauermann
;--     l / r
5165
        MOVE    RR, LL
5166
        MOVE    #0x2710, RR
5167
;--     l / r
5168
        DI
5169
        DIV_IU
5170
        CALL    mult_div
5171
        MD_FIN
5172
        EI
5173 7 jsauermann
;;;                                               } 23 Expr l / r
5174 2 jsauermann
;--     l + r
5175
        ADD     RR, #0x0030
5176 7 jsauermann
;;;                                             } 22 Expr l + r
5177 2 jsauermann
;--     push_rr (8 bit)
5178
        MOVE    R, -(SP)
5179 7 jsauermann
;;;                                             { 22 Expr * r
5180
;;;                                               { 23 Expr l - r
5181
;;;                                                 { 24 Expr ++r
5182
;;;                                                   { 25 Expression (variable name)
5183
;;;                                                     expr_type = "identifier" (dest)
5184 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5185
        MOVE    3(SP), RR
5186 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5187 2 jsauermann
;--     ++
5188
        ADD     RR, #0x0001
5189
;--     store_rr_var dest = 2(FP), SP at -1
5190
        MOVE    RR, 3(SP)
5191 7 jsauermann
;;;                                                 } 24 Expr ++r
5192 2 jsauermann
;--     l - r
5193
        SUB     RR, #0x0001
5194 7 jsauermann
;;;                                               } 23 Expr l - r
5195
;;;                                             } 22 Expr * r
5196 2 jsauermann
;--     move_rr_to_ll
5197
        MOVE    RR, LL
5198
;--     pop_rr (8 bit)
5199
        MOVE    (SP)+, RS
5200
;--     assign (8 bit)
5201
        MOVE    R, (LL)
5202 7 jsauermann
;;;                                           } 21 Expr l = r
5203
;;;                                         } 20 ExpressionStatement
5204 2 jsauermann
L18_endif_40:
5205 7 jsauermann
;;;                                       } 19 IfElseStatement
5206
;;;                                       { 19 IfElseStatement
5207
;;;                                         { 20 Expr l >= r
5208
;;;                                           { 21 TypeName (internal)
5209
;;;                                             { 22 TypeSpecifier (all)
5210
;;;                                               spec = unsigned int (82000)
5211
;;;                                             } 22 TypeSpecifier (all)
5212
;;;                                           } 21 TypeName (internal)
5213
;;;                                           { 21 Expression (variable name)
5214
;;;                                             expr_type = "identifier" (value)
5215 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5216
        MOVE    4(SP), RR
5217 7 jsauermann
;;;                                           } 21 Expression (variable name)
5218 2 jsauermann
;--     l >= r
5219
        SHS     RR, #0x03E8
5220 7 jsauermann
;;;                                         } 20 Expr l >= r
5221 2 jsauermann
;--     branch_false
5222
        JMP     RRZ, L18_endif_41
5223 7 jsauermann
;;;                                         { 20 ExpressionStatement
5224
;;;                                           { 21 Expr l = r
5225
;;;                                             { 22 TypeName
5226
;;;                                               { 23 TypeSpecifier (all)
5227
;;;                                                 spec = char (20000)
5228
;;;                                               } 23 TypeSpecifier (all)
5229
;;;                                               { 23 List
5230
;;;                                                 { 24 DeclItem
5231
;;;                                                   what = DECL_NAME
5232
;;;                                                   name = dest
5233
;;;                                                 } 24 DeclItem
5234
;;;                                               } 23 List
5235
;;;                                             } 22 TypeName
5236
;;;                                             { 22 Expr l + r
5237
;;;                                               { 23 Expr l % r
5238
;;;                                                 { 24 TypeName (internal)
5239
;;;                                                   { 25 TypeSpecifier (all)
5240
;;;                                                     spec = unsigned int (82000)
5241
;;;                                                   } 25 TypeSpecifier (all)
5242
;;;                                                 } 24 TypeName (internal)
5243
;;;                                                 { 24 Expr l / r
5244
;;;                                                   { 25 TypeName (internal)
5245
;;;                                                     { 26 TypeSpecifier (all)
5246
;;;                                                       spec = unsigned int (82000)
5247
;;;                                                     } 26 TypeSpecifier (all)
5248
;;;                                                   } 25 TypeName (internal)
5249
;;;                                                   { 25 Expression (variable name)
5250
;;;                                                     expr_type = "identifier" (value)
5251 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5252
        MOVE    4(SP), RR
5253 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5254 2 jsauermann
;--     l / r
5255
        MOVE    RR, LL
5256
        MOVE    #0x03E8, RR
5257
;--     l / r
5258
        DI
5259
        DIV_IU
5260
        CALL    mult_div
5261
        MD_FIN
5262
        EI
5263 7 jsauermann
;;;                                                 } 24 Expr l / r
5264 2 jsauermann
;--     l % r
5265
        MOVE    RR, LL
5266
        MOVE    #0x000A, RR
5267
;--     l % r
5268
        DI
5269
        DIV_IU
5270
        CALL    mult_div
5271
        MOD_FIN
5272
        EI
5273 7 jsauermann
;;;                                               } 23 Expr l % r
5274 2 jsauermann
;--     l + r
5275
        ADD     RR, #0x0030
5276 7 jsauermann
;;;                                             } 22 Expr l + r
5277 2 jsauermann
;--     push_rr (8 bit)
5278
        MOVE    R, -(SP)
5279 7 jsauermann
;;;                                             { 22 Expr * r
5280
;;;                                               { 23 Expr l - r
5281
;;;                                                 { 24 Expr ++r
5282
;;;                                                   { 25 Expression (variable name)
5283
;;;                                                     expr_type = "identifier" (dest)
5284 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5285
        MOVE    3(SP), RR
5286 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5287 2 jsauermann
;--     ++
5288
        ADD     RR, #0x0001
5289
;--     store_rr_var dest = 2(FP), SP at -1
5290
        MOVE    RR, 3(SP)
5291 7 jsauermann
;;;                                                 } 24 Expr ++r
5292 2 jsauermann
;--     l - r
5293
        SUB     RR, #0x0001
5294 7 jsauermann
;;;                                               } 23 Expr l - r
5295
;;;                                             } 22 Expr * r
5296 2 jsauermann
;--     move_rr_to_ll
5297
        MOVE    RR, LL
5298
;--     pop_rr (8 bit)
5299
        MOVE    (SP)+, RS
5300
;--     assign (8 bit)
5301
        MOVE    R, (LL)
5302 7 jsauermann
;;;                                           } 21 Expr l = r
5303
;;;                                         } 20 ExpressionStatement
5304 2 jsauermann
L18_endif_41:
5305 7 jsauermann
;;;                                       } 19 IfElseStatement
5306
;;;                                       { 19 IfElseStatement
5307
;;;                                         { 20 Expr l >= r
5308
;;;                                           { 21 TypeName (internal)
5309
;;;                                             { 22 TypeSpecifier (all)
5310
;;;                                               spec = unsigned int (82000)
5311
;;;                                             } 22 TypeSpecifier (all)
5312
;;;                                           } 21 TypeName (internal)
5313
;;;                                           { 21 Expression (variable name)
5314
;;;                                             expr_type = "identifier" (value)
5315 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5316
        MOVE    4(SP), RR
5317 7 jsauermann
;;;                                           } 21 Expression (variable name)
5318 2 jsauermann
;--     l >= r
5319
        SHS     RR, #0x0064
5320 7 jsauermann
;;;                                         } 20 Expr l >= r
5321 2 jsauermann
;--     branch_false
5322
        JMP     RRZ, L18_endif_42
5323 7 jsauermann
;;;                                         { 20 ExpressionStatement
5324
;;;                                           { 21 Expr l = r
5325
;;;                                             { 22 TypeName
5326
;;;                                               { 23 TypeSpecifier (all)
5327
;;;                                                 spec = char (20000)
5328
;;;                                               } 23 TypeSpecifier (all)
5329
;;;                                               { 23 List
5330
;;;                                                 { 24 DeclItem
5331
;;;                                                   what = DECL_NAME
5332
;;;                                                   name = dest
5333
;;;                                                 } 24 DeclItem
5334
;;;                                               } 23 List
5335
;;;                                             } 22 TypeName
5336
;;;                                             { 22 Expr l + r
5337
;;;                                               { 23 Expr l % r
5338
;;;                                                 { 24 TypeName (internal)
5339
;;;                                                   { 25 TypeSpecifier (all)
5340
;;;                                                     spec = unsigned int (82000)
5341
;;;                                                   } 25 TypeSpecifier (all)
5342
;;;                                                 } 24 TypeName (internal)
5343
;;;                                                 { 24 Expr l / r
5344
;;;                                                   { 25 TypeName (internal)
5345
;;;                                                     { 26 TypeSpecifier (all)
5346
;;;                                                       spec = unsigned int (82000)
5347
;;;                                                     } 26 TypeSpecifier (all)
5348
;;;                                                   } 25 TypeName (internal)
5349
;;;                                                   { 25 Expression (variable name)
5350
;;;                                                     expr_type = "identifier" (value)
5351 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5352
        MOVE    4(SP), RR
5353 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5354 2 jsauermann
;--     l / r
5355
        MOVE    RR, LL
5356
        MOVE    #0x0064, RR
5357
;--     l / r
5358
        DI
5359
        DIV_IU
5360
        CALL    mult_div
5361
        MD_FIN
5362
        EI
5363 7 jsauermann
;;;                                                 } 24 Expr l / r
5364 2 jsauermann
;--     l % r
5365
        MOVE    RR, LL
5366
        MOVE    #0x000A, RR
5367
;--     l % r
5368
        DI
5369
        DIV_IU
5370
        CALL    mult_div
5371
        MOD_FIN
5372
        EI
5373 7 jsauermann
;;;                                               } 23 Expr l % r
5374 2 jsauermann
;--     l + r
5375
        ADD     RR, #0x0030
5376 7 jsauermann
;;;                                             } 22 Expr l + r
5377 2 jsauermann
;--     push_rr (8 bit)
5378
        MOVE    R, -(SP)
5379 7 jsauermann
;;;                                             { 22 Expr * r
5380
;;;                                               { 23 Expr l - r
5381
;;;                                                 { 24 Expr ++r
5382
;;;                                                   { 25 Expression (variable name)
5383
;;;                                                     expr_type = "identifier" (dest)
5384 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5385
        MOVE    3(SP), RR
5386 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5387 2 jsauermann
;--     ++
5388
        ADD     RR, #0x0001
5389
;--     store_rr_var dest = 2(FP), SP at -1
5390
        MOVE    RR, 3(SP)
5391 7 jsauermann
;;;                                                 } 24 Expr ++r
5392 2 jsauermann
;--     l - r
5393
        SUB     RR, #0x0001
5394 7 jsauermann
;;;                                               } 23 Expr l - r
5395
;;;                                             } 22 Expr * r
5396 2 jsauermann
;--     move_rr_to_ll
5397
        MOVE    RR, LL
5398
;--     pop_rr (8 bit)
5399
        MOVE    (SP)+, RS
5400
;--     assign (8 bit)
5401
        MOVE    R, (LL)
5402 7 jsauermann
;;;                                           } 21 Expr l = r
5403
;;;                                         } 20 ExpressionStatement
5404 2 jsauermann
L18_endif_42:
5405 7 jsauermann
;;;                                       } 19 IfElseStatement
5406
;;;                                       { 19 IfElseStatement
5407
;;;                                         { 20 Expr l >= r
5408
;;;                                           { 21 TypeName (internal)
5409
;;;                                             { 22 TypeSpecifier (all)
5410
;;;                                               spec = unsigned int (82000)
5411
;;;                                             } 22 TypeSpecifier (all)
5412
;;;                                           } 21 TypeName (internal)
5413
;;;                                           { 21 Expression (variable name)
5414
;;;                                             expr_type = "identifier" (value)
5415 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5416
        MOVE    4(SP), RR
5417 7 jsauermann
;;;                                           } 21 Expression (variable name)
5418 2 jsauermann
;--     l >= r
5419
        SHS     RR, #0x000A
5420 7 jsauermann
;;;                                         } 20 Expr l >= r
5421 2 jsauermann
;--     branch_false
5422
        JMP     RRZ, L18_endif_43
5423 7 jsauermann
;;;                                         { 20 ExpressionStatement
5424
;;;                                           { 21 Expr l = r
5425
;;;                                             { 22 TypeName
5426
;;;                                               { 23 TypeSpecifier (all)
5427
;;;                                                 spec = char (20000)
5428
;;;                                               } 23 TypeSpecifier (all)
5429
;;;                                               { 23 List
5430
;;;                                                 { 24 DeclItem
5431
;;;                                                   what = DECL_NAME
5432
;;;                                                   name = dest
5433
;;;                                                 } 24 DeclItem
5434
;;;                                               } 23 List
5435
;;;                                             } 22 TypeName
5436
;;;                                             { 22 Expr l + r
5437
;;;                                               { 23 Expr l % r
5438
;;;                                                 { 24 TypeName (internal)
5439
;;;                                                   { 25 TypeSpecifier (all)
5440
;;;                                                     spec = unsigned int (82000)
5441
;;;                                                   } 25 TypeSpecifier (all)
5442
;;;                                                 } 24 TypeName (internal)
5443
;;;                                                 { 24 Expr l / r
5444
;;;                                                   { 25 TypeName (internal)
5445
;;;                                                     { 26 TypeSpecifier (all)
5446
;;;                                                       spec = unsigned int (82000)
5447
;;;                                                     } 26 TypeSpecifier (all)
5448
;;;                                                   } 25 TypeName (internal)
5449
;;;                                                   { 25 Expression (variable name)
5450
;;;                                                     expr_type = "identifier" (value)
5451 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5452
        MOVE    4(SP), RR
5453 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5454 2 jsauermann
;--     l / r
5455
        MOVE    RR, LL
5456
        MOVE    #0x000A, RR
5457
;--     l / r
5458
        DI
5459
        DIV_IU
5460
        CALL    mult_div
5461
        MD_FIN
5462
        EI
5463 7 jsauermann
;;;                                                 } 24 Expr l / r
5464 2 jsauermann
;--     l % r
5465
        MOVE    RR, LL
5466
        MOVE    #0x000A, RR
5467
;--     l % r
5468
        DI
5469
        DIV_IU
5470
        CALL    mult_div
5471
        MOD_FIN
5472
        EI
5473 7 jsauermann
;;;                                               } 23 Expr l % r
5474 2 jsauermann
;--     l + r
5475
        ADD     RR, #0x0030
5476 7 jsauermann
;;;                                             } 22 Expr l + r
5477 2 jsauermann
;--     push_rr (8 bit)
5478
        MOVE    R, -(SP)
5479 7 jsauermann
;;;                                             { 22 Expr * r
5480
;;;                                               { 23 Expr l - r
5481
;;;                                                 { 24 Expr ++r
5482
;;;                                                   { 25 Expression (variable name)
5483
;;;                                                     expr_type = "identifier" (dest)
5484 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5485
        MOVE    3(SP), RR
5486 7 jsauermann
;;;                                                   } 25 Expression (variable name)
5487 2 jsauermann
;--     ++
5488
        ADD     RR, #0x0001
5489
;--     store_rr_var dest = 2(FP), SP at -1
5490
        MOVE    RR, 3(SP)
5491 7 jsauermann
;;;                                                 } 24 Expr ++r
5492 2 jsauermann
;--     l - r
5493
        SUB     RR, #0x0001
5494 7 jsauermann
;;;                                               } 23 Expr l - r
5495
;;;                                             } 22 Expr * r
5496 2 jsauermann
;--     move_rr_to_ll
5497
        MOVE    RR, LL
5498
;--     pop_rr (8 bit)
5499
        MOVE    (SP)+, RS
5500
;--     assign (8 bit)
5501
        MOVE    R, (LL)
5502 7 jsauermann
;;;                                           } 21 Expr l = r
5503
;;;                                         } 20 ExpressionStatement
5504 2 jsauermann
L18_endif_43:
5505 7 jsauermann
;;;                                       } 19 IfElseStatement
5506
;;;                                       { 19 ExpressionStatement
5507
;;;                                         { 20 Expr l = r
5508
;;;                                           { 21 TypeName
5509
;;;                                             { 22 TypeSpecifier (all)
5510
;;;                                               spec = char (20000)
5511
;;;                                             } 22 TypeSpecifier (all)
5512
;;;                                             { 22 List
5513
;;;                                               { 23 DeclItem
5514
;;;                                                 what = DECL_NAME
5515
;;;                                                 name = dest
5516
;;;                                               } 23 DeclItem
5517
;;;                                             } 22 List
5518
;;;                                           } 21 TypeName
5519
;;;                                           { 21 Expr l + r
5520
;;;                                             { 22 Expr l % r
5521
;;;                                               { 23 TypeName (internal)
5522
;;;                                                 { 24 TypeSpecifier (all)
5523
;;;                                                   spec = unsigned int (82000)
5524
;;;                                                 } 24 TypeSpecifier (all)
5525
;;;                                               } 23 TypeName (internal)
5526
;;;                                               { 23 Expression (variable name)
5527
;;;                                                 expr_type = "identifier" (value)
5528 2 jsauermann
;--     load_rr_var value = 4(FP), SP at 0 (16 bit)
5529
        MOVE    4(SP), RR
5530 7 jsauermann
;;;                                               } 23 Expression (variable name)
5531 2 jsauermann
;--     l % r
5532
        MOVE    RR, LL
5533
        MOVE    #0x000A, RR
5534
;--     l % r
5535
        DI
5536
        DIV_IU
5537
        CALL    mult_div
5538
        MOD_FIN
5539
        EI
5540 7 jsauermann
;;;                                             } 22 Expr l % r
5541 2 jsauermann
;--     l + r
5542
        ADD     RR, #0x0030
5543 7 jsauermann
;;;                                           } 21 Expr l + r
5544 2 jsauermann
;--     push_rr (8 bit)
5545
        MOVE    R, -(SP)
5546 7 jsauermann
;;;                                           { 21 Expr * r
5547
;;;                                             { 22 Expr l - r
5548
;;;                                               { 23 Expr ++r
5549
;;;                                                 { 24 Expression (variable name)
5550
;;;                                                   expr_type = "identifier" (dest)
5551 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5552
        MOVE    3(SP), RR
5553 7 jsauermann
;;;                                                 } 24 Expression (variable name)
5554 2 jsauermann
;--     ++
5555
        ADD     RR, #0x0001
5556
;--     store_rr_var dest = 2(FP), SP at -1
5557
        MOVE    RR, 3(SP)
5558 7 jsauermann
;;;                                               } 23 Expr ++r
5559 2 jsauermann
;--     l - r
5560
        SUB     RR, #0x0001
5561 7 jsauermann
;;;                                             } 22 Expr l - r
5562
;;;                                           } 21 Expr * r
5563 2 jsauermann
;--     move_rr_to_ll
5564
        MOVE    RR, LL
5565
;--     pop_rr (8 bit)
5566
        MOVE    (SP)+, RS
5567
;--     assign (8 bit)
5568
        MOVE    R, (LL)
5569 7 jsauermann
;;;                                         } 20 Expr l = r
5570
;;;                                       } 19 ExpressionStatement
5571
;;;                                       { 19 ExpressionStatement
5572
;;;                                         { 20 Expr l = r
5573
;;;                                           { 21 TypeName
5574
;;;                                             { 22 TypeSpecifier (all)
5575
;;;                                               spec = char (20000)
5576
;;;                                             } 22 TypeSpecifier (all)
5577
;;;                                             { 22 List
5578
;;;                                               { 23 DeclItem
5579
;;;                                                 what = DECL_NAME
5580
;;;                                                 name = dest
5581
;;;                                               } 23 DeclItem
5582
;;;                                             } 22 List
5583
;;;                                           } 21 TypeName
5584
;;;                                           { 21 NumericExpression (constant 0 = 0x0)
5585 2 jsauermann
;--     load_rr_constant
5586
        MOVE    #0x0000, RR
5587 7 jsauermann
;;;                                           } 21 NumericExpression (constant 0 = 0x0)
5588 2 jsauermann
;--     push_rr (8 bit)
5589
        MOVE    R, -(SP)
5590 7 jsauermann
;;;                                           { 21 Expr * r
5591
;;;                                             { 22 Expression (variable name)
5592
;;;                                               expr_type = "identifier" (dest)
5593 2 jsauermann
;--     load_rr_var dest = 2(FP), SP at -1 (16 bit)
5594
        MOVE    3(SP), RR
5595 7 jsauermann
;;;                                             } 22 Expression (variable name)
5596
;;;                                           } 21 Expr * r
5597 2 jsauermann
;--     move_rr_to_ll
5598
        MOVE    RR, LL
5599
;--     pop_rr (8 bit)
5600
        MOVE    (SP)+, RS
5601
;--     assign (8 bit)
5602
        MOVE    R, (LL)
5603 7 jsauermann
;;;                                         } 20 Expr l = r
5604
;;;                                       } 19 ExpressionStatement
5605
;;;                                     } 18 List
5606
;--     pop 0 bytes
5607
;;;                                   } 17 CompoundStatement
5608 2 jsauermann
;--     ret
5609
        RET
5610
;;; ------------------------------------;
5611 7 jsauermann
;;;                                   { 17 FunctionDefinition
5612
;;;                                     { 18 TypeName
5613
;;;                                       { 19 TypeSpecifier (all)
5614
;;;                                         spec = int (80000)
5615
;;;                                       } 19 TypeSpecifier (all)
5616
;;;                                       { 19 List
5617
;;;                                         { 20 DeclItem
5618
;;;                                           what = DECL_NAME
5619
;;;                                           name = print_item
5620
;;;                                         } 20 DeclItem
5621
;;;                                       } 19 List
5622
;;;                                     } 18 TypeName
5623
;;;                                     { 18 List
5624
;;;                                       { 19 DeclItem
5625
;;;                                         what = DECL_NAME
5626
;;;                                         name = print_item
5627
;;;                                       } 19 DeclItem
5628
;;;                                       { 19 DeclItem
5629
;;;                                         what = DECL_FUN
5630
;;;                                         { 20 List
5631
;;;                                           { 21 ParameterDeclaration
5632
;;;                                             isEllipsis = false
5633
;;;                                             { 22 TypeName
5634
;;;                                               { 23 TypeSpecifier (all)
5635
;;;                                                 spec = const char (20100)
5636
;;;                                               } 23 TypeSpecifier (all)
5637
;;;                                               { 23 List
5638
;;;                                                 { 24 DeclItem
5639
;;;                                                   what = DECL_POINTER
5640
;;;                                                   { 25 List
5641
;;;                                                     { 26 Ptr
5642
;;;                                                     } 26 Ptr
5643
;;;                                                   } 25 List
5644
;;;                                                 } 24 DeclItem
5645
;;;                                                 { 24 DeclItem
5646
;;;                                                   what = DECL_NAME
5647
;;;                                                   name = buffer
5648
;;;                                                 } 24 DeclItem
5649
;;;                                               } 23 List
5650
;;;                                             } 22 TypeName
5651
;;;                                           } 21 ParameterDeclaration
5652
;;;                                           { 21 ParameterDeclaration
5653
;;;                                             isEllipsis = false
5654
;;;                                             { 22 TypeName
5655
;;;                                               { 23 TypeSpecifier (all)
5656
;;;                                                 spec = char (20000)
5657
;;;                                               } 23 TypeSpecifier (all)
5658
;;;                                               { 23 List
5659
;;;                                                 { 24 DeclItem
5660
;;;                                                   what = DECL_NAME
5661
;;;                                                   name = flags
5662
;;;                                                 } 24 DeclItem
5663
;;;                                               } 23 List
5664
;;;                                             } 22 TypeName
5665
;;;                                           } 21 ParameterDeclaration
5666
;;;                                           { 21 ParameterDeclaration
5667
;;;                                             isEllipsis = false
5668
;;;                                             { 22 TypeName
5669
;;;                                               { 23 TypeSpecifier (all)
5670
;;;                                                 spec = char (20000)
5671
;;;                                               } 23 TypeSpecifier (all)
5672
;;;                                               { 23 List
5673
;;;                                                 { 24 DeclItem
5674
;;;                                                   what = DECL_NAME
5675
;;;                                                   name = sign
5676
;;;                                                 } 24 DeclItem
5677
;;;                                               } 23 List
5678
;;;                                             } 22 TypeName
5679
;;;                                           } 21 ParameterDeclaration
5680
;;;                                           { 21 ParameterDeclaration
5681
;;;                                             isEllipsis = false
5682
;;;                                             { 22 TypeName
5683
;;;                                               { 23 TypeSpecifier (all)
5684
;;;                                                 spec = char (20000)
5685
;;;                                               } 23 TypeSpecifier (all)
5686
;;;                                               { 23 List
5687
;;;                                                 { 24 DeclItem
5688
;;;                                                   what = DECL_NAME
5689
;;;                                                   name = pad
5690
;;;                                                 } 24 DeclItem
5691
;;;                                               } 23 List
5692
;;;                                             } 22 TypeName
5693
;;;                                           } 21 ParameterDeclaration
5694
;;;                                           { 21 ParameterDeclaration
5695
;;;                                             isEllipsis = false
5696
;;;                                             { 22 TypeName
5697
;;;                                               { 23 TypeSpecifier (all)
5698
;;;                                                 spec = const char (20100)
5699
;;;                                               } 23 TypeSpecifier (all)
5700
;;;                                               { 23 List
5701
;;;                                                 { 24 DeclItem
5702
;;;                                                   what = DECL_POINTER
5703
;;;                                                   { 25 List
5704
;;;                                                     { 26 Ptr
5705
;;;                                                     } 26 Ptr
5706
;;;                                                   } 25 List
5707
;;;                                                 } 24 DeclItem
5708
;;;                                                 { 24 DeclItem
5709
;;;                                                   what = DECL_NAME
5710
;;;                                                   name = alt
5711
;;;                                                 } 24 DeclItem
5712
;;;                                               } 23 List
5713
;;;                                             } 22 TypeName
5714
;;;                                           } 21 ParameterDeclaration
5715
;;;                                           { 21 ParameterDeclaration
5716
;;;                                             isEllipsis = false
5717
;;;                                             { 22 TypeName
5718
;;;                                               { 23 TypeSpecifier (all)
5719
;;;                                                 spec = int (80000)
5720
;;;                                               } 23 TypeSpecifier (all)
5721
;;;                                               { 23 List
5722
;;;                                                 { 24 DeclItem
5723
;;;                                                   what = DECL_NAME
5724
;;;                                                   name = field_w
5725
;;;                                                 } 24 DeclItem
5726
;;;                                               } 23 List
5727
;;;                                             } 22 TypeName
5728
;;;                                           } 21 ParameterDeclaration
5729
;;;                                           { 21 ParameterDeclaration
5730
;;;                                             isEllipsis = false
5731
;;;                                             { 22 TypeName
5732
;;;                                               { 23 TypeSpecifier (all)
5733
;;;                                                 spec = int (80000)
5734
;;;                                               } 23 TypeSpecifier (all)
5735
;;;                                               { 23 List
5736
;;;                                                 { 24 DeclItem
5737
;;;                                                   what = DECL_NAME
5738
;;;                                                   name = min_w
5739
;;;                                                 } 24 DeclItem
5740
;;;                                               } 23 List
5741
;;;                                             } 22 TypeName
5742
;;;                                           } 21 ParameterDeclaration
5743
;;;                                           { 21 ParameterDeclaration
5744
;;;                                             isEllipsis = false
5745
;;;                                             { 22 TypeName
5746
;;;                                               { 23 TypeSpecifier (all)
5747
;;;                                                 spec = char (20000)
5748
;;;                                               } 23 TypeSpecifier (all)
5749
;;;                                               { 23 List
5750
;;;                                                 { 24 DeclItem
5751
;;;                                                   what = DECL_NAME
5752
;;;                                                   name = min_p
5753
;;;                                                 } 24 DeclItem
5754
;;;                                               } 23 List
5755
;;;                                             } 22 TypeName
5756
;;;                                           } 21 ParameterDeclaration
5757
;;;                                         } 20 List
5758
;;;                                       } 19 DeclItem
5759
;;;                                     } 18 List
5760 2 jsauermann
Cprint_item:
5761 7 jsauermann
;;;                                     { 18 CompoundStatement
5762
;;;                                       { 19 InitDeclarator
5763
;;;                                         { 20 List
5764
;;;                                           { 21 DeclItem
5765
;;;                                             what = DECL_NAME
5766
;;;                                             name = filllen
5767
;;;                                           } 21 DeclItem
5768
;;;                                         } 20 List
5769
;;;                                         { 20 Initializer (skalar)
5770 2 jsauermann
;--     push_zero 2 bytes
5771
        CLRW    -(SP)
5772 7 jsauermann
;;;                                         } 20 Initializer (skalar)
5773
;;;                                       } 19 InitDeclarator
5774
;;;                                       { 19 InitDeclarator
5775
;;;                                         { 20 List
5776
;;;                                           { 21 DeclItem
5777
;;;                                             what = DECL_NAME
5778
;;;                                             name = signlen
5779
;;;                                           } 21 DeclItem
5780
;;;                                         } 20 List
5781
;;;                                         { 20 Initializer (skalar)
5782 2 jsauermann
;--     push_zero 2 bytes
5783
        CLRW    -(SP)
5784 7 jsauermann
;;;                                         } 20 Initializer (skalar)
5785
;;;                                       } 19 InitDeclarator
5786
;;;                                       { 19 InitDeclarator
5787
;;;                                         { 20 List
5788
;;;                                           { 21 DeclItem
5789
;;;                                             what = DECL_NAME
5790
;;;                                             name = altlen
5791
;;;                                           } 21 DeclItem
5792
;;;                                         } 20 List
5793
;;;                                         { 20 Initializer (skalar)
5794 2 jsauermann
;--     push_zero 2 bytes
5795
        CLRW    -(SP)
5796 7 jsauermann
;;;                                         } 20 Initializer (skalar)
5797
;;;                                       } 19 InitDeclarator
5798
;;;                                       { 19 InitDeclarator
5799
;;;                                         { 20 List
5800
;;;                                           { 21 DeclItem
5801
;;;                                             what = DECL_NAME
5802
;;;                                             name = padlen
5803
;;;                                           } 21 DeclItem
5804
;;;                                         } 20 List
5805
;;;                                         { 20 Initializer (skalar)
5806 2 jsauermann
;--     push_zero 2 bytes
5807
        CLRW    -(SP)
5808 7 jsauermann
;;;                                         } 20 Initializer (skalar)
5809
;;;                                       } 19 InitDeclarator
5810
;;;                                       { 19 InitDeclarator
5811
;;;                                         { 20 List
5812
;;;                                           { 21 DeclItem
5813
;;;                                             what = DECL_NAME
5814
;;;                                             name = buflen
5815
;;;                                           } 21 DeclItem
5816
;;;                                         } 20 List
5817
;;;                                         { 20 Initializer (skalar)
5818
;;;                                           { 21 Expr l(r)
5819
;;;                                             { 22 TypeName
5820
;;;                                               { 23 TypeSpecifier (all)
5821
;;;                                                 spec = int (80000)
5822
;;;                                               } 23 TypeSpecifier (all)
5823
;;;                                               { 23 List
5824
;;;                                                 { 24 DeclItem
5825
;;;                                                   what = DECL_NAME
5826
;;;                                                   name = strlen
5827
;;;                                                 } 24 DeclItem
5828
;;;                                               } 23 List
5829
;;;                                             } 22 TypeName
5830
;;;                                             { 22 ParameterDeclaration
5831
;;;                                               isEllipsis = false
5832
;;;                                               { 23 TypeName
5833
;;;                                                 { 24 TypeSpecifier (all)
5834
;;;                                                   spec = const char (20100)
5835
;;;                                                 } 24 TypeSpecifier (all)
5836
;;;                                                 { 24 List
5837
;;;                                                   { 25 DeclItem
5838
;;;                                                     what = DECL_POINTER
5839
;;;                                                     { 26 List
5840
;;;                                                       { 27 Ptr
5841
;;;                                                       } 27 Ptr
5842
;;;                                                     } 26 List
5843
;;;                                                   } 25 DeclItem
5844
;;;                                                   { 25 DeclItem
5845
;;;                                                     what = DECL_NAME
5846
;;;                                                     name = buffer
5847
;;;                                                   } 25 DeclItem
5848
;;;                                                 } 24 List
5849
;;;                                               } 23 TypeName
5850
;;;                                             } 22 ParameterDeclaration
5851
;;;                                             { 22 Expression (variable name)
5852
;;;                                               expr_type = "identifier" (buffer)
5853 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at -8 (16 bit)
5854
        MOVE    10(SP), RR
5855 7 jsauermann
;;;                                             } 22 Expression (variable name)
5856 2 jsauermann
;--     push_rr (16 bit)
5857
        MOVE    RR, -(SP)
5858
;--     push 2 bytes
5859
;--     call
5860
        CALL    Cstrlen
5861
;--     pop 2 bytes
5862
        ADD     SP, #2
5863 7 jsauermann
;;;                                           } 21 Expr l(r)
5864 2 jsauermann
;--     push_rr (16 bit)
5865
        MOVE    RR, -(SP)
5866 7 jsauermann
;;;                                         } 20 Initializer (skalar)
5867
;;;                                       } 19 InitDeclarator
5868
;;;                                       { 19 InitDeclarator
5869
;;;                                         { 20 List
5870
;;;                                           { 21 DeclItem
5871
;;;                                             what = DECL_NAME
5872
;;;                                             name = len
5873
;;;                                           } 21 DeclItem
5874
;;;                                         } 20 List
5875 2 jsauermann
;--     push_zero 2 bytes
5876
        CLRW    -(SP)
5877 7 jsauermann
;;;                                       } 19 InitDeclarator
5878
;;;                                       { 19 InitDeclarator
5879
;;;                                         { 20 List
5880
;;;                                           { 21 DeclItem
5881
;;;                                             what = DECL_NAME
5882
;;;                                             name = i
5883
;;;                                           } 21 DeclItem
5884
;;;                                         } 20 List
5885 2 jsauermann
;--     push_zero 2 bytes
5886
        CLRW    -(SP)
5887 7 jsauermann
;;;                                       } 19 InitDeclarator
5888
;;;                                       { 19 List
5889
;;;                                         { 20 IfElseStatement
5890
;;;                                           { 21 Expr l > r
5891
;;;                                             { 22 TypeName (internal)
5892
;;;                                               { 23 TypeSpecifier (all)
5893
;;;                                                 spec = int (80000)
5894
;;;                                               } 23 TypeSpecifier (all)
5895
;;;                                             } 22 TypeName (internal)
5896
;;;                                             { 22 Expression (variable name)
5897
;;;                                               expr_type = "identifier" (min_w)
5898 2 jsauermann
;--     load_rr_var min_w = 11(FP), SP at -14 (16 bit)
5899
        MOVE    25(SP), RR
5900 7 jsauermann
;;;                                             } 22 Expression (variable name)
5901 2 jsauermann
;--     move_rr_to_ll
5902
        MOVE    RR, LL
5903 7 jsauermann
;;;                                             { 22 Expression (variable name)
5904
;;;                                               expr_type = "identifier" (buflen)
5905 2 jsauermann
;--     load_rr_var buflen = -10(FP), SP at -14 (16 bit)
5906
        MOVE    4(SP), RR
5907 7 jsauermann
;;;                                             } 22 Expression (variable name)
5908 2 jsauermann
;--     l > r
5909
        SGT     LL, RR
5910 7 jsauermann
;;;                                           } 21 Expr l > r
5911 2 jsauermann
;--     branch_false
5912
        JMP     RRZ, L19_endif_44
5913 7 jsauermann
;;;                                           { 21 ExpressionStatement
5914
;;;                                             { 22 Expr l = r
5915
;;;                                               { 23 TypeName
5916
;;;                                                 { 24 TypeSpecifier (all)
5917
;;;                                                   spec = int (80000)
5918
;;;                                                 } 24 TypeSpecifier (all)
5919
;;;                                                 { 24 List
5920
;;;                                                   { 25 DeclItem
5921
;;;                                                     what = DECL_NAME
5922
;;;                                                     name = padlen
5923
;;;                                                   } 25 DeclItem
5924
;;;                                                 } 24 List
5925
;;;                                               } 23 TypeName
5926
;;;                                               { 23 Expr l - r
5927
;;;                                                 { 24 Expression (variable name)
5928
;;;                                                   expr_type = "identifier" (min_w)
5929 2 jsauermann
;--     load_rr_var min_w = 11(FP), SP at -14 (16 bit)
5930
        MOVE    25(SP), RR
5931 7 jsauermann
;;;                                                 } 24 Expression (variable name)
5932 2 jsauermann
;--     move_rr_to_ll
5933
        MOVE    RR, LL
5934 7 jsauermann
;;;                                                 { 24 Expression (variable name)
5935
;;;                                                   expr_type = "identifier" (buflen)
5936 2 jsauermann
;--     load_rr_var buflen = -10(FP), SP at -14 (16 bit)
5937
        MOVE    4(SP), RR
5938 7 jsauermann
;;;                                                 } 24 Expression (variable name)
5939 2 jsauermann
;--     scale_rr *1
5940
;--     l - r
5941
        SUB     LL, RR
5942
;--     scale *1
5943 7 jsauermann
;;;                                               } 23 Expr l - r
5944 2 jsauermann
;--     store_rr_var padlen = -8(FP), SP at -14
5945
        MOVE    RR, 6(SP)
5946 7 jsauermann
;;;                                             } 22 Expr l = r
5947
;;;                                           } 21 ExpressionStatement
5948 2 jsauermann
L19_endif_44:
5949 7 jsauermann
;;;                                         } 20 IfElseStatement
5950
;;;                                         { 20 IfElseStatement
5951
;;;                                           { 21 Expression (variable name)
5952
;;;                                             expr_type = "identifier" (sign)
5953 2 jsauermann
;--     load_rr_var sign = 5(FP), SP at -14 (8 bit)
5954
        MOVE    19(SP), RS
5955 7 jsauermann
;;;                                           } 21 Expression (variable name)
5956 2 jsauermann
;--     branch_false
5957
        JMP     RRZ, L19_endif_45
5958 7 jsauermann
;;;                                           { 21 ExpressionStatement
5959
;;;                                             { 22 Expr l = r
5960
;;;                                               { 23 TypeName
5961
;;;                                                 { 24 TypeSpecifier (all)
5962
;;;                                                   spec = int (80000)
5963
;;;                                                 } 24 TypeSpecifier (all)
5964
;;;                                                 { 24 List
5965
;;;                                                   { 25 DeclItem
5966
;;;                                                     what = DECL_NAME
5967
;;;                                                     name = signlen
5968
;;;                                                   } 25 DeclItem
5969
;;;                                                 } 24 List
5970
;;;                                               } 23 TypeName
5971
;;;                                               { 23 NumericExpression (constant 1 = 0x1)
5972 2 jsauermann
;--     load_rr_constant
5973
        MOVE    #0x0001, RR
5974 7 jsauermann
;;;                                               } 23 NumericExpression (constant 1 = 0x1)
5975 2 jsauermann
;--     store_rr_var signlen = -4(FP), SP at -14
5976
        MOVE    RR, 10(SP)
5977 7 jsauermann
;;;                                             } 22 Expr l = r
5978
;;;                                           } 21 ExpressionStatement
5979 2 jsauermann
L19_endif_45:
5980 7 jsauermann
;;;                                         } 20 IfElseStatement
5981
;;;                                         { 20 IfElseStatement
5982
;;;                                           { 21 Expr l && r
5983
;;;                                             { 22 TypeName (internal)
5984
;;;                                               { 23 TypeSpecifier (all)
5985
;;;                                                 spec = int (80000)
5986
;;;                                               } 23 TypeSpecifier (all)
5987
;;;                                             } 22 TypeName (internal)
5988
;;;                                             { 22 IfElseStatement
5989
;;;                                               { 23 Expression (variable name)
5990
;;;                                                 expr_type = "identifier" (alt)
5991 2 jsauermann
;--     load_rr_var alt = 7(FP), SP at -14 (16 bit)
5992
        MOVE    21(SP), RR
5993 7 jsauermann
;;;                                               } 23 Expression (variable name)
5994 2 jsauermann
;--     branch_false
5995
        JMP     RRZ, L19_endif_47
5996 7 jsauermann
;;;                                               { 23 ExpressionStatement
5997
;;;                                                 { 24 Expr l & r
5998
;;;                                                   { 25 TypeName (internal)
5999
;;;                                                     { 26 TypeSpecifier (all)
6000
;;;                                                       spec = int (80000)
6001
;;;                                                     } 26 TypeSpecifier (all)
6002
;;;                                                   } 25 TypeName (internal)
6003
;;;                                                   { 25 Expression (variable name)
6004
;;;                                                     expr_type = "identifier" (flags)
6005 2 jsauermann
;--     load_rr_var flags = 4(FP), SP at -14 (8 bit)
6006
        MOVE    18(SP), RS
6007 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6008 2 jsauermann
;--     l & r
6009
        AND     RR, #0x0001
6010 7 jsauermann
;;;                                                 } 24 Expr l & r
6011
;;;                                               } 23 ExpressionStatement
6012 2 jsauermann
L19_endif_47:
6013 7 jsauermann
;;;                                             } 22 IfElseStatement
6014
;;;                                           } 21 Expr l && r
6015 2 jsauermann
;--     branch_false
6016
        JMP     RRZ, L19_endif_46
6017 7 jsauermann
;;;                                           { 21 ExpressionStatement
6018
;;;                                             { 22 Expr l = r
6019
;;;                                               { 23 TypeName
6020
;;;                                                 { 24 TypeSpecifier (all)
6021
;;;                                                   spec = int (80000)
6022
;;;                                                 } 24 TypeSpecifier (all)
6023
;;;                                                 { 24 List
6024
;;;                                                   { 25 DeclItem
6025
;;;                                                     what = DECL_NAME
6026
;;;                                                     name = altlen
6027
;;;                                                   } 25 DeclItem
6028
;;;                                                 } 24 List
6029
;;;                                               } 23 TypeName
6030
;;;                                               { 23 Expr l(r)
6031
;;;                                                 { 24 TypeName
6032
;;;                                                   { 25 TypeSpecifier (all)
6033
;;;                                                     spec = int (80000)
6034
;;;                                                   } 25 TypeSpecifier (all)
6035
;;;                                                   { 25 List
6036
;;;                                                     { 26 DeclItem
6037
;;;                                                       what = DECL_NAME
6038
;;;                                                       name = strlen
6039
;;;                                                     } 26 DeclItem
6040
;;;                                                   } 25 List
6041
;;;                                                 } 24 TypeName
6042
;;;                                                 { 24 ParameterDeclaration
6043
;;;                                                   isEllipsis = false
6044
;;;                                                   { 25 TypeName
6045
;;;                                                     { 26 TypeSpecifier (all)
6046
;;;                                                       spec = const char (20100)
6047
;;;                                                     } 26 TypeSpecifier (all)
6048
;;;                                                     { 26 List
6049
;;;                                                       { 27 DeclItem
6050
;;;                                                         what = DECL_POINTER
6051
;;;                                                         { 28 List
6052
;;;                                                           { 29 Ptr
6053
;;;                                                           } 29 Ptr
6054
;;;                                                         } 28 List
6055
;;;                                                       } 27 DeclItem
6056
;;;                                                       { 27 DeclItem
6057
;;;                                                         what = DECL_NAME
6058
;;;                                                         name = buffer
6059
;;;                                                       } 27 DeclItem
6060
;;;                                                     } 26 List
6061
;;;                                                   } 25 TypeName
6062
;;;                                                 } 24 ParameterDeclaration
6063
;;;                                                 { 24 Expression (variable name)
6064
;;;                                                   expr_type = "identifier" (alt)
6065 2 jsauermann
;--     load_rr_var alt = 7(FP), SP at -14 (16 bit)
6066
        MOVE    21(SP), RR
6067 7 jsauermann
;;;                                                 } 24 Expression (variable name)
6068 2 jsauermann
;--     push_rr (16 bit)
6069
        MOVE    RR, -(SP)
6070
;--     push 2 bytes
6071
;--     call
6072
        CALL    Cstrlen
6073
;--     pop 2 bytes
6074
        ADD     SP, #2
6075 7 jsauermann
;;;                                               } 23 Expr l(r)
6076 2 jsauermann
;--     store_rr_var altlen = -6(FP), SP at -14
6077
        MOVE    RR, 8(SP)
6078 7 jsauermann
;;;                                             } 22 Expr l = r
6079
;;;                                           } 21 ExpressionStatement
6080 2 jsauermann
L19_endif_46:
6081 7 jsauermann
;;;                                         } 20 IfElseStatement
6082
;;;                                         { 20 ExpressionStatement
6083
;;;                                           { 21 Expr l = r
6084
;;;                                             { 22 TypeName
6085
;;;                                               { 23 TypeSpecifier (all)
6086
;;;                                                 spec = int (80000)
6087
;;;                                               } 23 TypeSpecifier (all)
6088
;;;                                               { 23 List
6089
;;;                                                 { 24 DeclItem
6090
;;;                                                   what = DECL_NAME
6091
;;;                                                   name = len
6092
;;;                                                 } 24 DeclItem
6093
;;;                                               } 23 List
6094
;;;                                             } 22 TypeName
6095
;;;                                             { 22 Expr l + r
6096
;;;                                               { 23 Expr l + r
6097
;;;                                                 { 24 Expr l + r
6098
;;;                                                   { 25 Expression (variable name)
6099
;;;                                                     expr_type = "identifier" (signlen)
6100 2 jsauermann
;--     load_rr_var signlen = -4(FP), SP at -14 (16 bit)
6101
        MOVE    10(SP), RR
6102 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6103 2 jsauermann
;--     move_rr_to_ll
6104
        MOVE    RR, LL
6105 7 jsauermann
;;;                                                   { 25 Expression (variable name)
6106
;;;                                                     expr_type = "identifier" (altlen)
6107 2 jsauermann
;--     load_rr_var altlen = -6(FP), SP at -14 (16 bit)
6108
        MOVE    8(SP), RR
6109 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6110 2 jsauermann
;--     scale_rr *1
6111
;--     l + r
6112
        ADD     LL, RR
6113 7 jsauermann
;;;                                                 } 24 Expr l + r
6114 2 jsauermann
;--     move_rr_to_ll
6115
        MOVE    RR, LL
6116 7 jsauermann
;;;                                                 { 24 Expression (variable name)
6117
;;;                                                   expr_type = "identifier" (padlen)
6118 2 jsauermann
;--     load_rr_var padlen = -8(FP), SP at -14 (16 bit)
6119
        MOVE    6(SP), RR
6120 7 jsauermann
;;;                                                 } 24 Expression (variable name)
6121 2 jsauermann
;--     scale_rr *1
6122
;--     l + r
6123
        ADD     LL, RR
6124 7 jsauermann
;;;                                               } 23 Expr l + r
6125 2 jsauermann
;--     move_rr_to_ll
6126
        MOVE    RR, LL
6127 7 jsauermann
;;;                                               { 23 Expression (variable name)
6128
;;;                                                 expr_type = "identifier" (buflen)
6129 2 jsauermann
;--     load_rr_var buflen = -10(FP), SP at -14 (16 bit)
6130
        MOVE    4(SP), RR
6131 7 jsauermann
;;;                                               } 23 Expression (variable name)
6132 2 jsauermann
;--     scale_rr *1
6133
;--     l + r
6134
        ADD     LL, RR
6135 7 jsauermann
;;;                                             } 22 Expr l + r
6136 2 jsauermann
;--     store_rr_var len = -12(FP), SP at -14
6137
        MOVE    RR, 2(SP)
6138 7 jsauermann
;;;                                           } 21 Expr l = r
6139
;;;                                         } 20 ExpressionStatement
6140
;;;                                         { 20 IfElseStatement
6141
;;;                                           { 21 Expr l & r
6142
;;;                                             { 22 TypeName (internal)
6143
;;;                                               { 23 TypeSpecifier (all)
6144
;;;                                                 spec = int (80000)
6145
;;;                                               } 23 TypeSpecifier (all)
6146
;;;                                             } 22 TypeName (internal)
6147
;;;                                             { 22 Expr ~ r
6148
;;;                                               { 23 Expression (variable name)
6149
;;;                                                 expr_type = "identifier" (flags)
6150 2 jsauermann
;--     load_rr_var flags = 4(FP), SP at -14 (8 bit)
6151
        MOVE    18(SP), RS
6152 7 jsauermann
;;;                                               } 23 Expression (variable name)
6153 2 jsauermann
;--     16 bit ~ r
6154
        NOT     RR
6155 7 jsauermann
;;;                                             } 22 Expr ~ r
6156 2 jsauermann
;--     l & r
6157
        AND     RR, #0x0002
6158 7 jsauermann
;;;                                           } 21 Expr l & r
6159 2 jsauermann
;--     branch_false
6160
        JMP     RRZ, L19_endif_48
6161 7 jsauermann
;;;                                           { 21 ExpressionStatement
6162
;;;                                             { 22 Expr l(r)
6163
;;;                                               { 23 TypeName
6164
;;;                                                 { 24 TypeSpecifier (all)
6165
;;;                                                   spec = void (10000)
6166
;;;                                                 } 24 TypeSpecifier (all)
6167
;;;                                                 { 24 List
6168
;;;                                                   { 25 DeclItem
6169
;;;                                                     what = DECL_NAME
6170
;;;                                                     name = print_n
6171
;;;                                                   } 25 DeclItem
6172
;;;                                                 } 24 List
6173
;;;                                               } 23 TypeName
6174
;;;                                               { 23 Expr (l , r)
6175
;;;                                                 { 24 ParameterDeclaration
6176
;;;                                                   isEllipsis = false
6177
;;;                                                   { 25 TypeName
6178
;;;                                                     { 26 TypeSpecifier (all)
6179
;;;                                                       spec = int (80000)
6180
;;;                                                     } 26 TypeSpecifier (all)
6181
;;;                                                     { 26 List
6182
;;;                                                       { 27 DeclItem
6183
;;;                                                         what = DECL_NAME
6184
;;;                                                         name = count
6185
;;;                                                       } 27 DeclItem
6186
;;;                                                     } 26 List
6187
;;;                                                   } 25 TypeName
6188
;;;                                                 } 24 ParameterDeclaration
6189
;;;                                                 { 24 Expr l - r
6190
;;;                                                   { 25 Expression (variable name)
6191
;;;                                                     expr_type = "identifier" (field_w)
6192 2 jsauermann
;--     load_rr_var field_w = 9(FP), SP at -14 (16 bit)
6193
        MOVE    23(SP), RR
6194 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6195 2 jsauermann
;--     move_rr_to_ll
6196
        MOVE    RR, LL
6197 7 jsauermann
;;;                                                   { 25 Expression (variable name)
6198
;;;                                                     expr_type = "identifier" (len)
6199 2 jsauermann
;--     load_rr_var len = -12(FP), SP at -14 (16 bit)
6200
        MOVE    2(SP), RR
6201 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6202 2 jsauermann
;--     scale_rr *1
6203
;--     l - r
6204
        SUB     LL, RR
6205
;--     scale *1
6206 7 jsauermann
;;;                                                 } 24 Expr l - r
6207 2 jsauermann
;--     push_rr (16 bit)
6208
        MOVE    RR, -(SP)
6209 7 jsauermann
;;;                                                 { 24 ParameterDeclaration
6210
;;;                                                   isEllipsis = false
6211
;;;                                                   { 25 TypeName
6212
;;;                                                     { 26 TypeSpecifier (all)
6213
;;;                                                       spec = char (20000)
6214
;;;                                                     } 26 TypeSpecifier (all)
6215
;;;                                                     { 26 List
6216
;;;                                                       { 27 DeclItem
6217
;;;                                                         what = DECL_NAME
6218
;;;                                                         name = c
6219
;;;                                                       } 27 DeclItem
6220
;;;                                                     } 26 List
6221
;;;                                                   } 25 TypeName
6222
;;;                                                 } 24 ParameterDeclaration
6223
;;;                                                 { 24 Expression (variable name)
6224
;;;                                                   expr_type = "identifier" (pad)
6225 2 jsauermann
;--     load_rr_var pad = 6(FP), SP at -16 (8 bit)
6226
        MOVE    22(SP), RS
6227 7 jsauermann
;;;                                                 } 24 Expression (variable name)
6228 2 jsauermann
;--     push_rr (8 bit)
6229
        MOVE    R, -(SP)
6230 7 jsauermann
;;;                                               } 23 Expr (l , r)
6231 2 jsauermann
;--     push 0 bytes
6232
;--     call
6233
        CALL    Cprint_n
6234
;--     pop 3 bytes
6235
        ADD     SP, #3
6236 7 jsauermann
;;;                                             } 22 Expr l(r)
6237
;;;                                           } 21 ExpressionStatement
6238 2 jsauermann
L19_endif_48:
6239 7 jsauermann
;;;                                         } 20 IfElseStatement
6240
;;;                                         { 20 IfElseStatement
6241
;;;                                           { 21 Expression (variable name)
6242
;;;                                             expr_type = "identifier" (sign)
6243 2 jsauermann
;--     load_rr_var sign = 5(FP), SP at -14 (8 bit)
6244
        MOVE    19(SP), RS
6245 7 jsauermann
;;;                                           } 21 Expression (variable name)
6246 2 jsauermann
;--     branch_false
6247
        JMP     RRZ, L19_endif_49
6248 7 jsauermann
;;;                                           { 21 ExpressionStatement
6249
;;;                                             { 22 Expr l(r)
6250
;;;                                               { 23 TypeName
6251
;;;                                                 { 24 TypeSpecifier (all)
6252
;;;                                                   spec = int (80000)
6253
;;;                                                 } 24 TypeSpecifier (all)
6254
;;;                                                 { 24 List
6255
;;;                                                   { 25 DeclItem
6256
;;;                                                     what = DECL_NAME
6257
;;;                                                     name = putchr
6258
;;;                                                   } 25 DeclItem
6259
;;;                                                 } 24 List
6260
;;;                                               } 23 TypeName
6261
;;;                                               { 23 ParameterDeclaration
6262
;;;                                                 isEllipsis = false
6263
;;;                                                 { 24 TypeName
6264
;;;                                                   { 25 TypeSpecifier (all)
6265
;;;                                                     spec = char (20000)
6266
;;;                                                   } 25 TypeSpecifier (all)
6267
;;;                                                   { 25 List
6268
;;;                                                     { 26 DeclItem
6269
;;;                                                       what = DECL_NAME
6270
;;;                                                       name = c
6271
;;;                                                     } 26 DeclItem
6272
;;;                                                   } 25 List
6273
;;;                                                 } 24 TypeName
6274
;;;                                               } 23 ParameterDeclaration
6275
;;;                                               { 23 Expression (variable name)
6276
;;;                                                 expr_type = "identifier" (sign)
6277 2 jsauermann
;--     load_rr_var sign = 5(FP), SP at -14 (8 bit)
6278
        MOVE    19(SP), RS
6279 7 jsauermann
;;;                                               } 23 Expression (variable name)
6280 2 jsauermann
;--     push_rr (8 bit)
6281
        MOVE    R, -(SP)
6282
;--     push 2 bytes
6283
;--     call
6284
        CALL    Cputchr
6285
;--     pop 1 bytes
6286
        ADD     SP, #1
6287 7 jsauermann
;;;                                             } 22 Expr l(r)
6288
;;;                                           } 21 ExpressionStatement
6289 2 jsauermann
L19_endif_49:
6290 7 jsauermann
;;;                                         } 20 IfElseStatement
6291
;;;                                         { 20 IfElseStatement
6292
;;;                                           { 21 Expression (variable name)
6293
;;;                                             expr_type = "identifier" (alt)
6294 2 jsauermann
;--     load_rr_var alt = 7(FP), SP at -14 (16 bit)
6295
        MOVE    21(SP), RR
6296 7 jsauermann
;;;                                           } 21 Expression (variable name)
6297 2 jsauermann
;--     branch_false
6298
        JMP     RRZ, L19_endif_50
6299 7 jsauermann
;;;                                           { 21 CompoundStatement
6300
;;;                                             { 22 List
6301
;;;                                               { 23 IfElseStatement
6302
;;;                                                 { 24 Expr l & r
6303
;;;                                                   { 25 TypeName (internal)
6304
;;;                                                     { 26 TypeSpecifier (all)
6305
;;;                                                       spec = int (80000)
6306
;;;                                                     } 26 TypeSpecifier (all)
6307
;;;                                                   } 25 TypeName (internal)
6308
;;;                                                   { 25 Expression (variable name)
6309
;;;                                                     expr_type = "identifier" (flags)
6310 2 jsauermann
;--     load_rr_var flags = 4(FP), SP at -14 (8 bit)
6311
        MOVE    18(SP), RS
6312 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6313 2 jsauermann
;--     l & r
6314
        AND     RR, #0x0001
6315 7 jsauermann
;;;                                                 } 24 Expr l & r
6316 2 jsauermann
;--     branch_false
6317
        JMP     RRZ, L19_endif_51
6318 7 jsauermann
;;;                                                 { 24 ExpressionStatement
6319
;;;                                                   { 25 Expr l(r)
6320
;;;                                                     { 26 TypeName
6321
;;;                                                       { 27 TypeSpecifier (all)
6322
;;;                                                         spec = void (10000)
6323
;;;                                                       } 27 TypeSpecifier (all)
6324
;;;                                                       { 27 List
6325
;;;                                                         { 28 DeclItem
6326
;;;                                                           what = DECL_NAME
6327
;;;                                                           name = print_string
6328
;;;                                                         } 28 DeclItem
6329
;;;                                                       } 27 List
6330
;;;                                                     } 26 TypeName
6331
;;;                                                     { 26 ParameterDeclaration
6332
;;;                                                       isEllipsis = false
6333
;;;                                                       { 27 TypeName
6334
;;;                                                         { 28 TypeSpecifier (all)
6335
;;;                                                           spec = const char (20100)
6336
;;;                                                         } 28 TypeSpecifier (all)
6337
;;;                                                         { 28 List
6338
;;;                                                           { 29 DeclItem
6339
;;;                                                             what = DECL_POINTER
6340
;;;                                                             { 30 List
6341
;;;                                                               { 31 Ptr
6342
;;;                                                               } 31 Ptr
6343
;;;                                                             } 30 List
6344
;;;                                                           } 29 DeclItem
6345
;;;                                                           { 29 DeclItem
6346
;;;                                                             what = DECL_NAME
6347
;;;                                                             name = buffer
6348
;;;                                                           } 29 DeclItem
6349
;;;                                                         } 28 List
6350
;;;                                                       } 27 TypeName
6351
;;;                                                     } 26 ParameterDeclaration
6352
;;;                                                     { 26 Expression (variable name)
6353
;;;                                                       expr_type = "identifier" (alt)
6354 2 jsauermann
;--     load_rr_var alt = 7(FP), SP at -14 (16 bit)
6355
        MOVE    21(SP), RR
6356 7 jsauermann
;;;                                                     } 26 Expression (variable name)
6357 2 jsauermann
;--     push_rr (16 bit)
6358
        MOVE    RR, -(SP)
6359
;--     push 0 bytes
6360
;--     call
6361
        CALL    Cprint_string
6362
;--     pop 2 bytes
6363
        ADD     SP, #2
6364 7 jsauermann
;;;                                                   } 25 Expr l(r)
6365
;;;                                                 } 24 ExpressionStatement
6366 2 jsauermann
L19_endif_51:
6367 7 jsauermann
;;;                                               } 23 IfElseStatement
6368
;;;                                             } 22 List
6369
;--     pop 0 bytes
6370
;;;                                           } 21 CompoundStatement
6371 2 jsauermann
L19_endif_50:
6372 7 jsauermann
;;;                                         } 20 IfElseStatement
6373
;;;                                         { 20 for Statement
6374
;;;                                           { 21 ExpressionStatement
6375
;;;                                             { 22 Expr l = r
6376
;;;                                               { 23 TypeName
6377
;;;                                                 { 24 TypeSpecifier (all)
6378
;;;                                                   spec = int (80000)
6379
;;;                                                 } 24 TypeSpecifier (all)
6380
;;;                                                 { 24 List
6381
;;;                                                   { 25 DeclItem
6382
;;;                                                     what = DECL_NAME
6383
;;;                                                     name = i
6384
;;;                                                   } 25 DeclItem
6385
;;;                                                 } 24 List
6386
;;;                                               } 23 TypeName
6387
;;;                                               { 23 NumericExpression (constant 0 = 0x0)
6388 2 jsauermann
;--     load_rr_constant
6389
        MOVE    #0x0000, RR
6390 7 jsauermann
;;;                                               } 23 NumericExpression (constant 0 = 0x0)
6391 2 jsauermann
;--     store_rr_var i = -14(FP), SP at -14
6392
        MOVE    RR, 0(SP)
6393 7 jsauermann
;;;                                             } 22 Expr l = r
6394
;;;                                           } 21 ExpressionStatement
6395 2 jsauermann
;--     branch
6396
        JMP     L19_tst_52
6397
L19_loop_52:
6398 7 jsauermann
;;;                                           { 21 ExpressionStatement
6399
;;;                                             { 22 Expr l(r)
6400
;;;                                               { 23 TypeName
6401
;;;                                                 { 24 TypeSpecifier (all)
6402
;;;                                                   spec = int (80000)
6403
;;;                                                 } 24 TypeSpecifier (all)
6404
;;;                                                 { 24 List
6405
;;;                                                   { 25 DeclItem
6406
;;;                                                     what = DECL_NAME
6407
;;;                                                     name = putchr
6408
;;;                                                   } 25 DeclItem
6409
;;;                                                 } 24 List
6410
;;;                                               } 23 TypeName
6411
;;;                                               { 23 ParameterDeclaration
6412
;;;                                                 isEllipsis = false
6413
;;;                                                 { 24 TypeName
6414
;;;                                                   { 25 TypeSpecifier (all)
6415
;;;                                                     spec = char (20000)
6416
;;;                                                   } 25 TypeSpecifier (all)
6417
;;;                                                   { 25 List
6418
;;;                                                     { 26 DeclItem
6419
;;;                                                       what = DECL_NAME
6420
;;;                                                       name = c
6421
;;;                                                     } 26 DeclItem
6422
;;;                                                   } 25 List
6423
;;;                                                 } 24 TypeName
6424
;;;                                               } 23 ParameterDeclaration
6425
;;;                                               { 23 Expression (variable name)
6426
;;;                                                 expr_type = "identifier" (min_p)
6427 2 jsauermann
;--     load_rr_var min_p = 13(FP), SP at -14 (8 bit)
6428
        MOVE    27(SP), RS
6429 7 jsauermann
;;;                                               } 23 Expression (variable name)
6430 2 jsauermann
;--     push_rr (8 bit)
6431
        MOVE    R, -(SP)
6432
;--     push 2 bytes
6433
;--     call
6434
        CALL    Cputchr
6435
;--     pop 1 bytes
6436
        ADD     SP, #1
6437 7 jsauermann
;;;                                             } 22 Expr l(r)
6438
;;;                                           } 21 ExpressionStatement
6439 2 jsauermann
L19_cont_52:
6440 7 jsauermann
;;;                                           { 21 Expr l - r
6441
;;;                                             { 22 Expr ++r
6442
;;;                                               { 23 Expression (variable name)
6443
;;;                                                 expr_type = "identifier" (i)
6444 2 jsauermann
;--     load_rr_var i = -14(FP), SP at -14 (16 bit)
6445
        MOVE    0(SP), RR
6446 7 jsauermann
;;;                                               } 23 Expression (variable name)
6447 2 jsauermann
;--     ++
6448
        ADD     RR, #0x0001
6449
;--     store_rr_var i = -14(FP), SP at -14
6450
        MOVE    RR, 0(SP)
6451 7 jsauermann
;;;                                             } 22 Expr ++r
6452 2 jsauermann
;--     l - r
6453
        SUB     RR, #0x0001
6454 7 jsauermann
;;;                                           } 21 Expr l - r
6455 2 jsauermann
L19_tst_52:
6456 7 jsauermann
;;;                                           { 21 Expr l < r
6457
;;;                                             { 22 TypeName (internal)
6458
;;;                                               { 23 TypeSpecifier (all)
6459
;;;                                                 spec = int (80000)
6460
;;;                                               } 23 TypeSpecifier (all)
6461
;;;                                             } 22 TypeName (internal)
6462
;;;                                             { 22 Expression (variable name)
6463
;;;                                               expr_type = "identifier" (i)
6464 2 jsauermann
;--     load_rr_var i = -14(FP), SP at -14 (16 bit)
6465
        MOVE    0(SP), RR
6466 7 jsauermann
;;;                                             } 22 Expression (variable name)
6467 2 jsauermann
;--     move_rr_to_ll
6468
        MOVE    RR, LL
6469 7 jsauermann
;;;                                             { 22 Expression (variable name)
6470
;;;                                               expr_type = "identifier" (padlen)
6471 2 jsauermann
;--     load_rr_var padlen = -8(FP), SP at -14 (16 bit)
6472
        MOVE    6(SP), RR
6473 7 jsauermann
;;;                                             } 22 Expression (variable name)
6474 2 jsauermann
;--     l < r
6475
        SLT     LL, RR
6476 7 jsauermann
;;;                                           } 21 Expr l < r
6477 2 jsauermann
;--     branch_true
6478
        JMP     RRNZ, L19_loop_52
6479
L19_brk_53:
6480 7 jsauermann
;;;                                         } 20 for Statement
6481
;;;                                         { 20 ExpressionStatement
6482
;;;                                           { 21 Expr l(r)
6483
;;;                                             { 22 TypeName
6484
;;;                                               { 23 TypeSpecifier (all)
6485
;;;                                                 spec = void (10000)
6486
;;;                                               } 23 TypeSpecifier (all)
6487
;;;                                               { 23 List
6488
;;;                                                 { 24 DeclItem
6489
;;;                                                   what = DECL_NAME
6490
;;;                                                   name = print_string
6491
;;;                                                 } 24 DeclItem
6492
;;;                                               } 23 List
6493
;;;                                             } 22 TypeName
6494
;;;                                             { 22 ParameterDeclaration
6495
;;;                                               isEllipsis = false
6496
;;;                                               { 23 TypeName
6497
;;;                                                 { 24 TypeSpecifier (all)
6498
;;;                                                   spec = const char (20100)
6499
;;;                                                 } 24 TypeSpecifier (all)
6500
;;;                                                 { 24 List
6501
;;;                                                   { 25 DeclItem
6502
;;;                                                     what = DECL_POINTER
6503
;;;                                                     { 26 List
6504
;;;                                                       { 27 Ptr
6505
;;;                                                       } 27 Ptr
6506
;;;                                                     } 26 List
6507
;;;                                                   } 25 DeclItem
6508
;;;                                                   { 25 DeclItem
6509
;;;                                                     what = DECL_NAME
6510
;;;                                                     name = buffer
6511
;;;                                                   } 25 DeclItem
6512
;;;                                                 } 24 List
6513
;;;                                               } 23 TypeName
6514
;;;                                             } 22 ParameterDeclaration
6515
;;;                                             { 22 Expression (variable name)
6516
;;;                                               expr_type = "identifier" (buffer)
6517 2 jsauermann
;--     load_rr_var buffer = 2(FP), SP at -14 (16 bit)
6518
        MOVE    16(SP), RR
6519 7 jsauermann
;;;                                             } 22 Expression (variable name)
6520 2 jsauermann
;--     push_rr (16 bit)
6521
        MOVE    RR, -(SP)
6522
;--     push 0 bytes
6523
;--     call
6524
        CALL    Cprint_string
6525
;--     pop 2 bytes
6526
        ADD     SP, #2
6527 7 jsauermann
;;;                                           } 21 Expr l(r)
6528
;;;                                         } 20 ExpressionStatement
6529
;;;                                         { 20 IfElseStatement
6530
;;;                                           { 21 Expr l & r
6531
;;;                                             { 22 TypeName (internal)
6532
;;;                                               { 23 TypeSpecifier (all)
6533
;;;                                                 spec = int (80000)
6534
;;;                                               } 23 TypeSpecifier (all)
6535
;;;                                             } 22 TypeName (internal)
6536
;;;                                             { 22 Expression (variable name)
6537
;;;                                               expr_type = "identifier" (flags)
6538 2 jsauermann
;--     load_rr_var flags = 4(FP), SP at -14 (8 bit)
6539
        MOVE    18(SP), RS
6540 7 jsauermann
;;;                                             } 22 Expression (variable name)
6541 2 jsauermann
;--     l & r
6542
        AND     RR, #0x0002
6543 7 jsauermann
;;;                                           } 21 Expr l & r
6544 2 jsauermann
;--     branch_false
6545
        JMP     RRZ, L19_endif_54
6546 7 jsauermann
;;;                                           { 21 ExpressionStatement
6547
;;;                                             { 22 Expr l(r)
6548
;;;                                               { 23 TypeName
6549
;;;                                                 { 24 TypeSpecifier (all)
6550
;;;                                                   spec = void (10000)
6551
;;;                                                 } 24 TypeSpecifier (all)
6552
;;;                                                 { 24 List
6553
;;;                                                   { 25 DeclItem
6554
;;;                                                     what = DECL_NAME
6555
;;;                                                     name = print_n
6556
;;;                                                   } 25 DeclItem
6557
;;;                                                 } 24 List
6558
;;;                                               } 23 TypeName
6559
;;;                                               { 23 Expr (l , r)
6560
;;;                                                 { 24 ParameterDeclaration
6561
;;;                                                   isEllipsis = false
6562
;;;                                                   { 25 TypeName
6563
;;;                                                     { 26 TypeSpecifier (all)
6564
;;;                                                       spec = int (80000)
6565
;;;                                                     } 26 TypeSpecifier (all)
6566
;;;                                                     { 26 List
6567
;;;                                                       { 27 DeclItem
6568
;;;                                                         what = DECL_NAME
6569
;;;                                                         name = count
6570
;;;                                                       } 27 DeclItem
6571
;;;                                                     } 26 List
6572
;;;                                                   } 25 TypeName
6573
;;;                                                 } 24 ParameterDeclaration
6574
;;;                                                 { 24 Expr l - r
6575
;;;                                                   { 25 Expression (variable name)
6576
;;;                                                     expr_type = "identifier" (field_w)
6577 2 jsauermann
;--     load_rr_var field_w = 9(FP), SP at -14 (16 bit)
6578
        MOVE    23(SP), RR
6579 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6580 2 jsauermann
;--     move_rr_to_ll
6581
        MOVE    RR, LL
6582 7 jsauermann
;;;                                                   { 25 Expression (variable name)
6583
;;;                                                     expr_type = "identifier" (len)
6584 2 jsauermann
;--     load_rr_var len = -12(FP), SP at -14 (16 bit)
6585
        MOVE    2(SP), RR
6586 7 jsauermann
;;;                                                   } 25 Expression (variable name)
6587 2 jsauermann
;--     scale_rr *1
6588
;--     l - r
6589
        SUB     LL, RR
6590
;--     scale *1
6591 7 jsauermann
;;;                                                 } 24 Expr l - r
6592 2 jsauermann
;--     push_rr (16 bit)
6593
        MOVE    RR, -(SP)
6594 7 jsauermann
;;;                                                 { 24 ParameterDeclaration
6595
;;;                                                   isEllipsis = false
6596
;;;                                                   { 25 TypeName
6597
;;;                                                     { 26 TypeSpecifier (all)
6598
;;;                                                       spec = char (20000)
6599
;;;                                                     } 26 TypeSpecifier (all)
6600
;;;                                                     { 26 List
6601
;;;                                                       { 27 DeclItem
6602
;;;                                                         what = DECL_NAME
6603
;;;                                                         name = c
6604
;;;                                                       } 27 DeclItem
6605
;;;                                                     } 26 List
6606
;;;                                                   } 25 TypeName
6607
;;;                                                 } 24 ParameterDeclaration
6608
;;;                                                 { 24 Expression (variable name)
6609
;;;                                                   expr_type = "identifier" (pad)
6610 2 jsauermann
;--     load_rr_var pad = 6(FP), SP at -16 (8 bit)
6611
        MOVE    22(SP), RS
6612 7 jsauermann
;;;                                                 } 24 Expression (variable name)
6613 2 jsauermann
;--     push_rr (8 bit)
6614
        MOVE    R, -(SP)
6615 7 jsauermann
;;;                                               } 23 Expr (l , r)
6616 2 jsauermann
;--     push 0 bytes
6617
;--     call
6618
        CALL    Cprint_n
6619
;--     pop 3 bytes
6620
        ADD     SP, #3
6621 7 jsauermann
;;;                                             } 22 Expr l(r)
6622
;;;                                           } 21 ExpressionStatement
6623 2 jsauermann
L19_endif_54:
6624 7 jsauermann
;;;                                         } 20 IfElseStatement
6625
;;;                                         { 20 return Statement
6626
;;;                                           { 21 Expression (variable name)
6627
;;;                                             expr_type = "identifier" (len)
6628 2 jsauermann
;--     load_rr_var len = -12(FP), SP at -14 (16 bit)
6629
        MOVE    2(SP), RR
6630 7 jsauermann
;;;                                           } 21 Expression (variable name)
6631 2 jsauermann
;--     ret
6632 7 jsauermann
        ADD     SP, #14
6633
        RET
6634
;;;                                         } 20 return Statement
6635
;;;                                       } 19 List
6636 2 jsauermann
;--     pop 14 bytes
6637
        ADD     SP, #14
6638 7 jsauermann
;;;                                     } 18 CompoundStatement
6639
;--     ret
6640 2 jsauermann
        RET
6641
;;; ------------------------------------;
6642 7 jsauermann
;;;                                     { 18 FunctionDefinition
6643
;;;                                       { 19 TypeName
6644
;;;                                         { 20 TypeSpecifier (all)
6645
;;;                                           spec = int (80000)
6646
;;;                                         } 20 TypeSpecifier (all)
6647
;;;                                         { 20 List
6648
;;;                                           { 21 DeclItem
6649
;;;                                             what = DECL_NAME
6650
;;;                                             name = printf
6651
;;;                                           } 21 DeclItem
6652
;;;                                         } 20 List
6653
;;;                                       } 19 TypeName
6654
;;;                                       { 19 List
6655
;;;                                         { 20 DeclItem
6656
;;;                                           what = DECL_NAME
6657
;;;                                           name = printf
6658
;;;                                         } 20 DeclItem
6659
;;;                                         { 20 DeclItem
6660
;;;                                           what = DECL_FUN
6661
;;;                                           { 21 List
6662
;;;                                             { 22 ParameterDeclaration
6663
;;;                                               isEllipsis = true
6664
;;;                                               { 23 TypeName
6665
;;;                                                 { 24 TypeSpecifier (all)
6666
;;;                                                   spec = const char (20100)
6667
;;;                                                 } 24 TypeSpecifier (all)
6668
;;;                                                 { 24 List
6669
;;;                                                   { 25 DeclItem
6670
;;;                                                     what = DECL_POINTER
6671
;;;                                                     { 26 List
6672
;;;                                                       { 27 Ptr
6673
;;;                                                       } 27 Ptr
6674
;;;                                                     } 26 List
6675
;;;                                                   } 25 DeclItem
6676
;;;                                                   { 25 DeclItem
6677
;;;                                                     what = DECL_NAME
6678
;;;                                                     name = format
6679
;;;                                                   } 25 DeclItem
6680
;;;                                                 } 24 List
6681
;;;                                               } 23 TypeName
6682
;;;                                             } 22 ParameterDeclaration
6683
;;;                                           } 21 List
6684
;;;                                         } 20 DeclItem
6685
;;;                                       } 19 List
6686 2 jsauermann
Cprintf:
6687 7 jsauermann
;;;                                       { 19 CompoundStatement
6688
;;;                                         { 20 InitDeclarator
6689
;;;                                           { 21 List
6690
;;;                                             { 22 DeclItem
6691
;;;                                               what = DECL_POINTER
6692
;;;                                               { 23 List
6693
;;;                                                 { 24 Ptr
6694
;;;                                                 } 24 Ptr
6695
;;;                                                 { 24 Ptr
6696
;;;                                                 } 24 Ptr
6697
;;;                                               } 23 List
6698
;;;                                             } 22 DeclItem
6699
;;;                                             { 22 DeclItem
6700
;;;                                               what = DECL_NAME
6701
;;;                                               name = args
6702
;;;                                             } 22 DeclItem
6703
;;;                                           } 21 List
6704
;;;                                           { 21 Initializer (skalar)
6705
;;;                                             { 22 Expr l + r
6706
;;;                                               { 23 Expr & r
6707 2 jsauermann
;--     load_address format = 2(FP), SP at 0
6708
        LEA     2(SP), RR
6709 7 jsauermann
;;;                                               } 23 Expr & r
6710 2 jsauermann
;--     l + r
6711
        ADD     RR, #0x0002
6712 7 jsauermann
;;;                                             } 22 Expr l + r
6713 2 jsauermann
;--     push_rr (16 bit)
6714
        MOVE    RR, -(SP)
6715 7 jsauermann
;;;                                           } 21 Initializer (skalar)
6716
;;;                                         } 20 InitDeclarator
6717
;;;                                         { 20 InitDeclarator
6718
;;;                                           { 21 List
6719
;;;                                             { 22 DeclItem
6720
;;;                                               what = DECL_NAME
6721
;;;                                               name = len
6722
;;;                                             } 22 DeclItem
6723
;;;                                           } 21 List
6724
;;;                                           { 21 Initializer (skalar)
6725 2 jsauermann
;--     push_zero 2 bytes
6726
        CLRW    -(SP)
6727 7 jsauermann
;;;                                           } 21 Initializer (skalar)
6728
;;;                                         } 20 InitDeclarator
6729
;;;                                         { 20 InitDeclarator
6730
;;;                                           { 21 List
6731
;;;                                             { 22 DeclItem
6732
;;;                                               what = DECL_NAME
6733
;;;                                               name = c
6734
;;;                                             } 22 DeclItem
6735
;;;                                           } 21 List
6736 2 jsauermann
;--     push_zero 1 bytes
6737
        CLRB    -(SP)
6738 7 jsauermann
;;;                                         } 20 InitDeclarator
6739
;;;                                         { 20 InitDeclarator
6740
;;;                                           { 21 List
6741
;;;                                             { 22 DeclItem
6742
;;;                                               what = DECL_NAME
6743
;;;                                               name = flags
6744
;;;                                             } 22 DeclItem
6745
;;;                                           } 21 List
6746 2 jsauermann
;--     push_zero 1 bytes
6747
        CLRB    -(SP)
6748 7 jsauermann
;;;                                         } 20 InitDeclarator
6749
;;;                                         { 20 InitDeclarator
6750
;;;                                           { 21 List
6751
;;;                                             { 22 DeclItem
6752
;;;                                               what = DECL_NAME
6753
;;;                                               name = sign
6754
;;;                                             } 22 DeclItem
6755
;;;                                           } 21 List
6756 2 jsauermann
;--     push_zero 1 bytes
6757
        CLRB    -(SP)
6758 7 jsauermann
;;;                                         } 20 InitDeclarator
6759
;;;                                         { 20 InitDeclarator
6760
;;;                                           { 21 List
6761
;;;                                             { 22 DeclItem
6762
;;;                                               what = DECL_NAME
6763
;;;                                               name = pad
6764
;;;                                             } 22 DeclItem
6765
;;;                                           } 21 List
6766 2 jsauermann
;--     push_zero 1 bytes
6767
        CLRB    -(SP)
6768 7 jsauermann
;;;                                         } 20 InitDeclarator
6769
;;;                                         { 20 InitDeclarator
6770
;;;                                           { 21 List
6771
;;;                                             { 22 DeclItem
6772
;;;                                               what = DECL_POINTER
6773
;;;                                               { 23 List
6774
;;;                                                 { 24 Ptr
6775
;;;                                                 } 24 Ptr
6776
;;;                                               } 23 List
6777
;;;                                             } 22 DeclItem
6778
;;;                                             { 22 DeclItem
6779
;;;                                               what = DECL_NAME
6780
;;;                                               name = alt
6781
;;;                                             } 22 DeclItem
6782
;;;                                           } 21 List
6783 2 jsauermann
;--     push_zero 2 bytes
6784
        CLRW    -(SP)
6785 7 jsauermann
;;;                                         } 20 InitDeclarator
6786
;;;                                         { 20 InitDeclarator
6787
;;;                                           { 21 List
6788
;;;                                             { 22 DeclItem
6789
;;;                                               what = DECL_NAME
6790
;;;                                               name = field_w
6791
;;;                                             } 22 DeclItem
6792
;;;                                           } 21 List
6793 2 jsauermann
;--     push_zero 2 bytes
6794
        CLRW    -(SP)
6795 7 jsauermann
;;;                                         } 20 InitDeclarator
6796
;;;                                         { 20 InitDeclarator
6797
;;;                                           { 21 List
6798
;;;                                             { 22 DeclItem
6799
;;;                                               what = DECL_NAME
6800
;;;                                               name = min_w
6801
;;;                                             } 22 DeclItem
6802
;;;                                           } 21 List
6803 2 jsauermann
;--     push_zero 2 bytes
6804
        CLRW    -(SP)
6805 7 jsauermann
;;;                                         } 20 InitDeclarator
6806
;;;                                         { 20 InitDeclarator
6807
;;;                                           { 21 List
6808
;;;                                             { 22 DeclItem
6809
;;;                                               what = DECL_POINTER
6810
;;;                                               { 23 List
6811
;;;                                                 { 24 Ptr
6812
;;;                                                 } 24 Ptr
6813
;;;                                               } 23 List
6814
;;;                                             } 22 DeclItem
6815
;;;                                             { 22 DeclItem
6816
;;;                                               what = DECL_NAME
6817
;;;                                               name = which_w
6818
;;;                                             } 22 DeclItem
6819
;;;                                           } 21 List
6820 2 jsauermann
;--     push_zero 2 bytes
6821
        CLRW    -(SP)
6822 7 jsauermann
;;;                                         } 20 InitDeclarator
6823
;;;                                         { 20 InitDeclarator
6824
;;;                                           { 21 List
6825
;;;                                             { 22 DeclItem
6826
;;;                                               what = DECL_NAME
6827
;;;                                               name = buffer
6828
;;;                                             } 22 DeclItem
6829
;;;                                             { 22 DeclItem
6830
;;;                                               what = DECL_ARRAY
6831
;;;                                             } 22 DeclItem
6832
;;;                                           } 21 List
6833 2 jsauermann
;--     push_zero 12 bytes
6834
        CLRW    -(SP)
6835
        CLRW    -(SP)
6836
        CLRW    -(SP)
6837
        CLRW    -(SP)
6838
        CLRW    -(SP)
6839
        CLRW    -(SP)
6840 7 jsauermann
;;;                                         } 20 InitDeclarator
6841
;;;                                         { 20 List
6842
;;;                                           { 21 while Statement
6843 2 jsauermann
;--     branch
6844
        JMP     L20_cont_55
6845
L20_loop_55:
6846 7 jsauermann
;;;                                             { 22 CompoundStatement
6847
;;;                                               { 23 List
6848
;;;                                                 { 24 IfElseStatement
6849
;;;                                                   { 25 Expr l != r
6850
;;;                                                     { 26 TypeName (internal)
6851
;;;                                                       { 27 TypeSpecifier (all)
6852
;;;                                                         spec = int (80000)
6853
;;;                                                       } 27 TypeSpecifier (all)
6854
;;;                                                     } 26 TypeName (internal)
6855
;;;                                                     { 26 Expression (variable name)
6856
;;;                                                       expr_type = "identifier" (c)
6857 2 jsauermann
;--     load_rr_var c = -5(FP), SP at -28 (8 bit)
6858
        MOVE    23(SP), RS
6859 7 jsauermann
;;;                                                     } 26 Expression (variable name)
6860 2 jsauermann
;--     l != r
6861
        SNE     RR, #0x0025
6862 7 jsauermann
;;;                                                   } 25 Expr l != r
6863 2 jsauermann
;--     branch_false
6864
        JMP     RRZ, L20_endif_57
6865 7 jsauermann
;;;                                                   { 25 CompoundStatement
6866
;;;                                                     { 26 List
6867
;;;                                                       { 27 ExpressionStatement
6868
;;;                                                         { 28 Expr l += r
6869
;;;                                                           { 29 TypeName
6870
;;;                                                             { 30 TypeSpecifier (all)
6871
;;;                                                               spec = int (80000)
6872
;;;                                                             } 30 TypeSpecifier (all)
6873
;;;                                                             { 30 List
6874
;;;                                                               { 31 DeclItem
6875
;;;                                                                 what = DECL_NAME
6876
;;;                                                                 name = len
6877
;;;                                                               } 31 DeclItem
6878
;;;                                                             } 30 List
6879
;;;                                                           } 29 TypeName
6880
;;;                                                           { 29 Expr l + r
6881
;;;                                                             { 30 Expr l(r)
6882
;;;                                                               { 31 TypeName
6883
;;;                                                                 { 32 TypeSpecifier (all)
6884
;;;                                                                   spec = int (80000)
6885
;;;                                                                 } 32 TypeSpecifier (all)
6886
;;;                                                                 { 32 List
6887
;;;                                                                   { 33 DeclItem
6888
;;;                                                                     what = DECL_NAME
6889
;;;                                                                     name = putchr
6890
;;;                                                                   } 33 DeclItem
6891
;;;                                                                 } 32 List
6892
;;;                                                               } 31 TypeName
6893
;;;                                                               { 31 ParameterDeclaration
6894
;;;                                                                 isEllipsis = false
6895
;;;                                                                 { 32 TypeName
6896
;;;                                                                   { 33 TypeSpecifier (all)
6897
;;;                                                                     spec = char (20000)
6898
;;;                                                                   } 33 TypeSpecifier (all)
6899
;;;                                                                   { 33 List
6900
;;;                                                                     { 34 DeclItem
6901
;;;                                                                       what = DECL_NAME
6902
;;;                                                                       name = c
6903
;;;                                                                     } 34 DeclItem
6904
;;;                                                                   } 33 List
6905
;;;                                                                 } 32 TypeName
6906
;;;                                                               } 31 ParameterDeclaration
6907
;;;                                                               { 31 Expression (variable name)
6908
;;;                                                                 expr_type = "identifier" (c)
6909 2 jsauermann
;--     load_rr_var c = -5(FP), SP at -28 (8 bit)
6910
        MOVE    23(SP), RS
6911 7 jsauermann
;;;                                                               } 31 Expression (variable name)
6912 2 jsauermann
;--     push_rr (8 bit)
6913
        MOVE    R, -(SP)
6914
;--     push 2 bytes
6915
;--     call
6916
        CALL    Cputchr
6917
;--     pop 1 bytes
6918
        ADD     SP, #1
6919 7 jsauermann
;;;                                                             } 30 Expr l(r)
6920
;;;                                                             { 30 Expression (variable name)
6921
;;;                                                               expr_type = "identifier" (len)
6922 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
6923
        MOVE    24(SP), LL
6924 7 jsauermann
;;;                                                             } 30 Expression (variable name)
6925 2 jsauermann
;--     scale_rr *1
6926
;--     l + r
6927
        ADD     LL, RR
6928 7 jsauermann
;;;                                                           } 29 Expr l + r
6929 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
6930
        MOVE    RR, 24(SP)
6931 7 jsauermann
;;;                                                         } 28 Expr l += r
6932
;;;                                                       } 27 ExpressionStatement
6933
;;;                                                       { 27 break/continue Statement
6934 2 jsauermann
;--     branch
6935
        JMP     L20_cont_55
6936 7 jsauermann
;;;                                                       } 27 break/continue Statement
6937
;;;                                                     } 26 List
6938
;--     pop 0 bytes
6939
;;;                                                   } 25 CompoundStatement
6940 2 jsauermann
L20_endif_57:
6941 7 jsauermann
;;;                                                 } 24 IfElseStatement
6942
;;;                                                 { 24 ExpressionStatement
6943
;;;                                                   { 25 Expr l = r
6944
;;;                                                     { 26 TypeName
6945
;;;                                                       { 27 TypeSpecifier (all)
6946
;;;                                                         spec = char (20000)
6947
;;;                                                       } 27 TypeSpecifier (all)
6948
;;;                                                       { 27 List
6949
;;;                                                         { 28 DeclItem
6950
;;;                                                           what = DECL_NAME
6951
;;;                                                           name = flags
6952
;;;                                                         } 28 DeclItem
6953
;;;                                                       } 27 List
6954
;;;                                                     } 26 TypeName
6955
;;;                                                     { 26 NumericExpression (constant 0 = 0x0)
6956 2 jsauermann
;--     load_rr_constant
6957
        MOVE    #0x0000, RR
6958 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 0 = 0x0)
6959 2 jsauermann
;--     store_rr_var flags = -6(FP), SP at -28
6960
        MOVE    R, 22(SP)
6961 7 jsauermann
;;;                                                   } 25 Expr l = r
6962
;;;                                                 } 24 ExpressionStatement
6963
;;;                                                 { 24 ExpressionStatement
6964
;;;                                                   { 25 Expr l = r
6965
;;;                                                     { 26 TypeName
6966
;;;                                                       { 27 TypeSpecifier (all)
6967
;;;                                                         spec = char (20000)
6968
;;;                                                       } 27 TypeSpecifier (all)
6969
;;;                                                       { 27 List
6970
;;;                                                         { 28 DeclItem
6971
;;;                                                           what = DECL_NAME
6972
;;;                                                           name = sign
6973
;;;                                                         } 28 DeclItem
6974
;;;                                                       } 27 List
6975
;;;                                                     } 26 TypeName
6976
;;;                                                     { 26 NumericExpression (constant 0 = 0x0)
6977 2 jsauermann
;--     load_rr_constant
6978
        MOVE    #0x0000, RR
6979 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 0 = 0x0)
6980 2 jsauermann
;--     store_rr_var sign = -7(FP), SP at -28
6981
        MOVE    R, 21(SP)
6982 7 jsauermann
;;;                                                   } 25 Expr l = r
6983
;;;                                                 } 24 ExpressionStatement
6984
;;;                                                 { 24 ExpressionStatement
6985
;;;                                                   { 25 Expr l = r
6986
;;;                                                     { 26 TypeName
6987
;;;                                                       { 27 TypeSpecifier (all)
6988
;;;                                                         spec = char (20000)
6989
;;;                                                       } 27 TypeSpecifier (all)
6990
;;;                                                       { 27 List
6991
;;;                                                         { 28 DeclItem
6992
;;;                                                           what = DECL_NAME
6993
;;;                                                           name = pad
6994
;;;                                                         } 28 DeclItem
6995
;;;                                                       } 27 List
6996
;;;                                                     } 26 TypeName
6997
;;;                                                     { 26 NumericExpression (constant 32 = 0x20)
6998 2 jsauermann
;--     load_rr_constant
6999
        MOVE    #0x0020, RR
7000 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 32 = 0x20)
7001 2 jsauermann
;--     store_rr_var pad = -8(FP), SP at -28
7002
        MOVE    R, 20(SP)
7003 7 jsauermann
;;;                                                   } 25 Expr l = r
7004
;;;                                                 } 24 ExpressionStatement
7005
;;;                                                 { 24 ExpressionStatement
7006
;;;                                                   { 25 Expr l = r
7007
;;;                                                     { 26 TypeName
7008
;;;                                                       { 27 TypeSpecifier (all)
7009
;;;                                                         spec = int (80000)
7010
;;;                                                       } 27 TypeSpecifier (all)
7011
;;;                                                       { 27 List
7012
;;;                                                         { 28 DeclItem
7013
;;;                                                           what = DECL_NAME
7014
;;;                                                           name = field_w
7015
;;;                                                         } 28 DeclItem
7016
;;;                                                       } 27 List
7017
;;;                                                     } 26 TypeName
7018
;;;                                                     { 26 NumericExpression (constant 0 = 0x0)
7019 2 jsauermann
;--     load_rr_constant
7020
        MOVE    #0x0000, RR
7021 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 0 = 0x0)
7022 2 jsauermann
;--     store_rr_var field_w = -12(FP), SP at -28
7023
        MOVE    RR, 16(SP)
7024 7 jsauermann
;;;                                                   } 25 Expr l = r
7025
;;;                                                 } 24 ExpressionStatement
7026
;;;                                                 { 24 ExpressionStatement
7027
;;;                                                   { 25 Expr l = r
7028
;;;                                                     { 26 TypeName
7029
;;;                                                       { 27 TypeSpecifier (all)
7030
;;;                                                         spec = int (80000)
7031
;;;                                                       } 27 TypeSpecifier (all)
7032
;;;                                                       { 27 List
7033
;;;                                                         { 28 DeclItem
7034
;;;                                                           what = DECL_NAME
7035
;;;                                                           name = min_w
7036
;;;                                                         } 28 DeclItem
7037
;;;                                                       } 27 List
7038
;;;                                                     } 26 TypeName
7039
;;;                                                     { 26 NumericExpression (constant 0 = 0x0)
7040 2 jsauermann
;--     load_rr_constant
7041
        MOVE    #0x0000, RR
7042 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 0 = 0x0)
7043 2 jsauermann
;--     store_rr_var min_w = -14(FP), SP at -28
7044
        MOVE    RR, 14(SP)
7045 7 jsauermann
;;;                                                   } 25 Expr l = r
7046
;;;                                                 } 24 ExpressionStatement
7047
;;;                                                 { 24 ExpressionStatement
7048
;;;                                                   { 25 Expr l = r
7049
;;;                                                     { 26 TypeName
7050
;;;                                                       { 27 TypeSpecifier (all)
7051
;;;                                                         spec = unsigned int (82000)
7052
;;;                                                       } 27 TypeSpecifier (all)
7053
;;;                                                       { 27 List
7054
;;;                                                         { 28 DeclItem
7055
;;;                                                           what = DECL_POINTER
7056
;;;                                                           { 29 List
7057
;;;                                                             { 30 Ptr
7058
;;;                                                             } 30 Ptr
7059
;;;                                                           } 29 List
7060
;;;                                                         } 28 DeclItem
7061
;;;                                                         { 28 DeclItem
7062
;;;                                                           what = DECL_NAME
7063
;;;                                                           name = which_w
7064
;;;                                                         } 28 DeclItem
7065
;;;                                                       } 27 List
7066
;;;                                                     } 26 TypeName
7067
;;;                                                     { 26 Expr & r
7068 2 jsauermann
;--     load_address field_w = -12(FP), SP at -28
7069
        LEA     16(SP), RR
7070 7 jsauermann
;;;                                                     } 26 Expr & r
7071 2 jsauermann
;--     store_rr_var which_w = -16(FP), SP at -28
7072
        MOVE    RR, 12(SP)
7073 7 jsauermann
;;;                                                   } 25 Expr l = r
7074
;;;                                                 } 24 ExpressionStatement
7075
;;;                                                 { 24 for Statement
7076
;;;                                                   { 25 ExpressionStatement
7077
;;;                                                   } 25 ExpressionStatement
7078 2 jsauermann
L20_loop_58:
7079 7 jsauermann
;;;                                                   { 25 CompoundStatement
7080
;;;                                                     { 26 List
7081
;;;                                                       { 27 SwitchStatement
7082
;;;                                                         { 28 Expr l = r
7083
;;;                                                           { 29 TypeName
7084
;;;                                                             { 30 TypeSpecifier (all)
7085
;;;                                                               spec = char (20000)
7086
;;;                                                             } 30 TypeSpecifier (all)
7087
;;;                                                             { 30 List
7088
;;;                                                               { 31 DeclItem
7089
;;;                                                                 what = DECL_NAME
7090
;;;                                                                 name = c
7091
;;;                                                               } 31 DeclItem
7092
;;;                                                             } 30 List
7093
;;;                                                           } 29 TypeName
7094
;;;                                                           { 29 Expr * r
7095
;;;                                                             { 30 Expr l - r
7096
;;;                                                               { 31 Expr ++r
7097
;;;                                                                 { 32 Expression (variable name)
7098
;;;                                                                   expr_type = "identifier" (format)
7099 2 jsauermann
;--     load_rr_var format = 2(FP), SP at -28 (16 bit)
7100
        MOVE    30(SP), RR
7101 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
7102 2 jsauermann
;--     ++
7103
        ADD     RR, #0x0001
7104
;--     store_rr_var format = 2(FP), SP at -28
7105
        MOVE    RR, 30(SP)
7106 7 jsauermann
;;;                                                               } 31 Expr ++r
7107 2 jsauermann
;--     l - r
7108
        SUB     RR, #0x0001
7109 7 jsauermann
;;;                                                             } 30 Expr l - r
7110 2 jsauermann
;--     content
7111
        MOVE    (RR), RS
7112 7 jsauermann
;;;                                                           } 29 Expr * r
7113 2 jsauermann
;--     store_rr_var c = -5(FP), SP at -28
7114
        MOVE    R, 23(SP)
7115 7 jsauermann
;;;                                                         } 28 Expr l = r
7116 2 jsauermann
;--     move_rr_to_ll
7117
        MOVE    RR, LL
7118
;--     branch_case (8 bit)
7119
        SEQ     LL, #0x0058
7120
        JMP     RRNZ, L20_case_60_0058
7121
;--     branch_case (8 bit)
7122
        SEQ     LL, #0x0064
7123
        JMP     RRNZ, L20_case_60_0064
7124
;--     branch_case (8 bit)
7125
        SEQ     LL, #0x0073
7126
        JMP     RRNZ, L20_case_60_0073
7127
;--     branch_case (8 bit)
7128
        SEQ     LL, #0x0075
7129
        JMP     RRNZ, L20_case_60_0075
7130
;--     branch_case (8 bit)
7131
        SEQ     LL, #0x0078
7132
        JMP     RRNZ, L20_case_60_0078
7133
;--     branch_case (8 bit)
7134
        SEQ     LL, #0x0063
7135
        JMP     RRNZ, L20_case_60_0063
7136
;--     branch_case (8 bit)
7137
        SEQ     LL, #0x0023
7138
        JMP     RRNZ, L20_case_60_0023
7139
;--     branch_case (8 bit)
7140
        SEQ     LL, #0x002D
7141
        JMP     RRNZ, L20_case_60_002D
7142
;--     branch_case (8 bit)
7143
        SEQ     LL, #0x0020
7144
        JMP     RRNZ, L20_case_60_0020
7145
;--     branch_case (8 bit)
7146
        SEQ     LL, #0x002B
7147
        JMP     RRNZ, L20_case_60_002B
7148
;--     branch_case (8 bit)
7149
        SEQ     LL, #0x002E
7150
        JMP     RRNZ, L20_case_60_002E
7151
;--     branch_case (8 bit)
7152
        SEQ     LL, #0x0030
7153
        JMP     RRNZ, L20_case_60_0030
7154
;--     branch_case (8 bit)
7155
        SEQ     LL, #0x0031
7156
        JMP     RRNZ, L20_case_60_0031
7157
;--     branch_case (8 bit)
7158
        SEQ     LL, #0x0032
7159
        JMP     RRNZ, L20_case_60_0032
7160
;--     branch_case (8 bit)
7161
        SEQ     LL, #0x0033
7162
        JMP     RRNZ, L20_case_60_0033
7163
;--     branch_case (8 bit)
7164
        SEQ     LL, #0x0034
7165
        JMP     RRNZ, L20_case_60_0034
7166
;--     branch_case (8 bit)
7167
        SEQ     LL, #0x0035
7168
        JMP     RRNZ, L20_case_60_0035
7169
;--     branch_case (8 bit)
7170
        SEQ     LL, #0x0036
7171
        JMP     RRNZ, L20_case_60_0036
7172
;--     branch_case (8 bit)
7173
        SEQ     LL, #0x0037
7174
        JMP     RRNZ, L20_case_60_0037
7175
;--     branch_case (8 bit)
7176
        SEQ     LL, #0x0038
7177
        JMP     RRNZ, L20_case_60_0038
7178
;--     branch_case (8 bit)
7179
        SEQ     LL, #0x0039
7180
        JMP     RRNZ, L20_case_60_0039
7181
;--     branch_case (8 bit)
7182
        SEQ     LL, #0x002A
7183
        JMP     RRNZ, L20_case_60_002A
7184
;--     branch_case (8 bit)
7185
        SEQ     LL, #0x0000
7186
        JMP     RRNZ, L20_case_60_0000
7187
;--     branch
7188
        JMP     L20_deflt_60
7189 7 jsauermann
;;;                                                         { 28 CompoundStatement
7190
;;;                                                           { 29 List
7191
;;;                                                             { 30 case Statement
7192 2 jsauermann
L20_case_60_0058:
7193 7 jsauermann
;;;                                                               { 31 ExpressionStatement
7194
;;;                                                                 { 32 Expr l(r)
7195
;;;                                                                   { 33 TypeName
7196
;;;                                                                     { 34 TypeSpecifier (all)
7197
;;;                                                                       spec = void (10000)
7198
;;;                                                                     } 34 TypeSpecifier (all)
7199
;;;                                                                     { 34 List
7200
;;;                                                                       { 35 DeclItem
7201
;;;                                                                         what = DECL_NAME
7202
;;;                                                                         name = print_hex
7203
;;;                                                                       } 35 DeclItem
7204
;;;                                                                     } 34 List
7205
;;;                                                                   } 33 TypeName
7206
;;;                                                                   { 33 Expr (l , r)
7207
;;;                                                                     { 34 ParameterDeclaration
7208
;;;                                                                       isEllipsis = false
7209
;;;                                                                       { 35 TypeName
7210
;;;                                                                         { 36 TypeSpecifier (all)
7211
;;;                                                                           spec = const char (20100)
7212
;;;                                                                         } 36 TypeSpecifier (all)
7213
;;;                                                                         { 36 List
7214
;;;                                                                           { 37 DeclItem
7215
;;;                                                                             what = DECL_POINTER
7216
;;;                                                                             { 38 List
7217
;;;                                                                               { 39 Ptr
7218
;;;                                                                               } 39 Ptr
7219
;;;                                                                             } 38 List
7220
;;;                                                                           } 37 DeclItem
7221
;;;                                                                           { 37 DeclItem
7222
;;;                                                                             what = DECL_NAME
7223
;;;                                                                             name = hex
7224
;;;                                                                           } 37 DeclItem
7225
;;;                                                                         } 36 List
7226
;;;                                                                       } 35 TypeName
7227
;;;                                                                     } 34 ParameterDeclaration
7228
;;;                                                                     { 34 StringExpression
7229 2 jsauermann
;--     load_rr_string
7230
        MOVE    #Cstr_36, RR
7231 7 jsauermann
;;;                                                                     } 34 StringExpression
7232 2 jsauermann
;--     push_rr (16 bit)
7233
        MOVE    RR, -(SP)
7234 7 jsauermann
;;;                                                                     { 34 Expr (l , r)
7235
;;;                                                                       { 35 ParameterDeclaration
7236
;;;                                                                         isEllipsis = false
7237
;;;                                                                         { 36 TypeName
7238
;;;                                                                           { 37 TypeSpecifier (all)
7239
;;;                                                                             spec = unsigned int (82000)
7240
;;;                                                                           } 37 TypeSpecifier (all)
7241
;;;                                                                           { 37 List
7242
;;;                                                                             { 38 DeclItem
7243
;;;                                                                               what = DECL_NAME
7244
;;;                                                                               name = value
7245
;;;                                                                             } 38 DeclItem
7246
;;;                                                                           } 37 List
7247
;;;                                                                         } 36 TypeName
7248
;;;                                                                       } 35 ParameterDeclaration
7249
;;;                                                                       { 35 Expression (cast)r
7250
;;;                                                                         { 36 Expr * r
7251
;;;                                                                           { 37 Expr l - r
7252
;;;                                                                             { 38 Expr ++r
7253
;;;                                                                               { 39 Expression (variable name)
7254
;;;                                                                                 expr_type = "identifier" (args)
7255 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -30 (16 bit)
7256
        MOVE    28(SP), RR
7257 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
7258 2 jsauermann
;--     ++
7259
        ADD     RR, #0x0002
7260
;--     store_rr_var args = -2(FP), SP at -30
7261
        MOVE    RR, 28(SP)
7262 7 jsauermann
;;;                                                                             } 38 Expr ++r
7263 2 jsauermann
;--     l - r
7264
        SUB     RR, #0x0002
7265 7 jsauermann
;;;                                                                           } 37 Expr l - r
7266 2 jsauermann
;--     content
7267
        MOVE    (RR), RR
7268 7 jsauermann
;;;                                                                         } 36 Expr * r
7269
;;;                                                                       } 35 Expression (cast)r
7270 2 jsauermann
;--     push_rr (16 bit)
7271
        MOVE    RR, -(SP)
7272 7 jsauermann
;;;                                                                       { 35 ParameterDeclaration
7273
;;;                                                                         isEllipsis = false
7274
;;;                                                                         { 36 TypeName
7275
;;;                                                                           { 37 TypeSpecifier (all)
7276
;;;                                                                             spec = char (20000)
7277
;;;                                                                           } 37 TypeSpecifier (all)
7278
;;;                                                                           { 37 List
7279
;;;                                                                             { 38 DeclItem
7280
;;;                                                                               what = DECL_POINTER
7281
;;;                                                                               { 39 List
7282
;;;                                                                                 { 40 Ptr
7283
;;;                                                                                 } 40 Ptr
7284
;;;                                                                               } 39 List
7285
;;;                                                                             } 38 DeclItem
7286
;;;                                                                             { 38 DeclItem
7287
;;;                                                                               what = DECL_NAME
7288
;;;                                                                               name = dest
7289
;;;                                                                             } 38 DeclItem
7290
;;;                                                                           } 37 List
7291
;;;                                                                         } 36 TypeName
7292
;;;                                                                       } 35 ParameterDeclaration
7293 2 jsauermann
;--     load_address buffer = -28(FP), SP at -32
7294
        LEA     4(SP), RR
7295
;--     push_rr (16 bit)
7296
        MOVE    RR, -(SP)
7297 7 jsauermann
;;;                                                                     } 34 Expr (l , r)
7298
;;;                                                                   } 33 Expr (l , r)
7299 2 jsauermann
;--     push 0 bytes
7300
;--     call
7301
        CALL    Cprint_hex
7302
;--     pop 6 bytes
7303
        ADD     SP, #6
7304 7 jsauermann
;;;                                                                 } 32 Expr l(r)
7305
;;;                                                               } 31 ExpressionStatement
7306
;;;                                                             } 30 case Statement
7307
;;;                                                             { 30 ExpressionStatement
7308
;;;                                                               { 31 Expr l += r
7309
;;;                                                                 { 32 TypeName
7310
;;;                                                                   { 33 TypeSpecifier (all)
7311
;;;                                                                     spec = int (80000)
7312
;;;                                                                   } 33 TypeSpecifier (all)
7313
;;;                                                                   { 33 List
7314
;;;                                                                     { 34 DeclItem
7315
;;;                                                                       what = DECL_NAME
7316
;;;                                                                       name = len
7317
;;;                                                                     } 34 DeclItem
7318
;;;                                                                   } 33 List
7319
;;;                                                                 } 32 TypeName
7320
;;;                                                                 { 32 Expr l + r
7321
;;;                                                                   { 33 Expr l(r)
7322
;;;                                                                     { 34 TypeName
7323
;;;                                                                       { 35 TypeSpecifier (all)
7324
;;;                                                                         spec = int (80000)
7325
;;;                                                                       } 35 TypeSpecifier (all)
7326
;;;                                                                       { 35 List
7327
;;;                                                                         { 36 DeclItem
7328
;;;                                                                           what = DECL_NAME
7329
;;;                                                                           name = print_item
7330
;;;                                                                         } 36 DeclItem
7331
;;;                                                                       } 35 List
7332
;;;                                                                     } 34 TypeName
7333
;;;                                                                     { 34 Expr (l , r)
7334
;;;                                                                       { 35 ParameterDeclaration
7335
;;;                                                                         isEllipsis = false
7336
;;;                                                                         { 36 TypeName
7337
;;;                                                                           { 37 TypeSpecifier (all)
7338
;;;                                                                             spec = char (20000)
7339
;;;                                                                           } 37 TypeSpecifier (all)
7340
;;;                                                                           { 37 List
7341
;;;                                                                             { 38 DeclItem
7342
;;;                                                                               what = DECL_NAME
7343
;;;                                                                               name = min_p
7344
;;;                                                                             } 38 DeclItem
7345
;;;                                                                           } 37 List
7346
;;;                                                                         } 36 TypeName
7347
;;;                                                                       } 35 ParameterDeclaration
7348
;;;                                                                       { 35 NumericExpression (constant 48 = 0x30)
7349 2 jsauermann
;--     load_rr_constant
7350
        MOVE    #0x0030, RR
7351 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 48 = 0x30)
7352 2 jsauermann
;--     push_rr (8 bit)
7353
        MOVE    R, -(SP)
7354 7 jsauermann
;;;                                                                       { 35 Expr (l , r)
7355
;;;                                                                         { 36 ParameterDeclaration
7356
;;;                                                                           isEllipsis = false
7357
;;;                                                                           { 37 TypeName
7358
;;;                                                                             { 38 TypeSpecifier (all)
7359
;;;                                                                               spec = int (80000)
7360
;;;                                                                             } 38 TypeSpecifier (all)
7361
;;;                                                                             { 38 List
7362
;;;                                                                               { 39 DeclItem
7363
;;;                                                                                 what = DECL_NAME
7364
;;;                                                                                 name = min_w
7365
;;;                                                                               } 39 DeclItem
7366
;;;                                                                             } 38 List
7367
;;;                                                                           } 37 TypeName
7368
;;;                                                                         } 36 ParameterDeclaration
7369
;;;                                                                         { 36 Expression (variable name)
7370
;;;                                                                           expr_type = "identifier" (min_w)
7371 2 jsauermann
;--     load_rr_var min_w = -14(FP), SP at -29 (16 bit)
7372
        MOVE    15(SP), RR
7373 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
7374 2 jsauermann
;--     push_rr (16 bit)
7375
        MOVE    RR, -(SP)
7376 7 jsauermann
;;;                                                                         { 36 Expr (l , r)
7377
;;;                                                                           { 37 ParameterDeclaration
7378
;;;                                                                             isEllipsis = false
7379
;;;                                                                             { 38 TypeName
7380
;;;                                                                               { 39 TypeSpecifier (all)
7381
;;;                                                                                 spec = int (80000)
7382
;;;                                                                               } 39 TypeSpecifier (all)
7383
;;;                                                                               { 39 List
7384
;;;                                                                                 { 40 DeclItem
7385
;;;                                                                                   what = DECL_NAME
7386
;;;                                                                                   name = field_w
7387
;;;                                                                                 } 40 DeclItem
7388
;;;                                                                               } 39 List
7389
;;;                                                                             } 38 TypeName
7390
;;;                                                                           } 37 ParameterDeclaration
7391
;;;                                                                           { 37 Expression (variable name)
7392
;;;                                                                             expr_type = "identifier" (field_w)
7393 2 jsauermann
;--     load_rr_var field_w = -12(FP), SP at -31 (16 bit)
7394
        MOVE    19(SP), RR
7395 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
7396 2 jsauermann
;--     push_rr (16 bit)
7397
        MOVE    RR, -(SP)
7398 7 jsauermann
;;;                                                                           { 37 Expr (l , r)
7399
;;;                                                                             { 38 ParameterDeclaration
7400
;;;                                                                               isEllipsis = false
7401
;;;                                                                               { 39 TypeName
7402
;;;                                                                                 { 40 TypeSpecifier (all)
7403
;;;                                                                                   spec = const char (20100)
7404
;;;                                                                                 } 40 TypeSpecifier (all)
7405
;;;                                                                                 { 40 List
7406
;;;                                                                                   { 41 DeclItem
7407
;;;                                                                                     what = DECL_POINTER
7408
;;;                                                                                     { 42 List
7409
;;;                                                                                       { 43 Ptr
7410
;;;                                                                                       } 43 Ptr
7411
;;;                                                                                     } 42 List
7412
;;;                                                                                   } 41 DeclItem
7413
;;;                                                                                   { 41 DeclItem
7414
;;;                                                                                     what = DECL_NAME
7415
;;;                                                                                     name = alt
7416
;;;                                                                                   } 41 DeclItem
7417
;;;                                                                                 } 40 List
7418
;;;                                                                               } 39 TypeName
7419
;;;                                                                             } 38 ParameterDeclaration
7420
;;;                                                                             { 38 StringExpression
7421 2 jsauermann
;--     load_rr_string
7422
        MOVE    #Cstr_37, RR
7423 7 jsauermann
;;;                                                                             } 38 StringExpression
7424 2 jsauermann
;--     push_rr (16 bit)
7425
        MOVE    RR, -(SP)
7426 7 jsauermann
;;;                                                                             { 38 Expr (l , r)
7427
;;;                                                                               { 39 ParameterDeclaration
7428
;;;                                                                                 isEllipsis = false
7429
;;;                                                                                 { 40 TypeName
7430
;;;                                                                                   { 41 TypeSpecifier (all)
7431
;;;                                                                                     spec = char (20000)
7432
;;;                                                                                   } 41 TypeSpecifier (all)
7433
;;;                                                                                   { 41 List
7434
;;;                                                                                     { 42 DeclItem
7435
;;;                                                                                       what = DECL_NAME
7436
;;;                                                                                       name = pad
7437
;;;                                                                                     } 42 DeclItem
7438
;;;                                                                                   } 41 List
7439
;;;                                                                                 } 40 TypeName
7440
;;;                                                                               } 39 ParameterDeclaration
7441
;;;                                                                               { 39 Expression (variable name)
7442
;;;                                                                                 expr_type = "identifier" (pad)
7443 2 jsauermann
;--     load_rr_var pad = -8(FP), SP at -35 (8 bit)
7444
        MOVE    27(SP), RS
7445 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
7446 2 jsauermann
;--     push_rr (8 bit)
7447
        MOVE    R, -(SP)
7448 7 jsauermann
;;;                                                                               { 39 Expr (l , r)
7449
;;;                                                                                 { 40 ParameterDeclaration
7450
;;;                                                                                   isEllipsis = false
7451
;;;                                                                                   { 41 TypeName
7452
;;;                                                                                     { 42 TypeSpecifier (all)
7453
;;;                                                                                       spec = char (20000)
7454
;;;                                                                                     } 42 TypeSpecifier (all)
7455
;;;                                                                                     { 42 List
7456
;;;                                                                                       { 43 DeclItem
7457
;;;                                                                                         what = DECL_NAME
7458
;;;                                                                                         name = sign
7459
;;;                                                                                       } 43 DeclItem
7460
;;;                                                                                     } 42 List
7461
;;;                                                                                   } 41 TypeName
7462
;;;                                                                                 } 40 ParameterDeclaration
7463
;;;                                                                                 { 40 Expression (variable name)
7464
;;;                                                                                   expr_type = "identifier" (sign)
7465 2 jsauermann
;--     load_rr_var sign = -7(FP), SP at -36 (8 bit)
7466
        MOVE    29(SP), RS
7467 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
7468 2 jsauermann
;--     push_rr (8 bit)
7469
        MOVE    R, -(SP)
7470 7 jsauermann
;;;                                                                                 { 40 Expr (l , r)
7471
;;;                                                                                   { 41 ParameterDeclaration
7472
;;;                                                                                     isEllipsis = false
7473
;;;                                                                                     { 42 TypeName
7474
;;;                                                                                       { 43 TypeSpecifier (all)
7475
;;;                                                                                         spec = char (20000)
7476
;;;                                                                                       } 43 TypeSpecifier (all)
7477
;;;                                                                                       { 43 List
7478
;;;                                                                                         { 44 DeclItem
7479
;;;                                                                                           what = DECL_NAME
7480
;;;                                                                                           name = flags
7481
;;;                                                                                         } 44 DeclItem
7482
;;;                                                                                       } 43 List
7483
;;;                                                                                     } 42 TypeName
7484
;;;                                                                                   } 41 ParameterDeclaration
7485
;;;                                                                                   { 41 Expression (variable name)
7486
;;;                                                                                     expr_type = "identifier" (flags)
7487 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -37 (8 bit)
7488
        MOVE    31(SP), RS
7489 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
7490 2 jsauermann
;--     push_rr (8 bit)
7491
        MOVE    R, -(SP)
7492 7 jsauermann
;;;                                                                                   { 41 ParameterDeclaration
7493
;;;                                                                                     isEllipsis = false
7494
;;;                                                                                     { 42 TypeName
7495
;;;                                                                                       { 43 TypeSpecifier (all)
7496
;;;                                                                                         spec = const char (20100)
7497
;;;                                                                                       } 43 TypeSpecifier (all)
7498
;;;                                                                                       { 43 List
7499
;;;                                                                                         { 44 DeclItem
7500
;;;                                                                                           what = DECL_POINTER
7501
;;;                                                                                           { 45 List
7502
;;;                                                                                             { 46 Ptr
7503
;;;                                                                                             } 46 Ptr
7504
;;;                                                                                           } 45 List
7505
;;;                                                                                         } 44 DeclItem
7506
;;;                                                                                         { 44 DeclItem
7507
;;;                                                                                           what = DECL_NAME
7508
;;;                                                                                           name = buffer
7509
;;;                                                                                         } 44 DeclItem
7510
;;;                                                                                       } 43 List
7511
;;;                                                                                     } 42 TypeName
7512
;;;                                                                                   } 41 ParameterDeclaration
7513 2 jsauermann
;--     load_address buffer = -28(FP), SP at -38
7514
        LEA     10(SP), RR
7515
;--     push_rr (16 bit)
7516
        MOVE    RR, -(SP)
7517 7 jsauermann
;;;                                                                                 } 40 Expr (l , r)
7518
;;;                                                                               } 39 Expr (l , r)
7519
;;;                                                                             } 38 Expr (l , r)
7520
;;;                                                                           } 37 Expr (l , r)
7521
;;;                                                                         } 36 Expr (l , r)
7522
;;;                                                                       } 35 Expr (l , r)
7523
;;;                                                                     } 34 Expr (l , r)
7524 2 jsauermann
;--     push 2 bytes
7525
;--     call
7526
        CALL    Cprint_item
7527
;--     pop 12 bytes
7528
        ADD     SP, #12
7529 7 jsauermann
;;;                                                                   } 33 Expr l(r)
7530
;;;                                                                   { 33 Expression (variable name)
7531
;;;                                                                     expr_type = "identifier" (len)
7532 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
7533
        MOVE    24(SP), LL
7534 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
7535 2 jsauermann
;--     scale_rr *1
7536
;--     l + r
7537
        ADD     LL, RR
7538 7 jsauermann
;;;                                                                 } 32 Expr l + r
7539 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
7540
        MOVE    RR, 24(SP)
7541 7 jsauermann
;;;                                                               } 31 Expr l += r
7542
;;;                                                             } 30 ExpressionStatement
7543
;;;                                                             { 30 break/continue Statement
7544 2 jsauermann
;--     branch
7545
        JMP     L20_brk_60
7546 7 jsauermann
;;;                                                             } 30 break/continue Statement
7547
;;;                                                             { 30 case Statement
7548 2 jsauermann
L20_case_60_0064:
7549 7 jsauermann
;;;                                                               { 31 IfElseStatement
7550
;;;                                                                 { 32 Expr l < r
7551
;;;                                                                   { 33 TypeName (internal)
7552
;;;                                                                     { 34 TypeSpecifier (all)
7553
;;;                                                                       spec = int (80000)
7554
;;;                                                                     } 34 TypeSpecifier (all)
7555
;;;                                                                   } 33 TypeName (internal)
7556
;;;                                                                   { 33 Expression (cast)r
7557
;;;                                                                     { 34 Expr * r
7558
;;;                                                                       { 35 Expression (variable name)
7559
;;;                                                                         expr_type = "identifier" (args)
7560 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -28 (16 bit)
7561
        MOVE    26(SP), RR
7562 7 jsauermann
;;;                                                                       } 35 Expression (variable name)
7563 2 jsauermann
;--     content
7564
        MOVE    (RR), RR
7565 7 jsauermann
;;;                                                                     } 34 Expr * r
7566
;;;                                                                   } 33 Expression (cast)r
7567 2 jsauermann
;--     l < r
7568
        SLT     RR, #0x0000
7569 7 jsauermann
;;;                                                                 } 32 Expr l < r
7570 2 jsauermann
;--     branch_false
7571
        JMP     RRZ, L20_endif_61
7572 7 jsauermann
;;;                                                                 { 32 CompoundStatement
7573
;;;                                                                   { 33 List
7574
;;;                                                                     { 34 ExpressionStatement
7575
;;;                                                                       { 35 Expr l = r
7576
;;;                                                                         { 36 TypeName
7577
;;;                                                                           { 37 TypeSpecifier (all)
7578
;;;                                                                             spec = char (20000)
7579
;;;                                                                           } 37 TypeSpecifier (all)
7580
;;;                                                                           { 37 List
7581
;;;                                                                             { 38 DeclItem
7582
;;;                                                                               what = DECL_NAME
7583
;;;                                                                               name = sign
7584
;;;                                                                             } 38 DeclItem
7585
;;;                                                                           } 37 List
7586
;;;                                                                         } 36 TypeName
7587
;;;                                                                         { 36 NumericExpression (constant 45 = 0x2D)
7588 2 jsauermann
;--     load_rr_constant
7589
        MOVE    #0x002D, RR
7590 7 jsauermann
;;;                                                                         } 36 NumericExpression (constant 45 = 0x2D)
7591 2 jsauermann
;--     store_rr_var sign = -7(FP), SP at -28
7592
        MOVE    R, 21(SP)
7593 7 jsauermann
;;;                                                                       } 35 Expr l = r
7594
;;;                                                                     } 34 ExpressionStatement
7595
;;;                                                                     { 34 ExpressionStatement
7596
;;;                                                                       { 35 Expr l = r
7597
;;;                                                                         { 36 TypeName
7598
;;;                                                                           { 37 TypeSpecifier (all)
7599
;;;                                                                             spec = const char (20100)
7600
;;;                                                                           } 37 TypeSpecifier (all)
7601
;;;                                                                           { 37 List
7602
;;;                                                                             { 38 DeclItem
7603
;;;                                                                               what = DECL_POINTER
7604
;;;                                                                               { 39 List
7605
;;;                                                                                 { 40 Ptr
7606
;;;                                                                                 } 40 Ptr
7607
;;;                                                                               } 39 List
7608
;;;                                                                             } 38 DeclItem
7609
;;;                                                                             { 38 DeclItem
7610
;;;                                                                               what = DECL_NAME
7611
;;;                                                                               name = args
7612
;;;                                                                             } 38 DeclItem
7613
;;;                                                                           } 37 List
7614
;;;                                                                         } 36 TypeName
7615
;;;                                                                         { 36 Expression (cast)r
7616
;;;                                                                           { 37 Expr - r
7617
;;;                                                                             { 38 Expression (cast)r
7618
;;;                                                                               { 39 Expr * r
7619
;;;                                                                                 { 40 Expression (variable name)
7620
;;;                                                                                   expr_type = "identifier" (args)
7621 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -28 (16 bit)
7622
        MOVE    26(SP), RR
7623 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
7624 2 jsauermann
;--     content
7625
        MOVE    (RR), RR
7626 7 jsauermann
;;;                                                                               } 39 Expr * r
7627
;;;                                                                             } 38 Expression (cast)r
7628 2 jsauermann
;--     16 bit - r
7629
        NEG     RR
7630 7 jsauermann
;;;                                                                           } 37 Expr - r
7631
;;;                                                                         } 36 Expression (cast)r
7632 2 jsauermann
;--     push_rr (16 bit)
7633
        MOVE    RR, -(SP)
7634 7 jsauermann
;;;                                                                         { 36 Expr * r
7635
;;;                                                                           { 37 Expression (variable name)
7636
;;;                                                                             expr_type = "identifier" (args)
7637 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -30 (16 bit)
7638
        MOVE    28(SP), RR
7639 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
7640
;;;                                                                         } 36 Expr * r
7641 2 jsauermann
;--     move_rr_to_ll
7642
        MOVE    RR, LL
7643
;--     pop_rr (16 bit)
7644
        MOVE    (SP)+, RR
7645
;--     assign (16 bit)
7646
        MOVE    RR, (LL)
7647 7 jsauermann
;;;                                                                       } 35 Expr l = r
7648
;;;                                                                     } 34 ExpressionStatement
7649
;;;                                                                   } 33 List
7650
;--     pop 0 bytes
7651
;;;                                                                 } 32 CompoundStatement
7652 2 jsauermann
L20_endif_61:
7653 7 jsauermann
;;;                                                               } 31 IfElseStatement
7654
;;;                                                             } 30 case Statement
7655
;;;                                                             { 30 ExpressionStatement
7656
;;;                                                               { 31 Expr l(r)
7657
;;;                                                                 { 32 TypeName
7658
;;;                                                                   { 33 TypeSpecifier (all)
7659
;;;                                                                     spec = void (10000)
7660
;;;                                                                   } 33 TypeSpecifier (all)
7661
;;;                                                                   { 33 List
7662
;;;                                                                     { 34 DeclItem
7663
;;;                                                                       what = DECL_NAME
7664
;;;                                                                       name = print_unsigned
7665
;;;                                                                     } 34 DeclItem
7666
;;;                                                                   } 33 List
7667
;;;                                                                 } 32 TypeName
7668
;;;                                                                 { 32 Expr (l , r)
7669
;;;                                                                   { 33 ParameterDeclaration
7670
;;;                                                                     isEllipsis = false
7671
;;;                                                                     { 34 TypeName
7672
;;;                                                                       { 35 TypeSpecifier (all)
7673
;;;                                                                         spec = unsigned int (82000)
7674
;;;                                                                       } 35 TypeSpecifier (all)
7675
;;;                                                                       { 35 List
7676
;;;                                                                         { 36 DeclItem
7677
;;;                                                                           what = DECL_NAME
7678
;;;                                                                           name = value
7679
;;;                                                                         } 36 DeclItem
7680
;;;                                                                       } 35 List
7681
;;;                                                                     } 34 TypeName
7682
;;;                                                                   } 33 ParameterDeclaration
7683
;;;                                                                   { 33 Expression (cast)r
7684
;;;                                                                     { 34 Expr * r
7685
;;;                                                                       { 35 Expr l - r
7686
;;;                                                                         { 36 Expr ++r
7687
;;;                                                                           { 37 Expression (variable name)
7688
;;;                                                                             expr_type = "identifier" (args)
7689 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -28 (16 bit)
7690
        MOVE    26(SP), RR
7691 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
7692 2 jsauermann
;--     ++
7693
        ADD     RR, #0x0002
7694
;--     store_rr_var args = -2(FP), SP at -28
7695
        MOVE    RR, 26(SP)
7696 7 jsauermann
;;;                                                                         } 36 Expr ++r
7697 2 jsauermann
;--     l - r
7698
        SUB     RR, #0x0002
7699 7 jsauermann
;;;                                                                       } 35 Expr l - r
7700 2 jsauermann
;--     content
7701
        MOVE    (RR), RR
7702 7 jsauermann
;;;                                                                     } 34 Expr * r
7703
;;;                                                                   } 33 Expression (cast)r
7704 2 jsauermann
;--     push_rr (16 bit)
7705
        MOVE    RR, -(SP)
7706 7 jsauermann
;;;                                                                   { 33 ParameterDeclaration
7707
;;;                                                                     isEllipsis = false
7708
;;;                                                                     { 34 TypeName
7709
;;;                                                                       { 35 TypeSpecifier (all)
7710
;;;                                                                         spec = char (20000)
7711
;;;                                                                       } 35 TypeSpecifier (all)
7712
;;;                                                                       { 35 List
7713
;;;                                                                         { 36 DeclItem
7714
;;;                                                                           what = DECL_POINTER
7715
;;;                                                                           { 37 List
7716
;;;                                                                             { 38 Ptr
7717
;;;                                                                             } 38 Ptr
7718
;;;                                                                           } 37 List
7719
;;;                                                                         } 36 DeclItem
7720
;;;                                                                         { 36 DeclItem
7721
;;;                                                                           what = DECL_NAME
7722
;;;                                                                           name = dest
7723
;;;                                                                         } 36 DeclItem
7724
;;;                                                                       } 35 List
7725
;;;                                                                     } 34 TypeName
7726
;;;                                                                   } 33 ParameterDeclaration
7727 2 jsauermann
;--     load_address buffer = -28(FP), SP at -30
7728
        LEA     2(SP), RR
7729
;--     push_rr (16 bit)
7730
        MOVE    RR, -(SP)
7731 7 jsauermann
;;;                                                                 } 32 Expr (l , r)
7732 2 jsauermann
;--     push 0 bytes
7733
;--     call
7734
        CALL    Cprint_unsigned
7735
;--     pop 4 bytes
7736
        ADD     SP, #4
7737 7 jsauermann
;;;                                                               } 31 Expr l(r)
7738
;;;                                                             } 30 ExpressionStatement
7739
;;;                                                             { 30 ExpressionStatement
7740
;;;                                                               { 31 Expr l += r
7741
;;;                                                                 { 32 TypeName
7742
;;;                                                                   { 33 TypeSpecifier (all)
7743
;;;                                                                     spec = int (80000)
7744
;;;                                                                   } 33 TypeSpecifier (all)
7745
;;;                                                                   { 33 List
7746
;;;                                                                     { 34 DeclItem
7747
;;;                                                                       what = DECL_NAME
7748
;;;                                                                       name = len
7749
;;;                                                                     } 34 DeclItem
7750
;;;                                                                   } 33 List
7751
;;;                                                                 } 32 TypeName
7752
;;;                                                                 { 32 Expr l + r
7753
;;;                                                                   { 33 Expr l(r)
7754
;;;                                                                     { 34 TypeName
7755
;;;                                                                       { 35 TypeSpecifier (all)
7756
;;;                                                                         spec = int (80000)
7757
;;;                                                                       } 35 TypeSpecifier (all)
7758
;;;                                                                       { 35 List
7759
;;;                                                                         { 36 DeclItem
7760
;;;                                                                           what = DECL_NAME
7761
;;;                                                                           name = print_item
7762
;;;                                                                         } 36 DeclItem
7763
;;;                                                                       } 35 List
7764
;;;                                                                     } 34 TypeName
7765
;;;                                                                     { 34 Expr (l , r)
7766
;;;                                                                       { 35 ParameterDeclaration
7767
;;;                                                                         isEllipsis = false
7768
;;;                                                                         { 36 TypeName
7769
;;;                                                                           { 37 TypeSpecifier (all)
7770
;;;                                                                             spec = char (20000)
7771
;;;                                                                           } 37 TypeSpecifier (all)
7772
;;;                                                                           { 37 List
7773
;;;                                                                             { 38 DeclItem
7774
;;;                                                                               what = DECL_NAME
7775
;;;                                                                               name = min_p
7776
;;;                                                                             } 38 DeclItem
7777
;;;                                                                           } 37 List
7778
;;;                                                                         } 36 TypeName
7779
;;;                                                                       } 35 ParameterDeclaration
7780
;;;                                                                       { 35 NumericExpression (constant 48 = 0x30)
7781 2 jsauermann
;--     load_rr_constant
7782
        MOVE    #0x0030, RR
7783 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 48 = 0x30)
7784 2 jsauermann
;--     push_rr (8 bit)
7785
        MOVE    R, -(SP)
7786 7 jsauermann
;;;                                                                       { 35 Expr (l , r)
7787
;;;                                                                         { 36 ParameterDeclaration
7788
;;;                                                                           isEllipsis = false
7789
;;;                                                                           { 37 TypeName
7790
;;;                                                                             { 38 TypeSpecifier (all)
7791
;;;                                                                               spec = int (80000)
7792
;;;                                                                             } 38 TypeSpecifier (all)
7793
;;;                                                                             { 38 List
7794
;;;                                                                               { 39 DeclItem
7795
;;;                                                                                 what = DECL_NAME
7796
;;;                                                                                 name = min_w
7797
;;;                                                                               } 39 DeclItem
7798
;;;                                                                             } 38 List
7799
;;;                                                                           } 37 TypeName
7800
;;;                                                                         } 36 ParameterDeclaration
7801
;;;                                                                         { 36 Expression (variable name)
7802
;;;                                                                           expr_type = "identifier" (min_w)
7803 2 jsauermann
;--     load_rr_var min_w = -14(FP), SP at -29 (16 bit)
7804
        MOVE    15(SP), RR
7805 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
7806 2 jsauermann
;--     push_rr (16 bit)
7807
        MOVE    RR, -(SP)
7808 7 jsauermann
;;;                                                                         { 36 Expr (l , r)
7809
;;;                                                                           { 37 ParameterDeclaration
7810
;;;                                                                             isEllipsis = false
7811
;;;                                                                             { 38 TypeName
7812
;;;                                                                               { 39 TypeSpecifier (all)
7813
;;;                                                                                 spec = int (80000)
7814
;;;                                                                               } 39 TypeSpecifier (all)
7815
;;;                                                                               { 39 List
7816
;;;                                                                                 { 40 DeclItem
7817
;;;                                                                                   what = DECL_NAME
7818
;;;                                                                                   name = field_w
7819
;;;                                                                                 } 40 DeclItem
7820
;;;                                                                               } 39 List
7821
;;;                                                                             } 38 TypeName
7822
;;;                                                                           } 37 ParameterDeclaration
7823
;;;                                                                           { 37 Expression (variable name)
7824
;;;                                                                             expr_type = "identifier" (field_w)
7825 2 jsauermann
;--     load_rr_var field_w = -12(FP), SP at -31 (16 bit)
7826
        MOVE    19(SP), RR
7827 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
7828 2 jsauermann
;--     push_rr (16 bit)
7829
        MOVE    RR, -(SP)
7830 7 jsauermann
;;;                                                                           { 37 Expr (l , r)
7831
;;;                                                                             { 38 ParameterDeclaration
7832
;;;                                                                               isEllipsis = false
7833
;;;                                                                               { 39 TypeName
7834
;;;                                                                                 { 40 TypeSpecifier (all)
7835
;;;                                                                                   spec = const char (20100)
7836
;;;                                                                                 } 40 TypeSpecifier (all)
7837
;;;                                                                                 { 40 List
7838
;;;                                                                                   { 41 DeclItem
7839
;;;                                                                                     what = DECL_POINTER
7840
;;;                                                                                     { 42 List
7841
;;;                                                                                       { 43 Ptr
7842
;;;                                                                                       } 43 Ptr
7843
;;;                                                                                     } 42 List
7844
;;;                                                                                   } 41 DeclItem
7845
;;;                                                                                   { 41 DeclItem
7846
;;;                                                                                     what = DECL_NAME
7847
;;;                                                                                     name = alt
7848
;;;                                                                                   } 41 DeclItem
7849
;;;                                                                                 } 40 List
7850
;;;                                                                               } 39 TypeName
7851
;;;                                                                             } 38 ParameterDeclaration
7852
;;;                                                                             { 38 StringExpression
7853 2 jsauermann
;--     load_rr_string
7854
        MOVE    #Cstr_38, RR
7855 7 jsauermann
;;;                                                                             } 38 StringExpression
7856 2 jsauermann
;--     push_rr (16 bit)
7857
        MOVE    RR, -(SP)
7858 7 jsauermann
;;;                                                                             { 38 Expr (l , r)
7859
;;;                                                                               { 39 ParameterDeclaration
7860
;;;                                                                                 isEllipsis = false
7861
;;;                                                                                 { 40 TypeName
7862
;;;                                                                                   { 41 TypeSpecifier (all)
7863
;;;                                                                                     spec = char (20000)
7864
;;;                                                                                   } 41 TypeSpecifier (all)
7865
;;;                                                                                   { 41 List
7866
;;;                                                                                     { 42 DeclItem
7867
;;;                                                                                       what = DECL_NAME
7868
;;;                                                                                       name = pad
7869
;;;                                                                                     } 42 DeclItem
7870
;;;                                                                                   } 41 List
7871
;;;                                                                                 } 40 TypeName
7872
;;;                                                                               } 39 ParameterDeclaration
7873
;;;                                                                               { 39 Expression (variable name)
7874
;;;                                                                                 expr_type = "identifier" (pad)
7875 2 jsauermann
;--     load_rr_var pad = -8(FP), SP at -35 (8 bit)
7876
        MOVE    27(SP), RS
7877 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
7878 2 jsauermann
;--     push_rr (8 bit)
7879
        MOVE    R, -(SP)
7880 7 jsauermann
;;;                                                                               { 39 Expr (l , r)
7881
;;;                                                                                 { 40 ParameterDeclaration
7882
;;;                                                                                   isEllipsis = false
7883
;;;                                                                                   { 41 TypeName
7884
;;;                                                                                     { 42 TypeSpecifier (all)
7885
;;;                                                                                       spec = char (20000)
7886
;;;                                                                                     } 42 TypeSpecifier (all)
7887
;;;                                                                                     { 42 List
7888
;;;                                                                                       { 43 DeclItem
7889
;;;                                                                                         what = DECL_NAME
7890
;;;                                                                                         name = sign
7891
;;;                                                                                       } 43 DeclItem
7892
;;;                                                                                     } 42 List
7893
;;;                                                                                   } 41 TypeName
7894
;;;                                                                                 } 40 ParameterDeclaration
7895
;;;                                                                                 { 40 Expression (variable name)
7896
;;;                                                                                   expr_type = "identifier" (sign)
7897 2 jsauermann
;--     load_rr_var sign = -7(FP), SP at -36 (8 bit)
7898
        MOVE    29(SP), RS
7899 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
7900 2 jsauermann
;--     push_rr (8 bit)
7901
        MOVE    R, -(SP)
7902 7 jsauermann
;;;                                                                                 { 40 Expr (l , r)
7903
;;;                                                                                   { 41 ParameterDeclaration
7904
;;;                                                                                     isEllipsis = false
7905
;;;                                                                                     { 42 TypeName
7906
;;;                                                                                       { 43 TypeSpecifier (all)
7907
;;;                                                                                         spec = char (20000)
7908
;;;                                                                                       } 43 TypeSpecifier (all)
7909
;;;                                                                                       { 43 List
7910
;;;                                                                                         { 44 DeclItem
7911
;;;                                                                                           what = DECL_NAME
7912
;;;                                                                                           name = flags
7913
;;;                                                                                         } 44 DeclItem
7914
;;;                                                                                       } 43 List
7915
;;;                                                                                     } 42 TypeName
7916
;;;                                                                                   } 41 ParameterDeclaration
7917
;;;                                                                                   { 41 Expression (variable name)
7918
;;;                                                                                     expr_type = "identifier" (flags)
7919 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -37 (8 bit)
7920
        MOVE    31(SP), RS
7921 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
7922 2 jsauermann
;--     push_rr (8 bit)
7923
        MOVE    R, -(SP)
7924 7 jsauermann
;;;                                                                                   { 41 ParameterDeclaration
7925
;;;                                                                                     isEllipsis = false
7926
;;;                                                                                     { 42 TypeName
7927
;;;                                                                                       { 43 TypeSpecifier (all)
7928
;;;                                                                                         spec = const char (20100)
7929
;;;                                                                                       } 43 TypeSpecifier (all)
7930
;;;                                                                                       { 43 List
7931
;;;                                                                                         { 44 DeclItem
7932
;;;                                                                                           what = DECL_POINTER
7933
;;;                                                                                           { 45 List
7934
;;;                                                                                             { 46 Ptr
7935
;;;                                                                                             } 46 Ptr
7936
;;;                                                                                           } 45 List
7937
;;;                                                                                         } 44 DeclItem
7938
;;;                                                                                         { 44 DeclItem
7939
;;;                                                                                           what = DECL_NAME
7940
;;;                                                                                           name = buffer
7941
;;;                                                                                         } 44 DeclItem
7942
;;;                                                                                       } 43 List
7943
;;;                                                                                     } 42 TypeName
7944
;;;                                                                                   } 41 ParameterDeclaration
7945 2 jsauermann
;--     load_address buffer = -28(FP), SP at -38
7946
        LEA     10(SP), RR
7947
;--     push_rr (16 bit)
7948
        MOVE    RR, -(SP)
7949 7 jsauermann
;;;                                                                                 } 40 Expr (l , r)
7950
;;;                                                                               } 39 Expr (l , r)
7951
;;;                                                                             } 38 Expr (l , r)
7952
;;;                                                                           } 37 Expr (l , r)
7953
;;;                                                                         } 36 Expr (l , r)
7954
;;;                                                                       } 35 Expr (l , r)
7955
;;;                                                                     } 34 Expr (l , r)
7956 2 jsauermann
;--     push 2 bytes
7957
;--     call
7958
        CALL    Cprint_item
7959
;--     pop 12 bytes
7960
        ADD     SP, #12
7961 7 jsauermann
;;;                                                                   } 33 Expr l(r)
7962
;;;                                                                   { 33 Expression (variable name)
7963
;;;                                                                     expr_type = "identifier" (len)
7964 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
7965
        MOVE    24(SP), LL
7966 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
7967 2 jsauermann
;--     scale_rr *1
7968
;--     l + r
7969
        ADD     LL, RR
7970 7 jsauermann
;;;                                                                 } 32 Expr l + r
7971 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
7972
        MOVE    RR, 24(SP)
7973 7 jsauermann
;;;                                                               } 31 Expr l += r
7974
;;;                                                             } 30 ExpressionStatement
7975
;;;                                                             { 30 break/continue Statement
7976 2 jsauermann
;--     branch
7977
        JMP     L20_brk_60
7978 7 jsauermann
;;;                                                             } 30 break/continue Statement
7979
;;;                                                             { 30 case Statement
7980 2 jsauermann
L20_case_60_0073:
7981 7 jsauermann
;;;                                                               { 31 ExpressionStatement
7982
;;;                                                                 { 32 Expr l += r
7983
;;;                                                                   { 33 TypeName
7984
;;;                                                                     { 34 TypeSpecifier (all)
7985
;;;                                                                       spec = int (80000)
7986
;;;                                                                     } 34 TypeSpecifier (all)
7987
;;;                                                                     { 34 List
7988
;;;                                                                       { 35 DeclItem
7989
;;;                                                                         what = DECL_NAME
7990
;;;                                                                         name = len
7991
;;;                                                                       } 35 DeclItem
7992
;;;                                                                     } 34 List
7993
;;;                                                                   } 33 TypeName
7994
;;;                                                                   { 33 Expr l + r
7995
;;;                                                                     { 34 Expr l(r)
7996
;;;                                                                       { 35 TypeName
7997
;;;                                                                         { 36 TypeSpecifier (all)
7998
;;;                                                                           spec = int (80000)
7999
;;;                                                                         } 36 TypeSpecifier (all)
8000
;;;                                                                         { 36 List
8001
;;;                                                                           { 37 DeclItem
8002
;;;                                                                             what = DECL_NAME
8003
;;;                                                                             name = print_item
8004
;;;                                                                           } 37 DeclItem
8005
;;;                                                                         } 36 List
8006
;;;                                                                       } 35 TypeName
8007
;;;                                                                       { 35 Expr (l , r)
8008
;;;                                                                         { 36 ParameterDeclaration
8009
;;;                                                                           isEllipsis = false
8010
;;;                                                                           { 37 TypeName
8011
;;;                                                                             { 38 TypeSpecifier (all)
8012
;;;                                                                               spec = char (20000)
8013
;;;                                                                             } 38 TypeSpecifier (all)
8014
;;;                                                                             { 38 List
8015
;;;                                                                               { 39 DeclItem
8016
;;;                                                                                 what = DECL_NAME
8017
;;;                                                                                 name = min_p
8018
;;;                                                                               } 39 DeclItem
8019
;;;                                                                             } 38 List
8020
;;;                                                                           } 37 TypeName
8021
;;;                                                                         } 36 ParameterDeclaration
8022
;;;                                                                         { 36 NumericExpression (constant 32 = 0x20)
8023 2 jsauermann
;--     load_rr_constant
8024
        MOVE    #0x0020, RR
8025 7 jsauermann
;;;                                                                         } 36 NumericExpression (constant 32 = 0x20)
8026 2 jsauermann
;--     push_rr (8 bit)
8027
        MOVE    R, -(SP)
8028 7 jsauermann
;;;                                                                         { 36 Expr (l , r)
8029
;;;                                                                           { 37 ParameterDeclaration
8030
;;;                                                                             isEllipsis = false
8031
;;;                                                                             { 38 TypeName
8032
;;;                                                                               { 39 TypeSpecifier (all)
8033
;;;                                                                                 spec = int (80000)
8034
;;;                                                                               } 39 TypeSpecifier (all)
8035
;;;                                                                               { 39 List
8036
;;;                                                                                 { 40 DeclItem
8037
;;;                                                                                   what = DECL_NAME
8038
;;;                                                                                   name = min_w
8039
;;;                                                                                 } 40 DeclItem
8040
;;;                                                                               } 39 List
8041
;;;                                                                             } 38 TypeName
8042
;;;                                                                           } 37 ParameterDeclaration
8043
;;;                                                                           { 37 Expression (variable name)
8044
;;;                                                                             expr_type = "identifier" (min_w)
8045 2 jsauermann
;--     load_rr_var min_w = -14(FP), SP at -29 (16 bit)
8046
        MOVE    15(SP), RR
8047 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
8048 2 jsauermann
;--     push_rr (16 bit)
8049
        MOVE    RR, -(SP)
8050 7 jsauermann
;;;                                                                           { 37 Expr (l , r)
8051
;;;                                                                             { 38 ParameterDeclaration
8052
;;;                                                                               isEllipsis = false
8053
;;;                                                                               { 39 TypeName
8054
;;;                                                                                 { 40 TypeSpecifier (all)
8055
;;;                                                                                   spec = int (80000)
8056
;;;                                                                                 } 40 TypeSpecifier (all)
8057
;;;                                                                                 { 40 List
8058
;;;                                                                                   { 41 DeclItem
8059
;;;                                                                                     what = DECL_NAME
8060
;;;                                                                                     name = field_w
8061
;;;                                                                                   } 41 DeclItem
8062
;;;                                                                                 } 40 List
8063
;;;                                                                               } 39 TypeName
8064
;;;                                                                             } 38 ParameterDeclaration
8065
;;;                                                                             { 38 Expression (variable name)
8066
;;;                                                                               expr_type = "identifier" (field_w)
8067 2 jsauermann
;--     load_rr_var field_w = -12(FP), SP at -31 (16 bit)
8068
        MOVE    19(SP), RR
8069 7 jsauermann
;;;                                                                             } 38 Expression (variable name)
8070 2 jsauermann
;--     push_rr (16 bit)
8071
        MOVE    RR, -(SP)
8072 7 jsauermann
;;;                                                                             { 38 Expr (l , r)
8073
;;;                                                                               { 39 ParameterDeclaration
8074
;;;                                                                                 isEllipsis = false
8075
;;;                                                                                 { 40 TypeName
8076
;;;                                                                                   { 41 TypeSpecifier (all)
8077
;;;                                                                                     spec = const char (20100)
8078
;;;                                                                                   } 41 TypeSpecifier (all)
8079
;;;                                                                                   { 41 List
8080
;;;                                                                                     { 42 DeclItem
8081
;;;                                                                                       what = DECL_POINTER
8082
;;;                                                                                       { 43 List
8083
;;;                                                                                         { 44 Ptr
8084
;;;                                                                                         } 44 Ptr
8085
;;;                                                                                       } 43 List
8086
;;;                                                                                     } 42 DeclItem
8087
;;;                                                                                     { 42 DeclItem
8088
;;;                                                                                       what = DECL_NAME
8089
;;;                                                                                       name = alt
8090
;;;                                                                                     } 42 DeclItem
8091
;;;                                                                                   } 41 List
8092
;;;                                                                                 } 40 TypeName
8093
;;;                                                                               } 39 ParameterDeclaration
8094
;;;                                                                               { 39 StringExpression
8095 2 jsauermann
;--     load_rr_string
8096
        MOVE    #Cstr_39, RR
8097 7 jsauermann
;;;                                                                               } 39 StringExpression
8098 2 jsauermann
;--     push_rr (16 bit)
8099
        MOVE    RR, -(SP)
8100 7 jsauermann
;;;                                                                               { 39 Expr (l , r)
8101
;;;                                                                                 { 40 ParameterDeclaration
8102
;;;                                                                                   isEllipsis = false
8103
;;;                                                                                   { 41 TypeName
8104
;;;                                                                                     { 42 TypeSpecifier (all)
8105
;;;                                                                                       spec = char (20000)
8106
;;;                                                                                     } 42 TypeSpecifier (all)
8107
;;;                                                                                     { 42 List
8108
;;;                                                                                       { 43 DeclItem
8109
;;;                                                                                         what = DECL_NAME
8110
;;;                                                                                         name = pad
8111
;;;                                                                                       } 43 DeclItem
8112
;;;                                                                                     } 42 List
8113
;;;                                                                                   } 41 TypeName
8114
;;;                                                                                 } 40 ParameterDeclaration
8115
;;;                                                                                 { 40 NumericExpression (constant 32 = 0x20)
8116 2 jsauermann
;--     load_rr_constant
8117
        MOVE    #0x0020, RR
8118 7 jsauermann
;;;                                                                                 } 40 NumericExpression (constant 32 = 0x20)
8119 2 jsauermann
;--     push_rr (8 bit)
8120
        MOVE    R, -(SP)
8121 7 jsauermann
;;;                                                                                 { 40 Expr (l , r)
8122
;;;                                                                                   { 41 ParameterDeclaration
8123
;;;                                                                                     isEllipsis = false
8124
;;;                                                                                     { 42 TypeName
8125
;;;                                                                                       { 43 TypeSpecifier (all)
8126
;;;                                                                                         spec = char (20000)
8127
;;;                                                                                       } 43 TypeSpecifier (all)
8128
;;;                                                                                       { 43 List
8129
;;;                                                                                         { 44 DeclItem
8130
;;;                                                                                           what = DECL_NAME
8131
;;;                                                                                           name = sign
8132
;;;                                                                                         } 44 DeclItem
8133
;;;                                                                                       } 43 List
8134
;;;                                                                                     } 42 TypeName
8135
;;;                                                                                   } 41 ParameterDeclaration
8136
;;;                                                                                   { 41 NumericExpression (constant 0 = 0x0)
8137 2 jsauermann
;--     load_rr_constant
8138
        MOVE    #0x0000, RR
8139 7 jsauermann
;;;                                                                                   } 41 NumericExpression (constant 0 = 0x0)
8140 2 jsauermann
;--     push_rr (8 bit)
8141
        MOVE    R, -(SP)
8142 7 jsauermann
;;;                                                                                   { 41 Expr (l , r)
8143
;;;                                                                                     { 42 ParameterDeclaration
8144
;;;                                                                                       isEllipsis = false
8145
;;;                                                                                       { 43 TypeName
8146
;;;                                                                                         { 44 TypeSpecifier (all)
8147
;;;                                                                                           spec = char (20000)
8148
;;;                                                                                         } 44 TypeSpecifier (all)
8149
;;;                                                                                         { 44 List
8150
;;;                                                                                           { 45 DeclItem
8151
;;;                                                                                             what = DECL_NAME
8152
;;;                                                                                             name = flags
8153
;;;                                                                                           } 45 DeclItem
8154
;;;                                                                                         } 44 List
8155
;;;                                                                                       } 43 TypeName
8156
;;;                                                                                     } 42 ParameterDeclaration
8157
;;;                                                                                     { 42 Expr l & r
8158
;;;                                                                                       { 43 TypeName (internal)
8159
;;;                                                                                         { 44 TypeSpecifier (all)
8160
;;;                                                                                           spec = int (80000)
8161
;;;                                                                                         } 44 TypeSpecifier (all)
8162
;;;                                                                                       } 43 TypeName (internal)
8163
;;;                                                                                       { 43 Expression (variable name)
8164
;;;                                                                                         expr_type = "identifier" (flags)
8165 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -37 (8 bit)
8166
        MOVE    31(SP), RS
8167 7 jsauermann
;;;                                                                                       } 43 Expression (variable name)
8168 2 jsauermann
;--     l & r
8169
        AND     RR, #0x0002
8170 7 jsauermann
;;;                                                                                     } 42 Expr l & r
8171 2 jsauermann
;--     push_rr (8 bit)
8172
        MOVE    R, -(SP)
8173 7 jsauermann
;;;                                                                                     { 42 ParameterDeclaration
8174
;;;                                                                                       isEllipsis = false
8175
;;;                                                                                       { 43 TypeName
8176
;;;                                                                                         { 44 TypeSpecifier (all)
8177
;;;                                                                                           spec = const char (20100)
8178
;;;                                                                                         } 44 TypeSpecifier (all)
8179
;;;                                                                                         { 44 List
8180
;;;                                                                                           { 45 DeclItem
8181
;;;                                                                                             what = DECL_POINTER
8182
;;;                                                                                             { 46 List
8183
;;;                                                                                               { 47 Ptr
8184
;;;                                                                                               } 47 Ptr
8185
;;;                                                                                             } 46 List
8186
;;;                                                                                           } 45 DeclItem
8187
;;;                                                                                           { 45 DeclItem
8188
;;;                                                                                             what = DECL_NAME
8189
;;;                                                                                             name = buffer
8190
;;;                                                                                           } 45 DeclItem
8191
;;;                                                                                         } 44 List
8192
;;;                                                                                       } 43 TypeName
8193
;;;                                                                                     } 42 ParameterDeclaration
8194
;;;                                                                                     { 42 Expr * r
8195
;;;                                                                                       { 43 Expr l - r
8196
;;;                                                                                         { 44 Expr ++r
8197
;;;                                                                                           { 45 Expression (variable name)
8198
;;;                                                                                             expr_type = "identifier" (args)
8199 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -38 (16 bit)
8200
        MOVE    36(SP), RR
8201 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
8202 2 jsauermann
;--     ++
8203
        ADD     RR, #0x0002
8204
;--     store_rr_var args = -2(FP), SP at -38
8205
        MOVE    RR, 36(SP)
8206 7 jsauermann
;;;                                                                                         } 44 Expr ++r
8207 2 jsauermann
;--     l - r
8208
        SUB     RR, #0x0002
8209 7 jsauermann
;;;                                                                                       } 43 Expr l - r
8210 2 jsauermann
;--     content
8211
        MOVE    (RR), RR
8212 7 jsauermann
;;;                                                                                     } 42 Expr * r
8213 2 jsauermann
;--     push_rr (16 bit)
8214
        MOVE    RR, -(SP)
8215 7 jsauermann
;;;                                                                                   } 41 Expr (l , r)
8216
;;;                                                                                 } 40 Expr (l , r)
8217
;;;                                                                               } 39 Expr (l , r)
8218
;;;                                                                             } 38 Expr (l , r)
8219
;;;                                                                           } 37 Expr (l , r)
8220
;;;                                                                         } 36 Expr (l , r)
8221
;;;                                                                       } 35 Expr (l , r)
8222 2 jsauermann
;--     push 2 bytes
8223
;--     call
8224
        CALL    Cprint_item
8225
;--     pop 12 bytes
8226
        ADD     SP, #12
8227 7 jsauermann
;;;                                                                     } 34 Expr l(r)
8228
;;;                                                                     { 34 Expression (variable name)
8229
;;;                                                                       expr_type = "identifier" (len)
8230 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
8231
        MOVE    24(SP), LL
8232 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
8233 2 jsauermann
;--     scale_rr *1
8234
;--     l + r
8235
        ADD     LL, RR
8236 7 jsauermann
;;;                                                                   } 33 Expr l + r
8237 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
8238
        MOVE    RR, 24(SP)
8239 7 jsauermann
;;;                                                                 } 32 Expr l += r
8240
;;;                                                               } 31 ExpressionStatement
8241
;;;                                                             } 30 case Statement
8242
;;;                                                             { 30 break/continue Statement
8243 2 jsauermann
;--     branch
8244
        JMP     L20_brk_60
8245 7 jsauermann
;;;                                                             } 30 break/continue Statement
8246
;;;                                                             { 30 case Statement
8247 2 jsauermann
L20_case_60_0075:
8248 7 jsauermann
;;;                                                               { 31 ExpressionStatement
8249
;;;                                                                 { 32 Expr l(r)
8250
;;;                                                                   { 33 TypeName
8251
;;;                                                                     { 34 TypeSpecifier (all)
8252
;;;                                                                       spec = void (10000)
8253
;;;                                                                     } 34 TypeSpecifier (all)
8254
;;;                                                                     { 34 List
8255
;;;                                                                       { 35 DeclItem
8256
;;;                                                                         what = DECL_NAME
8257
;;;                                                                         name = print_unsigned
8258
;;;                                                                       } 35 DeclItem
8259
;;;                                                                     } 34 List
8260
;;;                                                                   } 33 TypeName
8261
;;;                                                                   { 33 Expr (l , r)
8262
;;;                                                                     { 34 ParameterDeclaration
8263
;;;                                                                       isEllipsis = false
8264
;;;                                                                       { 35 TypeName
8265
;;;                                                                         { 36 TypeSpecifier (all)
8266
;;;                                                                           spec = unsigned int (82000)
8267
;;;                                                                         } 36 TypeSpecifier (all)
8268
;;;                                                                         { 36 List
8269
;;;                                                                           { 37 DeclItem
8270
;;;                                                                             what = DECL_NAME
8271
;;;                                                                             name = value
8272
;;;                                                                           } 37 DeclItem
8273
;;;                                                                         } 36 List
8274
;;;                                                                       } 35 TypeName
8275
;;;                                                                     } 34 ParameterDeclaration
8276
;;;                                                                     { 34 Expression (cast)r
8277
;;;                                                                       { 35 Expr * r
8278
;;;                                                                         { 36 Expr l - r
8279
;;;                                                                           { 37 Expr ++r
8280
;;;                                                                             { 38 Expression (variable name)
8281
;;;                                                                               expr_type = "identifier" (args)
8282 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -28 (16 bit)
8283
        MOVE    26(SP), RR
8284 7 jsauermann
;;;                                                                             } 38 Expression (variable name)
8285 2 jsauermann
;--     ++
8286
        ADD     RR, #0x0002
8287
;--     store_rr_var args = -2(FP), SP at -28
8288
        MOVE    RR, 26(SP)
8289 7 jsauermann
;;;                                                                           } 37 Expr ++r
8290 2 jsauermann
;--     l - r
8291
        SUB     RR, #0x0002
8292 7 jsauermann
;;;                                                                         } 36 Expr l - r
8293 2 jsauermann
;--     content
8294
        MOVE    (RR), RR
8295 7 jsauermann
;;;                                                                       } 35 Expr * r
8296
;;;                                                                     } 34 Expression (cast)r
8297 2 jsauermann
;--     push_rr (16 bit)
8298
        MOVE    RR, -(SP)
8299 7 jsauermann
;;;                                                                     { 34 ParameterDeclaration
8300
;;;                                                                       isEllipsis = false
8301
;;;                                                                       { 35 TypeName
8302
;;;                                                                         { 36 TypeSpecifier (all)
8303
;;;                                                                           spec = char (20000)
8304
;;;                                                                         } 36 TypeSpecifier (all)
8305
;;;                                                                         { 36 List
8306
;;;                                                                           { 37 DeclItem
8307
;;;                                                                             what = DECL_POINTER
8308
;;;                                                                             { 38 List
8309
;;;                                                                               { 39 Ptr
8310
;;;                                                                               } 39 Ptr
8311
;;;                                                                             } 38 List
8312
;;;                                                                           } 37 DeclItem
8313
;;;                                                                           { 37 DeclItem
8314
;;;                                                                             what = DECL_NAME
8315
;;;                                                                             name = dest
8316
;;;                                                                           } 37 DeclItem
8317
;;;                                                                         } 36 List
8318
;;;                                                                       } 35 TypeName
8319
;;;                                                                     } 34 ParameterDeclaration
8320 2 jsauermann
;--     load_address buffer = -28(FP), SP at -30
8321
        LEA     2(SP), RR
8322
;--     push_rr (16 bit)
8323
        MOVE    RR, -(SP)
8324 7 jsauermann
;;;                                                                   } 33 Expr (l , r)
8325 2 jsauermann
;--     push 0 bytes
8326
;--     call
8327
        CALL    Cprint_unsigned
8328
;--     pop 4 bytes
8329
        ADD     SP, #4
8330 7 jsauermann
;;;                                                                 } 32 Expr l(r)
8331
;;;                                                               } 31 ExpressionStatement
8332
;;;                                                             } 30 case Statement
8333
;;;                                                             { 30 ExpressionStatement
8334
;;;                                                               { 31 Expr l += r
8335
;;;                                                                 { 32 TypeName
8336
;;;                                                                   { 33 TypeSpecifier (all)
8337
;;;                                                                     spec = int (80000)
8338
;;;                                                                   } 33 TypeSpecifier (all)
8339
;;;                                                                   { 33 List
8340
;;;                                                                     { 34 DeclItem
8341
;;;                                                                       what = DECL_NAME
8342
;;;                                                                       name = len
8343
;;;                                                                     } 34 DeclItem
8344
;;;                                                                   } 33 List
8345
;;;                                                                 } 32 TypeName
8346
;;;                                                                 { 32 Expr l + r
8347
;;;                                                                   { 33 Expr l(r)
8348
;;;                                                                     { 34 TypeName
8349
;;;                                                                       { 35 TypeSpecifier (all)
8350
;;;                                                                         spec = int (80000)
8351
;;;                                                                       } 35 TypeSpecifier (all)
8352
;;;                                                                       { 35 List
8353
;;;                                                                         { 36 DeclItem
8354
;;;                                                                           what = DECL_NAME
8355
;;;                                                                           name = print_item
8356
;;;                                                                         } 36 DeclItem
8357
;;;                                                                       } 35 List
8358
;;;                                                                     } 34 TypeName
8359
;;;                                                                     { 34 Expr (l , r)
8360
;;;                                                                       { 35 ParameterDeclaration
8361
;;;                                                                         isEllipsis = false
8362
;;;                                                                         { 36 TypeName
8363
;;;                                                                           { 37 TypeSpecifier (all)
8364
;;;                                                                             spec = char (20000)
8365
;;;                                                                           } 37 TypeSpecifier (all)
8366
;;;                                                                           { 37 List
8367
;;;                                                                             { 38 DeclItem
8368
;;;                                                                               what = DECL_NAME
8369
;;;                                                                               name = min_p
8370
;;;                                                                             } 38 DeclItem
8371
;;;                                                                           } 37 List
8372
;;;                                                                         } 36 TypeName
8373
;;;                                                                       } 35 ParameterDeclaration
8374
;;;                                                                       { 35 NumericExpression (constant 48 = 0x30)
8375 2 jsauermann
;--     load_rr_constant
8376
        MOVE    #0x0030, RR
8377 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 48 = 0x30)
8378 2 jsauermann
;--     push_rr (8 bit)
8379
        MOVE    R, -(SP)
8380 7 jsauermann
;;;                                                                       { 35 Expr (l , r)
8381
;;;                                                                         { 36 ParameterDeclaration
8382
;;;                                                                           isEllipsis = false
8383
;;;                                                                           { 37 TypeName
8384
;;;                                                                             { 38 TypeSpecifier (all)
8385
;;;                                                                               spec = int (80000)
8386
;;;                                                                             } 38 TypeSpecifier (all)
8387
;;;                                                                             { 38 List
8388
;;;                                                                               { 39 DeclItem
8389
;;;                                                                                 what = DECL_NAME
8390
;;;                                                                                 name = min_w
8391
;;;                                                                               } 39 DeclItem
8392
;;;                                                                             } 38 List
8393
;;;                                                                           } 37 TypeName
8394
;;;                                                                         } 36 ParameterDeclaration
8395
;;;                                                                         { 36 Expression (variable name)
8396
;;;                                                                           expr_type = "identifier" (min_w)
8397 2 jsauermann
;--     load_rr_var min_w = -14(FP), SP at -29 (16 bit)
8398
        MOVE    15(SP), RR
8399 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
8400 2 jsauermann
;--     push_rr (16 bit)
8401
        MOVE    RR, -(SP)
8402 7 jsauermann
;;;                                                                         { 36 Expr (l , r)
8403
;;;                                                                           { 37 ParameterDeclaration
8404
;;;                                                                             isEllipsis = false
8405
;;;                                                                             { 38 TypeName
8406
;;;                                                                               { 39 TypeSpecifier (all)
8407
;;;                                                                                 spec = int (80000)
8408
;;;                                                                               } 39 TypeSpecifier (all)
8409
;;;                                                                               { 39 List
8410
;;;                                                                                 { 40 DeclItem
8411
;;;                                                                                   what = DECL_NAME
8412
;;;                                                                                   name = field_w
8413
;;;                                                                                 } 40 DeclItem
8414
;;;                                                                               } 39 List
8415
;;;                                                                             } 38 TypeName
8416
;;;                                                                           } 37 ParameterDeclaration
8417
;;;                                                                           { 37 Expression (variable name)
8418
;;;                                                                             expr_type = "identifier" (field_w)
8419 2 jsauermann
;--     load_rr_var field_w = -12(FP), SP at -31 (16 bit)
8420
        MOVE    19(SP), RR
8421 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
8422 2 jsauermann
;--     push_rr (16 bit)
8423
        MOVE    RR, -(SP)
8424 7 jsauermann
;;;                                                                           { 37 Expr (l , r)
8425
;;;                                                                             { 38 ParameterDeclaration
8426
;;;                                                                               isEllipsis = false
8427
;;;                                                                               { 39 TypeName
8428
;;;                                                                                 { 40 TypeSpecifier (all)
8429
;;;                                                                                   spec = const char (20100)
8430
;;;                                                                                 } 40 TypeSpecifier (all)
8431
;;;                                                                                 { 40 List
8432
;;;                                                                                   { 41 DeclItem
8433
;;;                                                                                     what = DECL_POINTER
8434
;;;                                                                                     { 42 List
8435
;;;                                                                                       { 43 Ptr
8436
;;;                                                                                       } 43 Ptr
8437
;;;                                                                                     } 42 List
8438
;;;                                                                                   } 41 DeclItem
8439
;;;                                                                                   { 41 DeclItem
8440
;;;                                                                                     what = DECL_NAME
8441
;;;                                                                                     name = alt
8442
;;;                                                                                   } 41 DeclItem
8443
;;;                                                                                 } 40 List
8444
;;;                                                                               } 39 TypeName
8445
;;;                                                                             } 38 ParameterDeclaration
8446
;;;                                                                             { 38 StringExpression
8447 2 jsauermann
;--     load_rr_string
8448
        MOVE    #Cstr_40, RR
8449 7 jsauermann
;;;                                                                             } 38 StringExpression
8450 2 jsauermann
;--     push_rr (16 bit)
8451
        MOVE    RR, -(SP)
8452 7 jsauermann
;;;                                                                             { 38 Expr (l , r)
8453
;;;                                                                               { 39 ParameterDeclaration
8454
;;;                                                                                 isEllipsis = false
8455
;;;                                                                                 { 40 TypeName
8456
;;;                                                                                   { 41 TypeSpecifier (all)
8457
;;;                                                                                     spec = char (20000)
8458
;;;                                                                                   } 41 TypeSpecifier (all)
8459
;;;                                                                                   { 41 List
8460
;;;                                                                                     { 42 DeclItem
8461
;;;                                                                                       what = DECL_NAME
8462
;;;                                                                                       name = pad
8463
;;;                                                                                     } 42 DeclItem
8464
;;;                                                                                   } 41 List
8465
;;;                                                                                 } 40 TypeName
8466
;;;                                                                               } 39 ParameterDeclaration
8467
;;;                                                                               { 39 Expression (variable name)
8468
;;;                                                                                 expr_type = "identifier" (pad)
8469 2 jsauermann
;--     load_rr_var pad = -8(FP), SP at -35 (8 bit)
8470
        MOVE    27(SP), RS
8471 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
8472 2 jsauermann
;--     push_rr (8 bit)
8473
        MOVE    R, -(SP)
8474 7 jsauermann
;;;                                                                               { 39 Expr (l , r)
8475
;;;                                                                                 { 40 ParameterDeclaration
8476
;;;                                                                                   isEllipsis = false
8477
;;;                                                                                   { 41 TypeName
8478
;;;                                                                                     { 42 TypeSpecifier (all)
8479
;;;                                                                                       spec = char (20000)
8480
;;;                                                                                     } 42 TypeSpecifier (all)
8481
;;;                                                                                     { 42 List
8482
;;;                                                                                       { 43 DeclItem
8483
;;;                                                                                         what = DECL_NAME
8484
;;;                                                                                         name = sign
8485
;;;                                                                                       } 43 DeclItem
8486
;;;                                                                                     } 42 List
8487
;;;                                                                                   } 41 TypeName
8488
;;;                                                                                 } 40 ParameterDeclaration
8489
;;;                                                                                 { 40 Expression (variable name)
8490
;;;                                                                                   expr_type = "identifier" (sign)
8491 2 jsauermann
;--     load_rr_var sign = -7(FP), SP at -36 (8 bit)
8492
        MOVE    29(SP), RS
8493 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
8494 2 jsauermann
;--     push_rr (8 bit)
8495
        MOVE    R, -(SP)
8496 7 jsauermann
;;;                                                                                 { 40 Expr (l , r)
8497
;;;                                                                                   { 41 ParameterDeclaration
8498
;;;                                                                                     isEllipsis = false
8499
;;;                                                                                     { 42 TypeName
8500
;;;                                                                                       { 43 TypeSpecifier (all)
8501
;;;                                                                                         spec = char (20000)
8502
;;;                                                                                       } 43 TypeSpecifier (all)
8503
;;;                                                                                       { 43 List
8504
;;;                                                                                         { 44 DeclItem
8505
;;;                                                                                           what = DECL_NAME
8506
;;;                                                                                           name = flags
8507
;;;                                                                                         } 44 DeclItem
8508
;;;                                                                                       } 43 List
8509
;;;                                                                                     } 42 TypeName
8510
;;;                                                                                   } 41 ParameterDeclaration
8511
;;;                                                                                   { 41 Expression (variable name)
8512
;;;                                                                                     expr_type = "identifier" (flags)
8513 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -37 (8 bit)
8514
        MOVE    31(SP), RS
8515 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
8516 2 jsauermann
;--     push_rr (8 bit)
8517
        MOVE    R, -(SP)
8518 7 jsauermann
;;;                                                                                   { 41 ParameterDeclaration
8519
;;;                                                                                     isEllipsis = false
8520
;;;                                                                                     { 42 TypeName
8521
;;;                                                                                       { 43 TypeSpecifier (all)
8522
;;;                                                                                         spec = const char (20100)
8523
;;;                                                                                       } 43 TypeSpecifier (all)
8524
;;;                                                                                       { 43 List
8525
;;;                                                                                         { 44 DeclItem
8526
;;;                                                                                           what = DECL_POINTER
8527
;;;                                                                                           { 45 List
8528
;;;                                                                                             { 46 Ptr
8529
;;;                                                                                             } 46 Ptr
8530
;;;                                                                                           } 45 List
8531
;;;                                                                                         } 44 DeclItem
8532
;;;                                                                                         { 44 DeclItem
8533
;;;                                                                                           what = DECL_NAME
8534
;;;                                                                                           name = buffer
8535
;;;                                                                                         } 44 DeclItem
8536
;;;                                                                                       } 43 List
8537
;;;                                                                                     } 42 TypeName
8538
;;;                                                                                   } 41 ParameterDeclaration
8539 2 jsauermann
;--     load_address buffer = -28(FP), SP at -38
8540
        LEA     10(SP), RR
8541
;--     push_rr (16 bit)
8542
        MOVE    RR, -(SP)
8543 7 jsauermann
;;;                                                                                 } 40 Expr (l , r)
8544
;;;                                                                               } 39 Expr (l , r)
8545
;;;                                                                             } 38 Expr (l , r)
8546
;;;                                                                           } 37 Expr (l , r)
8547
;;;                                                                         } 36 Expr (l , r)
8548
;;;                                                                       } 35 Expr (l , r)
8549
;;;                                                                     } 34 Expr (l , r)
8550 2 jsauermann
;--     push 2 bytes
8551
;--     call
8552
        CALL    Cprint_item
8553
;--     pop 12 bytes
8554
        ADD     SP, #12
8555 7 jsauermann
;;;                                                                   } 33 Expr l(r)
8556
;;;                                                                   { 33 Expression (variable name)
8557
;;;                                                                     expr_type = "identifier" (len)
8558 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
8559
        MOVE    24(SP), LL
8560 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
8561 2 jsauermann
;--     scale_rr *1
8562
;--     l + r
8563
        ADD     LL, RR
8564 7 jsauermann
;;;                                                                 } 32 Expr l + r
8565 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
8566
        MOVE    RR, 24(SP)
8567 7 jsauermann
;;;                                                               } 31 Expr l += r
8568
;;;                                                             } 30 ExpressionStatement
8569
;;;                                                             { 30 break/continue Statement
8570 2 jsauermann
;--     branch
8571
        JMP     L20_brk_60
8572 7 jsauermann
;;;                                                             } 30 break/continue Statement
8573
;;;                                                             { 30 case Statement
8574 2 jsauermann
L20_case_60_0078:
8575 7 jsauermann
;;;                                                               { 31 ExpressionStatement
8576
;;;                                                                 { 32 Expr l(r)
8577
;;;                                                                   { 33 TypeName
8578
;;;                                                                     { 34 TypeSpecifier (all)
8579
;;;                                                                       spec = void (10000)
8580
;;;                                                                     } 34 TypeSpecifier (all)
8581
;;;                                                                     { 34 List
8582
;;;                                                                       { 35 DeclItem
8583
;;;                                                                         what = DECL_NAME
8584
;;;                                                                         name = print_hex
8585
;;;                                                                       } 35 DeclItem
8586
;;;                                                                     } 34 List
8587
;;;                                                                   } 33 TypeName
8588
;;;                                                                   { 33 Expr (l , r)
8589
;;;                                                                     { 34 ParameterDeclaration
8590
;;;                                                                       isEllipsis = false
8591
;;;                                                                       { 35 TypeName
8592
;;;                                                                         { 36 TypeSpecifier (all)
8593
;;;                                                                           spec = const char (20100)
8594
;;;                                                                         } 36 TypeSpecifier (all)
8595
;;;                                                                         { 36 List
8596
;;;                                                                           { 37 DeclItem
8597
;;;                                                                             what = DECL_POINTER
8598
;;;                                                                             { 38 List
8599
;;;                                                                               { 39 Ptr
8600
;;;                                                                               } 39 Ptr
8601
;;;                                                                             } 38 List
8602
;;;                                                                           } 37 DeclItem
8603
;;;                                                                           { 37 DeclItem
8604
;;;                                                                             what = DECL_NAME
8605
;;;                                                                             name = hex
8606
;;;                                                                           } 37 DeclItem
8607
;;;                                                                         } 36 List
8608
;;;                                                                       } 35 TypeName
8609
;;;                                                                     } 34 ParameterDeclaration
8610
;;;                                                                     { 34 StringExpression
8611 2 jsauermann
;--     load_rr_string
8612
        MOVE    #Cstr_41, RR
8613 7 jsauermann
;;;                                                                     } 34 StringExpression
8614 2 jsauermann
;--     push_rr (16 bit)
8615
        MOVE    RR, -(SP)
8616 7 jsauermann
;;;                                                                     { 34 Expr (l , r)
8617
;;;                                                                       { 35 ParameterDeclaration
8618
;;;                                                                         isEllipsis = false
8619
;;;                                                                         { 36 TypeName
8620
;;;                                                                           { 37 TypeSpecifier (all)
8621
;;;                                                                             spec = unsigned int (82000)
8622
;;;                                                                           } 37 TypeSpecifier (all)
8623
;;;                                                                           { 37 List
8624
;;;                                                                             { 38 DeclItem
8625
;;;                                                                               what = DECL_NAME
8626
;;;                                                                               name = value
8627
;;;                                                                             } 38 DeclItem
8628
;;;                                                                           } 37 List
8629
;;;                                                                         } 36 TypeName
8630
;;;                                                                       } 35 ParameterDeclaration
8631
;;;                                                                       { 35 Expression (cast)r
8632
;;;                                                                         { 36 Expr * r
8633
;;;                                                                           { 37 Expr l - r
8634
;;;                                                                             { 38 Expr ++r
8635
;;;                                                                               { 39 Expression (variable name)
8636
;;;                                                                                 expr_type = "identifier" (args)
8637 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -30 (16 bit)
8638
        MOVE    28(SP), RR
8639 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
8640 2 jsauermann
;--     ++
8641
        ADD     RR, #0x0002
8642
;--     store_rr_var args = -2(FP), SP at -30
8643
        MOVE    RR, 28(SP)
8644 7 jsauermann
;;;                                                                             } 38 Expr ++r
8645 2 jsauermann
;--     l - r
8646
        SUB     RR, #0x0002
8647 7 jsauermann
;;;                                                                           } 37 Expr l - r
8648 2 jsauermann
;--     content
8649
        MOVE    (RR), RR
8650 7 jsauermann
;;;                                                                         } 36 Expr * r
8651
;;;                                                                       } 35 Expression (cast)r
8652 2 jsauermann
;--     push_rr (16 bit)
8653
        MOVE    RR, -(SP)
8654 7 jsauermann
;;;                                                                       { 35 ParameterDeclaration
8655
;;;                                                                         isEllipsis = false
8656
;;;                                                                         { 36 TypeName
8657
;;;                                                                           { 37 TypeSpecifier (all)
8658
;;;                                                                             spec = char (20000)
8659
;;;                                                                           } 37 TypeSpecifier (all)
8660
;;;                                                                           { 37 List
8661
;;;                                                                             { 38 DeclItem
8662
;;;                                                                               what = DECL_POINTER
8663
;;;                                                                               { 39 List
8664
;;;                                                                                 { 40 Ptr
8665
;;;                                                                                 } 40 Ptr
8666
;;;                                                                               } 39 List
8667
;;;                                                                             } 38 DeclItem
8668
;;;                                                                             { 38 DeclItem
8669
;;;                                                                               what = DECL_NAME
8670
;;;                                                                               name = dest
8671
;;;                                                                             } 38 DeclItem
8672
;;;                                                                           } 37 List
8673
;;;                                                                         } 36 TypeName
8674
;;;                                                                       } 35 ParameterDeclaration
8675 2 jsauermann
;--     load_address buffer = -28(FP), SP at -32
8676
        LEA     4(SP), RR
8677
;--     push_rr (16 bit)
8678
        MOVE    RR, -(SP)
8679 7 jsauermann
;;;                                                                     } 34 Expr (l , r)
8680
;;;                                                                   } 33 Expr (l , r)
8681 2 jsauermann
;--     push 0 bytes
8682
;--     call
8683
        CALL    Cprint_hex
8684
;--     pop 6 bytes
8685
        ADD     SP, #6
8686 7 jsauermann
;;;                                                                 } 32 Expr l(r)
8687
;;;                                                               } 31 ExpressionStatement
8688
;;;                                                             } 30 case Statement
8689
;;;                                                             { 30 ExpressionStatement
8690
;;;                                                               { 31 Expr l += r
8691
;;;                                                                 { 32 TypeName
8692
;;;                                                                   { 33 TypeSpecifier (all)
8693
;;;                                                                     spec = int (80000)
8694
;;;                                                                   } 33 TypeSpecifier (all)
8695
;;;                                                                   { 33 List
8696
;;;                                                                     { 34 DeclItem
8697
;;;                                                                       what = DECL_NAME
8698
;;;                                                                       name = len
8699
;;;                                                                     } 34 DeclItem
8700
;;;                                                                   } 33 List
8701
;;;                                                                 } 32 TypeName
8702
;;;                                                                 { 32 Expr l + r
8703
;;;                                                                   { 33 Expr l(r)
8704
;;;                                                                     { 34 TypeName
8705
;;;                                                                       { 35 TypeSpecifier (all)
8706
;;;                                                                         spec = int (80000)
8707
;;;                                                                       } 35 TypeSpecifier (all)
8708
;;;                                                                       { 35 List
8709
;;;                                                                         { 36 DeclItem
8710
;;;                                                                           what = DECL_NAME
8711
;;;                                                                           name = print_item
8712
;;;                                                                         } 36 DeclItem
8713
;;;                                                                       } 35 List
8714
;;;                                                                     } 34 TypeName
8715
;;;                                                                     { 34 Expr (l , r)
8716
;;;                                                                       { 35 ParameterDeclaration
8717
;;;                                                                         isEllipsis = false
8718
;;;                                                                         { 36 TypeName
8719
;;;                                                                           { 37 TypeSpecifier (all)
8720
;;;                                                                             spec = char (20000)
8721
;;;                                                                           } 37 TypeSpecifier (all)
8722
;;;                                                                           { 37 List
8723
;;;                                                                             { 38 DeclItem
8724
;;;                                                                               what = DECL_NAME
8725
;;;                                                                               name = min_p
8726
;;;                                                                             } 38 DeclItem
8727
;;;                                                                           } 37 List
8728
;;;                                                                         } 36 TypeName
8729
;;;                                                                       } 35 ParameterDeclaration
8730
;;;                                                                       { 35 NumericExpression (constant 48 = 0x30)
8731 2 jsauermann
;--     load_rr_constant
8732
        MOVE    #0x0030, RR
8733 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 48 = 0x30)
8734 2 jsauermann
;--     push_rr (8 bit)
8735
        MOVE    R, -(SP)
8736 7 jsauermann
;;;                                                                       { 35 Expr (l , r)
8737
;;;                                                                         { 36 ParameterDeclaration
8738
;;;                                                                           isEllipsis = false
8739
;;;                                                                           { 37 TypeName
8740
;;;                                                                             { 38 TypeSpecifier (all)
8741
;;;                                                                               spec = int (80000)
8742
;;;                                                                             } 38 TypeSpecifier (all)
8743
;;;                                                                             { 38 List
8744
;;;                                                                               { 39 DeclItem
8745
;;;                                                                                 what = DECL_NAME
8746
;;;                                                                                 name = min_w
8747
;;;                                                                               } 39 DeclItem
8748
;;;                                                                             } 38 List
8749
;;;                                                                           } 37 TypeName
8750
;;;                                                                         } 36 ParameterDeclaration
8751
;;;                                                                         { 36 Expression (variable name)
8752
;;;                                                                           expr_type = "identifier" (min_w)
8753 2 jsauermann
;--     load_rr_var min_w = -14(FP), SP at -29 (16 bit)
8754
        MOVE    15(SP), RR
8755 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
8756 2 jsauermann
;--     push_rr (16 bit)
8757
        MOVE    RR, -(SP)
8758 7 jsauermann
;;;                                                                         { 36 Expr (l , r)
8759
;;;                                                                           { 37 ParameterDeclaration
8760
;;;                                                                             isEllipsis = false
8761
;;;                                                                             { 38 TypeName
8762
;;;                                                                               { 39 TypeSpecifier (all)
8763
;;;                                                                                 spec = int (80000)
8764
;;;                                                                               } 39 TypeSpecifier (all)
8765
;;;                                                                               { 39 List
8766
;;;                                                                                 { 40 DeclItem
8767
;;;                                                                                   what = DECL_NAME
8768
;;;                                                                                   name = field_w
8769
;;;                                                                                 } 40 DeclItem
8770
;;;                                                                               } 39 List
8771
;;;                                                                             } 38 TypeName
8772
;;;                                                                           } 37 ParameterDeclaration
8773
;;;                                                                           { 37 Expression (variable name)
8774
;;;                                                                             expr_type = "identifier" (field_w)
8775 2 jsauermann
;--     load_rr_var field_w = -12(FP), SP at -31 (16 bit)
8776
        MOVE    19(SP), RR
8777 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
8778 2 jsauermann
;--     push_rr (16 bit)
8779
        MOVE    RR, -(SP)
8780 7 jsauermann
;;;                                                                           { 37 Expr (l , r)
8781
;;;                                                                             { 38 ParameterDeclaration
8782
;;;                                                                               isEllipsis = false
8783
;;;                                                                               { 39 TypeName
8784
;;;                                                                                 { 40 TypeSpecifier (all)
8785
;;;                                                                                   spec = const char (20100)
8786
;;;                                                                                 } 40 TypeSpecifier (all)
8787
;;;                                                                                 { 40 List
8788
;;;                                                                                   { 41 DeclItem
8789
;;;                                                                                     what = DECL_POINTER
8790
;;;                                                                                     { 42 List
8791
;;;                                                                                       { 43 Ptr
8792
;;;                                                                                       } 43 Ptr
8793
;;;                                                                                     } 42 List
8794
;;;                                                                                   } 41 DeclItem
8795
;;;                                                                                   { 41 DeclItem
8796
;;;                                                                                     what = DECL_NAME
8797
;;;                                                                                     name = alt
8798
;;;                                                                                   } 41 DeclItem
8799
;;;                                                                                 } 40 List
8800
;;;                                                                               } 39 TypeName
8801
;;;                                                                             } 38 ParameterDeclaration
8802
;;;                                                                             { 38 StringExpression
8803 2 jsauermann
;--     load_rr_string
8804
        MOVE    #Cstr_42, RR
8805 7 jsauermann
;;;                                                                             } 38 StringExpression
8806 2 jsauermann
;--     push_rr (16 bit)
8807
        MOVE    RR, -(SP)
8808 7 jsauermann
;;;                                                                             { 38 Expr (l , r)
8809
;;;                                                                               { 39 ParameterDeclaration
8810
;;;                                                                                 isEllipsis = false
8811
;;;                                                                                 { 40 TypeName
8812
;;;                                                                                   { 41 TypeSpecifier (all)
8813
;;;                                                                                     spec = char (20000)
8814
;;;                                                                                   } 41 TypeSpecifier (all)
8815
;;;                                                                                   { 41 List
8816
;;;                                                                                     { 42 DeclItem
8817
;;;                                                                                       what = DECL_NAME
8818
;;;                                                                                       name = pad
8819
;;;                                                                                     } 42 DeclItem
8820
;;;                                                                                   } 41 List
8821
;;;                                                                                 } 40 TypeName
8822
;;;                                                                               } 39 ParameterDeclaration
8823
;;;                                                                               { 39 Expression (variable name)
8824
;;;                                                                                 expr_type = "identifier" (pad)
8825 2 jsauermann
;--     load_rr_var pad = -8(FP), SP at -35 (8 bit)
8826
        MOVE    27(SP), RS
8827 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
8828 2 jsauermann
;--     push_rr (8 bit)
8829
        MOVE    R, -(SP)
8830 7 jsauermann
;;;                                                                               { 39 Expr (l , r)
8831
;;;                                                                                 { 40 ParameterDeclaration
8832
;;;                                                                                   isEllipsis = false
8833
;;;                                                                                   { 41 TypeName
8834
;;;                                                                                     { 42 TypeSpecifier (all)
8835
;;;                                                                                       spec = char (20000)
8836
;;;                                                                                     } 42 TypeSpecifier (all)
8837
;;;                                                                                     { 42 List
8838
;;;                                                                                       { 43 DeclItem
8839
;;;                                                                                         what = DECL_NAME
8840
;;;                                                                                         name = sign
8841
;;;                                                                                       } 43 DeclItem
8842
;;;                                                                                     } 42 List
8843
;;;                                                                                   } 41 TypeName
8844
;;;                                                                                 } 40 ParameterDeclaration
8845
;;;                                                                                 { 40 Expression (variable name)
8846
;;;                                                                                   expr_type = "identifier" (sign)
8847 2 jsauermann
;--     load_rr_var sign = -7(FP), SP at -36 (8 bit)
8848
        MOVE    29(SP), RS
8849 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
8850 2 jsauermann
;--     push_rr (8 bit)
8851
        MOVE    R, -(SP)
8852 7 jsauermann
;;;                                                                                 { 40 Expr (l , r)
8853
;;;                                                                                   { 41 ParameterDeclaration
8854
;;;                                                                                     isEllipsis = false
8855
;;;                                                                                     { 42 TypeName
8856
;;;                                                                                       { 43 TypeSpecifier (all)
8857
;;;                                                                                         spec = char (20000)
8858
;;;                                                                                       } 43 TypeSpecifier (all)
8859
;;;                                                                                       { 43 List
8860
;;;                                                                                         { 44 DeclItem
8861
;;;                                                                                           what = DECL_NAME
8862
;;;                                                                                           name = flags
8863
;;;                                                                                         } 44 DeclItem
8864
;;;                                                                                       } 43 List
8865
;;;                                                                                     } 42 TypeName
8866
;;;                                                                                   } 41 ParameterDeclaration
8867
;;;                                                                                   { 41 Expression (variable name)
8868
;;;                                                                                     expr_type = "identifier" (flags)
8869 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -37 (8 bit)
8870
        MOVE    31(SP), RS
8871 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
8872 2 jsauermann
;--     push_rr (8 bit)
8873
        MOVE    R, -(SP)
8874 7 jsauermann
;;;                                                                                   { 41 ParameterDeclaration
8875
;;;                                                                                     isEllipsis = false
8876
;;;                                                                                     { 42 TypeName
8877
;;;                                                                                       { 43 TypeSpecifier (all)
8878
;;;                                                                                         spec = const char (20100)
8879
;;;                                                                                       } 43 TypeSpecifier (all)
8880
;;;                                                                                       { 43 List
8881
;;;                                                                                         { 44 DeclItem
8882
;;;                                                                                           what = DECL_POINTER
8883
;;;                                                                                           { 45 List
8884
;;;                                                                                             { 46 Ptr
8885
;;;                                                                                             } 46 Ptr
8886
;;;                                                                                           } 45 List
8887
;;;                                                                                         } 44 DeclItem
8888
;;;                                                                                         { 44 DeclItem
8889
;;;                                                                                           what = DECL_NAME
8890
;;;                                                                                           name = buffer
8891
;;;                                                                                         } 44 DeclItem
8892
;;;                                                                                       } 43 List
8893
;;;                                                                                     } 42 TypeName
8894
;;;                                                                                   } 41 ParameterDeclaration
8895 2 jsauermann
;--     load_address buffer = -28(FP), SP at -38
8896
        LEA     10(SP), RR
8897
;--     push_rr (16 bit)
8898
        MOVE    RR, -(SP)
8899 7 jsauermann
;;;                                                                                 } 40 Expr (l , r)
8900
;;;                                                                               } 39 Expr (l , r)
8901
;;;                                                                             } 38 Expr (l , r)
8902
;;;                                                                           } 37 Expr (l , r)
8903
;;;                                                                         } 36 Expr (l , r)
8904
;;;                                                                       } 35 Expr (l , r)
8905
;;;                                                                     } 34 Expr (l , r)
8906 2 jsauermann
;--     push 2 bytes
8907
;--     call
8908
        CALL    Cprint_item
8909
;--     pop 12 bytes
8910
        ADD     SP, #12
8911 7 jsauermann
;;;                                                                   } 33 Expr l(r)
8912
;;;                                                                   { 33 Expression (variable name)
8913
;;;                                                                     expr_type = "identifier" (len)
8914 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
8915
        MOVE    24(SP), LL
8916 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
8917 2 jsauermann
;--     scale_rr *1
8918
;--     l + r
8919
        ADD     LL, RR
8920 7 jsauermann
;;;                                                                 } 32 Expr l + r
8921 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
8922
        MOVE    RR, 24(SP)
8923 7 jsauermann
;;;                                                               } 31 Expr l += r
8924
;;;                                                             } 30 ExpressionStatement
8925
;;;                                                             { 30 break/continue Statement
8926 2 jsauermann
;--     branch
8927
        JMP     L20_brk_60
8928 7 jsauermann
;;;                                                             } 30 break/continue Statement
8929
;;;                                                             { 30 case Statement
8930 2 jsauermann
L20_case_60_0063:
8931 7 jsauermann
;;;                                                               { 31 ExpressionStatement
8932
;;;                                                                 { 32 Expr l += r
8933
;;;                                                                   { 33 TypeName
8934
;;;                                                                     { 34 TypeSpecifier (all)
8935
;;;                                                                       spec = int (80000)
8936
;;;                                                                     } 34 TypeSpecifier (all)
8937
;;;                                                                     { 34 List
8938
;;;                                                                       { 35 DeclItem
8939
;;;                                                                         what = DECL_NAME
8940
;;;                                                                         name = len
8941
;;;                                                                       } 35 DeclItem
8942
;;;                                                                     } 34 List
8943
;;;                                                                   } 33 TypeName
8944
;;;                                                                   { 33 Expr l + r
8945
;;;                                                                     { 34 Expr l(r)
8946
;;;                                                                       { 35 TypeName
8947
;;;                                                                         { 36 TypeSpecifier (all)
8948
;;;                                                                           spec = int (80000)
8949
;;;                                                                         } 36 TypeSpecifier (all)
8950
;;;                                                                         { 36 List
8951
;;;                                                                           { 37 DeclItem
8952
;;;                                                                             what = DECL_NAME
8953
;;;                                                                             name = putchr
8954
;;;                                                                           } 37 DeclItem
8955
;;;                                                                         } 36 List
8956
;;;                                                                       } 35 TypeName
8957
;;;                                                                       { 35 ParameterDeclaration
8958
;;;                                                                         isEllipsis = false
8959
;;;                                                                         { 36 TypeName
8960
;;;                                                                           { 37 TypeSpecifier (all)
8961
;;;                                                                             spec = char (20000)
8962
;;;                                                                           } 37 TypeSpecifier (all)
8963
;;;                                                                           { 37 List
8964
;;;                                                                             { 38 DeclItem
8965
;;;                                                                               what = DECL_NAME
8966
;;;                                                                               name = c
8967
;;;                                                                             } 38 DeclItem
8968
;;;                                                                           } 37 List
8969
;;;                                                                         } 36 TypeName
8970
;;;                                                                       } 35 ParameterDeclaration
8971
;;;                                                                       { 35 Expression (cast)r
8972
;;;                                                                         { 36 Expr * r
8973
;;;                                                                           { 37 Expr l - r
8974
;;;                                                                             { 38 Expr ++r
8975
;;;                                                                               { 39 Expression (variable name)
8976
;;;                                                                                 expr_type = "identifier" (args)
8977 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -28 (16 bit)
8978
        MOVE    26(SP), RR
8979 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
8980 2 jsauermann
;--     ++
8981
        ADD     RR, #0x0002
8982
;--     store_rr_var args = -2(FP), SP at -28
8983
        MOVE    RR, 26(SP)
8984 7 jsauermann
;;;                                                                             } 38 Expr ++r
8985 2 jsauermann
;--     l - r
8986
        SUB     RR, #0x0002
8987 7 jsauermann
;;;                                                                           } 37 Expr l - r
8988 2 jsauermann
;--     content
8989
        MOVE    (RR), RR
8990 7 jsauermann
;;;                                                                         } 36 Expr * r
8991
;;;                                                                       } 35 Expression (cast)r
8992 2 jsauermann
;--     push_rr (8 bit)
8993
        MOVE    R, -(SP)
8994
;--     push 2 bytes
8995
;--     call
8996
        CALL    Cputchr
8997
;--     pop 1 bytes
8998
        ADD     SP, #1
8999 7 jsauermann
;;;                                                                     } 34 Expr l(r)
9000
;;;                                                                     { 34 Expression (variable name)
9001
;;;                                                                       expr_type = "identifier" (len)
9002 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
9003
        MOVE    24(SP), LL
9004 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9005 2 jsauermann
;--     scale_rr *1
9006
;--     l + r
9007
        ADD     LL, RR
9008 7 jsauermann
;;;                                                                   } 33 Expr l + r
9009 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
9010
        MOVE    RR, 24(SP)
9011 7 jsauermann
;;;                                                                 } 32 Expr l += r
9012
;;;                                                               } 31 ExpressionStatement
9013
;;;                                                             } 30 case Statement
9014
;;;                                                             { 30 break/continue Statement
9015 2 jsauermann
;--     branch
9016
        JMP     L20_brk_60
9017 7 jsauermann
;;;                                                             } 30 break/continue Statement
9018
;;;                                                             { 30 case Statement
9019 2 jsauermann
L20_case_60_0023:
9020 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9021
;;;                                                                 { 32 Expr l | r
9022
;;;                                                                   { 33 TypeName
9023
;;;                                                                     { 34 TypeSpecifier (all)
9024
;;;                                                                       spec = char (20000)
9025
;;;                                                                     } 34 TypeSpecifier (all)
9026
;;;                                                                     { 34 List
9027
;;;                                                                       { 35 DeclItem
9028
;;;                                                                         what = DECL_NAME
9029
;;;                                                                         name = flags
9030
;;;                                                                       } 35 DeclItem
9031
;;;                                                                     } 34 List
9032
;;;                                                                   } 33 TypeName
9033
;;;                                                                   { 33 Expr l | r
9034
;;;                                                                     { 34 TypeName (internal)
9035
;;;                                                                       { 35 TypeSpecifier (all)
9036
;;;                                                                         spec = int (80000)
9037
;;;                                                                       } 35 TypeSpecifier (all)
9038
;;;                                                                     } 34 TypeName (internal)
9039
;;;                                                                     { 34 Expression (variable name)
9040
;;;                                                                       expr_type = "identifier" (flags)
9041 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -28 (8 bit)
9042
        MOVE    22(SP), RS
9043 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9044 2 jsauermann
;--     l | r
9045
        OR      RR, #0x0001
9046 7 jsauermann
;;;                                                                   } 33 Expr l | r
9047 2 jsauermann
;--     store_rr_var flags = -6(FP), SP at -28
9048
        MOVE    R, 22(SP)
9049 7 jsauermann
;;;                                                                 } 32 Expr l | r
9050
;;;                                                               } 31 ExpressionStatement
9051
;;;                                                             } 30 case Statement
9052
;;;                                                             { 30 break/continue Statement
9053 2 jsauermann
;--     branch
9054
        JMP     L20_cont_58
9055 7 jsauermann
;;;                                                             } 30 break/continue Statement
9056
;;;                                                             { 30 case Statement
9057 2 jsauermann
L20_case_60_002D:
9058 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9059
;;;                                                                 { 32 Expr l | r
9060
;;;                                                                   { 33 TypeName
9061
;;;                                                                     { 34 TypeSpecifier (all)
9062
;;;                                                                       spec = char (20000)
9063
;;;                                                                     } 34 TypeSpecifier (all)
9064
;;;                                                                     { 34 List
9065
;;;                                                                       { 35 DeclItem
9066
;;;                                                                         what = DECL_NAME
9067
;;;                                                                         name = flags
9068
;;;                                                                       } 35 DeclItem
9069
;;;                                                                     } 34 List
9070
;;;                                                                   } 33 TypeName
9071
;;;                                                                   { 33 Expr l | r
9072
;;;                                                                     { 34 TypeName (internal)
9073
;;;                                                                       { 35 TypeSpecifier (all)
9074
;;;                                                                         spec = int (80000)
9075
;;;                                                                       } 35 TypeSpecifier (all)
9076
;;;                                                                     } 34 TypeName (internal)
9077
;;;                                                                     { 34 Expression (variable name)
9078
;;;                                                                       expr_type = "identifier" (flags)
9079 2 jsauermann
;--     load_rr_var flags = -6(FP), SP at -28 (8 bit)
9080
        MOVE    22(SP), RS
9081 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9082 2 jsauermann
;--     l | r
9083
        OR      RR, #0x0002
9084 7 jsauermann
;;;                                                                   } 33 Expr l | r
9085 2 jsauermann
;--     store_rr_var flags = -6(FP), SP at -28
9086
        MOVE    R, 22(SP)
9087 7 jsauermann
;;;                                                                 } 32 Expr l | r
9088
;;;                                                               } 31 ExpressionStatement
9089
;;;                                                             } 30 case Statement
9090
;;;                                                             { 30 break/continue Statement
9091 2 jsauermann
;--     branch
9092
        JMP     L20_cont_58
9093 7 jsauermann
;;;                                                             } 30 break/continue Statement
9094
;;;                                                             { 30 case Statement
9095 2 jsauermann
L20_case_60_0020:
9096 7 jsauermann
;;;                                                               { 31 IfElseStatement
9097
;;;                                                                 { 32 Expr ! r
9098
;;;                                                                   { 33 Expression (variable name)
9099
;;;                                                                     expr_type = "identifier" (sign)
9100 2 jsauermann
;--     load_rr_var sign = -7(FP), SP at -28 (8 bit)
9101
        MOVE    21(SP), RS
9102 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
9103 2 jsauermann
;--     16 bit ! r
9104
        LNOT    RR
9105 7 jsauermann
;;;                                                                 } 32 Expr ! r
9106 2 jsauermann
;--     branch_false
9107
        JMP     RRZ, L20_endif_62
9108 7 jsauermann
;;;                                                                 { 32 ExpressionStatement
9109
;;;                                                                   { 33 Expr l = r
9110
;;;                                                                     { 34 TypeName
9111
;;;                                                                       { 35 TypeSpecifier (all)
9112
;;;                                                                         spec = char (20000)
9113
;;;                                                                       } 35 TypeSpecifier (all)
9114
;;;                                                                       { 35 List
9115
;;;                                                                         { 36 DeclItem
9116
;;;                                                                           what = DECL_NAME
9117
;;;                                                                           name = sign
9118
;;;                                                                         } 36 DeclItem
9119
;;;                                                                       } 35 List
9120
;;;                                                                     } 34 TypeName
9121
;;;                                                                     { 34 NumericExpression (constant 32 = 0x20)
9122 2 jsauermann
;--     load_rr_constant
9123
        MOVE    #0x0020, RR
9124 7 jsauermann
;;;                                                                     } 34 NumericExpression (constant 32 = 0x20)
9125 2 jsauermann
;--     store_rr_var sign = -7(FP), SP at -28
9126
        MOVE    R, 21(SP)
9127 7 jsauermann
;;;                                                                   } 33 Expr l = r
9128
;;;                                                                 } 32 ExpressionStatement
9129 2 jsauermann
L20_endif_62:
9130 7 jsauermann
;;;                                                               } 31 IfElseStatement
9131
;;;                                                             } 30 case Statement
9132
;;;                                                             { 30 break/continue Statement
9133 2 jsauermann
;--     branch
9134
        JMP     L20_cont_58
9135 7 jsauermann
;;;                                                             } 30 break/continue Statement
9136
;;;                                                             { 30 case Statement
9137 2 jsauermann
L20_case_60_002B:
9138 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9139
;;;                                                                 { 32 Expr l = r
9140
;;;                                                                   { 33 TypeName
9141
;;;                                                                     { 34 TypeSpecifier (all)
9142
;;;                                                                       spec = char (20000)
9143
;;;                                                                     } 34 TypeSpecifier (all)
9144
;;;                                                                     { 34 List
9145
;;;                                                                       { 35 DeclItem
9146
;;;                                                                         what = DECL_NAME
9147
;;;                                                                         name = sign
9148
;;;                                                                       } 35 DeclItem
9149
;;;                                                                     } 34 List
9150
;;;                                                                   } 33 TypeName
9151
;;;                                                                   { 33 NumericExpression (constant 43 = 0x2B)
9152 2 jsauermann
;--     load_rr_constant
9153
        MOVE    #0x002B, RR
9154 7 jsauermann
;;;                                                                   } 33 NumericExpression (constant 43 = 0x2B)
9155 2 jsauermann
;--     store_rr_var sign = -7(FP), SP at -28
9156
        MOVE    R, 21(SP)
9157 7 jsauermann
;;;                                                                 } 32 Expr l = r
9158
;;;                                                               } 31 ExpressionStatement
9159
;;;                                                             } 30 case Statement
9160
;;;                                                             { 30 break/continue Statement
9161 2 jsauermann
;--     branch
9162
        JMP     L20_cont_58
9163 7 jsauermann
;;;                                                             } 30 break/continue Statement
9164
;;;                                                             { 30 case Statement
9165 2 jsauermann
L20_case_60_002E:
9166 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9167
;;;                                                                 { 32 Expr l = r
9168
;;;                                                                   { 33 TypeName
9169
;;;                                                                     { 34 TypeSpecifier (all)
9170
;;;                                                                       spec = unsigned int (82000)
9171
;;;                                                                     } 34 TypeSpecifier (all)
9172
;;;                                                                     { 34 List
9173
;;;                                                                       { 35 DeclItem
9174
;;;                                                                         what = DECL_POINTER
9175
;;;                                                                         { 36 List
9176
;;;                                                                           { 37 Ptr
9177
;;;                                                                           } 37 Ptr
9178
;;;                                                                         } 36 List
9179
;;;                                                                       } 35 DeclItem
9180
;;;                                                                       { 35 DeclItem
9181
;;;                                                                         what = DECL_NAME
9182
;;;                                                                         name = which_w
9183
;;;                                                                       } 35 DeclItem
9184
;;;                                                                     } 34 List
9185
;;;                                                                   } 33 TypeName
9186
;;;                                                                   { 33 Expr & r
9187 2 jsauermann
;--     load_address min_w = -14(FP), SP at -28
9188
        LEA     14(SP), RR
9189 7 jsauermann
;;;                                                                   } 33 Expr & r
9190 2 jsauermann
;--     store_rr_var which_w = -16(FP), SP at -28
9191
        MOVE    RR, 12(SP)
9192 7 jsauermann
;;;                                                                 } 32 Expr l = r
9193
;;;                                                               } 31 ExpressionStatement
9194
;;;                                                             } 30 case Statement
9195
;;;                                                             { 30 break/continue Statement
9196 2 jsauermann
;--     branch
9197
        JMP     L20_cont_58
9198 7 jsauermann
;;;                                                             } 30 break/continue Statement
9199
;;;                                                             { 30 case Statement
9200 2 jsauermann
L20_case_60_0030:
9201 7 jsauermann
;;;                                                               { 31 IfElseStatement
9202
;;;                                                                 { 32 Expr * r
9203
;;;                                                                   { 33 Expression (variable name)
9204
;;;                                                                     expr_type = "identifier" (which_w)
9205 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9206
        MOVE    12(SP), RR
9207 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
9208 2 jsauermann
;--     content
9209
        MOVE    (RR), RR
9210 7 jsauermann
;;;                                                                 } 32 Expr * r
9211 2 jsauermann
;--     branch_false
9212
        JMP     RRZ, L20_else_63
9213 7 jsauermann
;;;                                                                 { 32 ExpressionStatement
9214
;;;                                                                   { 33 Expr l *- r
9215
;;;                                                                     { 34 TypeName
9216
;;;                                                                       { 35 TypeSpecifier (all)
9217
;;;                                                                         spec = unsigned int (82000)
9218
;;;                                                                       } 35 TypeSpecifier (all)
9219
;;;                                                                       { 35 List
9220
;;;                                                                         { 36 DeclItem
9221
;;;                                                                           what = DECL_NAME
9222
;;;                                                                           name = which_w
9223
;;;                                                                         } 36 DeclItem
9224
;;;                                                                       } 35 List
9225
;;;                                                                     } 34 TypeName
9226
;;;                                                                     { 34 Expr l * r
9227
;;;                                                                       { 35 TypeName (internal)
9228
;;;                                                                         { 36 TypeSpecifier (all)
9229
;;;                                                                           spec = unsigned int (82000)
9230
;;;                                                                         } 36 TypeSpecifier (all)
9231
;;;                                                                       } 35 TypeName (internal)
9232
;;;                                                                       { 35 Expr * r
9233
;;;                                                                         { 36 Expression (variable name)
9234
;;;                                                                           expr_type = "identifier" (which_w)
9235 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9236
        MOVE    12(SP), RR
9237 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9238 2 jsauermann
;--     content
9239
        MOVE    (RR), RR
9240 7 jsauermann
;;;                                                                       } 35 Expr * r
9241 2 jsauermann
;--     l * r
9242
        MOVE    RR, LL
9243
        MOVE    #0x000A, RR
9244
;--     l * r
9245
        DI
9246
        MUL_IU
9247
        CALL    mult_div
9248
        MD_FIN
9249
        EI
9250 7 jsauermann
;;;                                                                     } 34 Expr l * r
9251 2 jsauermann
;--     push_rr (16 bit)
9252
        MOVE    RR, -(SP)
9253 7 jsauermann
;;;                                                                     { 34 Expr * r
9254
;;;                                                                       { 35 Expression (variable name)
9255
;;;                                                                         expr_type = "identifier" (which_w)
9256 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9257
        MOVE    14(SP), RR
9258 7 jsauermann
;;;                                                                       } 35 Expression (variable name)
9259
;;;                                                                     } 34 Expr * r
9260 2 jsauermann
;--     move_rr_to_ll
9261
        MOVE    RR, LL
9262
;--     pop_rr (16 bit)
9263
        MOVE    (SP)+, RR
9264
;--     assign (16 bit)
9265
        MOVE    RR, (LL)
9266 7 jsauermann
;;;                                                                   } 33 Expr l *- r
9267
;;;                                                                 } 32 ExpressionStatement
9268 2 jsauermann
;--     branch
9269
        JMP     L20_endif_63
9270
L20_else_63:
9271 7 jsauermann
;;;                                                                 { 32 ExpressionStatement
9272
;;;                                                                   { 33 Expr l = r
9273
;;;                                                                     { 34 TypeName
9274
;;;                                                                       { 35 TypeSpecifier (all)
9275
;;;                                                                         spec = char (20000)
9276
;;;                                                                       } 35 TypeSpecifier (all)
9277
;;;                                                                       { 35 List
9278
;;;                                                                         { 36 DeclItem
9279
;;;                                                                           what = DECL_NAME
9280
;;;                                                                           name = pad
9281
;;;                                                                         } 36 DeclItem
9282
;;;                                                                       } 35 List
9283
;;;                                                                     } 34 TypeName
9284
;;;                                                                     { 34 NumericExpression (constant 48 = 0x30)
9285 2 jsauermann
;--     load_rr_constant
9286
        MOVE    #0x0030, RR
9287 7 jsauermann
;;;                                                                     } 34 NumericExpression (constant 48 = 0x30)
9288 2 jsauermann
;--     store_rr_var pad = -8(FP), SP at -28
9289
        MOVE    R, 20(SP)
9290 7 jsauermann
;;;                                                                   } 33 Expr l = r
9291
;;;                                                                 } 32 ExpressionStatement
9292 2 jsauermann
L20_endif_63:
9293 7 jsauermann
;;;                                                               } 31 IfElseStatement
9294
;;;                                                             } 30 case Statement
9295
;;;                                                             { 30 break/continue Statement
9296 2 jsauermann
;--     branch
9297
        JMP     L20_cont_58
9298 7 jsauermann
;;;                                                             } 30 break/continue Statement
9299
;;;                                                             { 30 case Statement
9300 2 jsauermann
L20_case_60_0031:
9301 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9302
;;;                                                                 { 32 Expr l = r
9303
;;;                                                                   { 33 TypeName
9304
;;;                                                                     { 34 TypeSpecifier (all)
9305
;;;                                                                       spec = unsigned int (82000)
9306
;;;                                                                     } 34 TypeSpecifier (all)
9307
;;;                                                                     { 34 List
9308
;;;                                                                       { 35 DeclItem
9309
;;;                                                                         what = DECL_NAME
9310
;;;                                                                         name = which_w
9311
;;;                                                                       } 35 DeclItem
9312
;;;                                                                     } 34 List
9313
;;;                                                                   } 33 TypeName
9314
;;;                                                                   { 33 Expr l + r
9315
;;;                                                                     { 34 Expr l * r
9316
;;;                                                                       { 35 TypeName (internal)
9317
;;;                                                                         { 36 TypeSpecifier (all)
9318
;;;                                                                           spec = unsigned int (82000)
9319
;;;                                                                         } 36 TypeSpecifier (all)
9320
;;;                                                                       } 35 TypeName (internal)
9321
;;;                                                                       { 35 Expr * r
9322
;;;                                                                         { 36 Expression (variable name)
9323
;;;                                                                           expr_type = "identifier" (which_w)
9324 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9325
        MOVE    12(SP), RR
9326 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9327 2 jsauermann
;--     content
9328
        MOVE    (RR), RR
9329 7 jsauermann
;;;                                                                       } 35 Expr * r
9330 2 jsauermann
;--     l * r
9331
        MOVE    RR, LL
9332
        MOVE    #0x000A, RR
9333
;--     l * r
9334
        DI
9335
        MUL_IU
9336
        CALL    mult_div
9337
        MD_FIN
9338
        EI
9339 7 jsauermann
;;;                                                                     } 34 Expr l * r
9340 2 jsauermann
;--     l + r
9341
        ADD     RR, #0x0001
9342 7 jsauermann
;;;                                                                   } 33 Expr l + r
9343 2 jsauermann
;--     push_rr (16 bit)
9344
        MOVE    RR, -(SP)
9345 7 jsauermann
;;;                                                                   { 33 Expr * r
9346
;;;                                                                     { 34 Expression (variable name)
9347
;;;                                                                       expr_type = "identifier" (which_w)
9348 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9349
        MOVE    14(SP), RR
9350 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9351
;;;                                                                   } 33 Expr * r
9352 2 jsauermann
;--     move_rr_to_ll
9353
        MOVE    RR, LL
9354
;--     pop_rr (16 bit)
9355
        MOVE    (SP)+, RR
9356
;--     assign (16 bit)
9357
        MOVE    RR, (LL)
9358 7 jsauermann
;;;                                                                 } 32 Expr l = r
9359
;;;                                                               } 31 ExpressionStatement
9360
;;;                                                             } 30 case Statement
9361
;;;                                                             { 30 break/continue Statement
9362 2 jsauermann
;--     branch
9363
        JMP     L20_cont_58
9364 7 jsauermann
;;;                                                             } 30 break/continue Statement
9365
;;;                                                             { 30 case Statement
9366 2 jsauermann
L20_case_60_0032:
9367 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9368
;;;                                                                 { 32 Expr l = r
9369
;;;                                                                   { 33 TypeName
9370
;;;                                                                     { 34 TypeSpecifier (all)
9371
;;;                                                                       spec = unsigned int (82000)
9372
;;;                                                                     } 34 TypeSpecifier (all)
9373
;;;                                                                     { 34 List
9374
;;;                                                                       { 35 DeclItem
9375
;;;                                                                         what = DECL_NAME
9376
;;;                                                                         name = which_w
9377
;;;                                                                       } 35 DeclItem
9378
;;;                                                                     } 34 List
9379
;;;                                                                   } 33 TypeName
9380
;;;                                                                   { 33 Expr l + r
9381
;;;                                                                     { 34 Expr l * r
9382
;;;                                                                       { 35 TypeName (internal)
9383
;;;                                                                         { 36 TypeSpecifier (all)
9384
;;;                                                                           spec = unsigned int (82000)
9385
;;;                                                                         } 36 TypeSpecifier (all)
9386
;;;                                                                       } 35 TypeName (internal)
9387
;;;                                                                       { 35 Expr * r
9388
;;;                                                                         { 36 Expression (variable name)
9389
;;;                                                                           expr_type = "identifier" (which_w)
9390 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9391
        MOVE    12(SP), RR
9392 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9393 2 jsauermann
;--     content
9394
        MOVE    (RR), RR
9395 7 jsauermann
;;;                                                                       } 35 Expr * r
9396 2 jsauermann
;--     l * r
9397
        MOVE    RR, LL
9398
        MOVE    #0x000A, RR
9399
;--     l * r
9400
        DI
9401
        MUL_IU
9402
        CALL    mult_div
9403
        MD_FIN
9404
        EI
9405 7 jsauermann
;;;                                                                     } 34 Expr l * r
9406 2 jsauermann
;--     l + r
9407
        ADD     RR, #0x0002
9408 7 jsauermann
;;;                                                                   } 33 Expr l + r
9409 2 jsauermann
;--     push_rr (16 bit)
9410
        MOVE    RR, -(SP)
9411 7 jsauermann
;;;                                                                   { 33 Expr * r
9412
;;;                                                                     { 34 Expression (variable name)
9413
;;;                                                                       expr_type = "identifier" (which_w)
9414 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9415
        MOVE    14(SP), RR
9416 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9417
;;;                                                                   } 33 Expr * r
9418 2 jsauermann
;--     move_rr_to_ll
9419
        MOVE    RR, LL
9420
;--     pop_rr (16 bit)
9421
        MOVE    (SP)+, RR
9422
;--     assign (16 bit)
9423
        MOVE    RR, (LL)
9424 7 jsauermann
;;;                                                                 } 32 Expr l = r
9425
;;;                                                               } 31 ExpressionStatement
9426
;;;                                                             } 30 case Statement
9427
;;;                                                             { 30 break/continue Statement
9428 2 jsauermann
;--     branch
9429
        JMP     L20_cont_58
9430 7 jsauermann
;;;                                                             } 30 break/continue Statement
9431
;;;                                                             { 30 case Statement
9432 2 jsauermann
L20_case_60_0033:
9433 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9434
;;;                                                                 { 32 Expr l = r
9435
;;;                                                                   { 33 TypeName
9436
;;;                                                                     { 34 TypeSpecifier (all)
9437
;;;                                                                       spec = unsigned int (82000)
9438
;;;                                                                     } 34 TypeSpecifier (all)
9439
;;;                                                                     { 34 List
9440
;;;                                                                       { 35 DeclItem
9441
;;;                                                                         what = DECL_NAME
9442
;;;                                                                         name = which_w
9443
;;;                                                                       } 35 DeclItem
9444
;;;                                                                     } 34 List
9445
;;;                                                                   } 33 TypeName
9446
;;;                                                                   { 33 Expr l + r
9447
;;;                                                                     { 34 Expr l * r
9448
;;;                                                                       { 35 TypeName (internal)
9449
;;;                                                                         { 36 TypeSpecifier (all)
9450
;;;                                                                           spec = unsigned int (82000)
9451
;;;                                                                         } 36 TypeSpecifier (all)
9452
;;;                                                                       } 35 TypeName (internal)
9453
;;;                                                                       { 35 Expr * r
9454
;;;                                                                         { 36 Expression (variable name)
9455
;;;                                                                           expr_type = "identifier" (which_w)
9456 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9457
        MOVE    12(SP), RR
9458 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9459 2 jsauermann
;--     content
9460
        MOVE    (RR), RR
9461 7 jsauermann
;;;                                                                       } 35 Expr * r
9462 2 jsauermann
;--     l * r
9463
        MOVE    RR, LL
9464
        MOVE    #0x000A, RR
9465
;--     l * r
9466
        DI
9467
        MUL_IU
9468
        CALL    mult_div
9469
        MD_FIN
9470
        EI
9471 7 jsauermann
;;;                                                                     } 34 Expr l * r
9472 2 jsauermann
;--     l + r
9473
        ADD     RR, #0x0003
9474 7 jsauermann
;;;                                                                   } 33 Expr l + r
9475 2 jsauermann
;--     push_rr (16 bit)
9476
        MOVE    RR, -(SP)
9477 7 jsauermann
;;;                                                                   { 33 Expr * r
9478
;;;                                                                     { 34 Expression (variable name)
9479
;;;                                                                       expr_type = "identifier" (which_w)
9480 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9481
        MOVE    14(SP), RR
9482 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9483
;;;                                                                   } 33 Expr * r
9484 2 jsauermann
;--     move_rr_to_ll
9485
        MOVE    RR, LL
9486
;--     pop_rr (16 bit)
9487
        MOVE    (SP)+, RR
9488
;--     assign (16 bit)
9489
        MOVE    RR, (LL)
9490 7 jsauermann
;;;                                                                 } 32 Expr l = r
9491
;;;                                                               } 31 ExpressionStatement
9492
;;;                                                             } 30 case Statement
9493
;;;                                                             { 30 break/continue Statement
9494 2 jsauermann
;--     branch
9495
        JMP     L20_cont_58
9496 7 jsauermann
;;;                                                             } 30 break/continue Statement
9497
;;;                                                             { 30 case Statement
9498 2 jsauermann
L20_case_60_0034:
9499 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9500
;;;                                                                 { 32 Expr l = r
9501
;;;                                                                   { 33 TypeName
9502
;;;                                                                     { 34 TypeSpecifier (all)
9503
;;;                                                                       spec = unsigned int (82000)
9504
;;;                                                                     } 34 TypeSpecifier (all)
9505
;;;                                                                     { 34 List
9506
;;;                                                                       { 35 DeclItem
9507
;;;                                                                         what = DECL_NAME
9508
;;;                                                                         name = which_w
9509
;;;                                                                       } 35 DeclItem
9510
;;;                                                                     } 34 List
9511
;;;                                                                   } 33 TypeName
9512
;;;                                                                   { 33 Expr l + r
9513
;;;                                                                     { 34 Expr l * r
9514
;;;                                                                       { 35 TypeName (internal)
9515
;;;                                                                         { 36 TypeSpecifier (all)
9516
;;;                                                                           spec = unsigned int (82000)
9517
;;;                                                                         } 36 TypeSpecifier (all)
9518
;;;                                                                       } 35 TypeName (internal)
9519
;;;                                                                       { 35 Expr * r
9520
;;;                                                                         { 36 Expression (variable name)
9521
;;;                                                                           expr_type = "identifier" (which_w)
9522 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9523
        MOVE    12(SP), RR
9524 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9525 2 jsauermann
;--     content
9526
        MOVE    (RR), RR
9527 7 jsauermann
;;;                                                                       } 35 Expr * r
9528 2 jsauermann
;--     l * r
9529
        MOVE    RR, LL
9530
        MOVE    #0x000A, RR
9531
;--     l * r
9532
        DI
9533
        MUL_IU
9534
        CALL    mult_div
9535
        MD_FIN
9536
        EI
9537 7 jsauermann
;;;                                                                     } 34 Expr l * r
9538 2 jsauermann
;--     l + r
9539
        ADD     RR, #0x0004
9540 7 jsauermann
;;;                                                                   } 33 Expr l + r
9541 2 jsauermann
;--     push_rr (16 bit)
9542
        MOVE    RR, -(SP)
9543 7 jsauermann
;;;                                                                   { 33 Expr * r
9544
;;;                                                                     { 34 Expression (variable name)
9545
;;;                                                                       expr_type = "identifier" (which_w)
9546 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9547
        MOVE    14(SP), RR
9548 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9549
;;;                                                                   } 33 Expr * r
9550 2 jsauermann
;--     move_rr_to_ll
9551
        MOVE    RR, LL
9552
;--     pop_rr (16 bit)
9553
        MOVE    (SP)+, RR
9554
;--     assign (16 bit)
9555
        MOVE    RR, (LL)
9556 7 jsauermann
;;;                                                                 } 32 Expr l = r
9557
;;;                                                               } 31 ExpressionStatement
9558
;;;                                                             } 30 case Statement
9559
;;;                                                             { 30 break/continue Statement
9560 2 jsauermann
;--     branch
9561
        JMP     L20_cont_58
9562 7 jsauermann
;;;                                                             } 30 break/continue Statement
9563
;;;                                                             { 30 case Statement
9564 2 jsauermann
L20_case_60_0035:
9565 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9566
;;;                                                                 { 32 Expr l = r
9567
;;;                                                                   { 33 TypeName
9568
;;;                                                                     { 34 TypeSpecifier (all)
9569
;;;                                                                       spec = unsigned int (82000)
9570
;;;                                                                     } 34 TypeSpecifier (all)
9571
;;;                                                                     { 34 List
9572
;;;                                                                       { 35 DeclItem
9573
;;;                                                                         what = DECL_NAME
9574
;;;                                                                         name = which_w
9575
;;;                                                                       } 35 DeclItem
9576
;;;                                                                     } 34 List
9577
;;;                                                                   } 33 TypeName
9578
;;;                                                                   { 33 Expr l + r
9579
;;;                                                                     { 34 Expr l * r
9580
;;;                                                                       { 35 TypeName (internal)
9581
;;;                                                                         { 36 TypeSpecifier (all)
9582
;;;                                                                           spec = unsigned int (82000)
9583
;;;                                                                         } 36 TypeSpecifier (all)
9584
;;;                                                                       } 35 TypeName (internal)
9585
;;;                                                                       { 35 Expr * r
9586
;;;                                                                         { 36 Expression (variable name)
9587
;;;                                                                           expr_type = "identifier" (which_w)
9588 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9589
        MOVE    12(SP), RR
9590 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9591 2 jsauermann
;--     content
9592
        MOVE    (RR), RR
9593 7 jsauermann
;;;                                                                       } 35 Expr * r
9594 2 jsauermann
;--     l * r
9595
        MOVE    RR, LL
9596
        MOVE    #0x000A, RR
9597
;--     l * r
9598
        DI
9599
        MUL_IU
9600
        CALL    mult_div
9601
        MD_FIN
9602
        EI
9603 7 jsauermann
;;;                                                                     } 34 Expr l * r
9604 2 jsauermann
;--     l + r
9605
        ADD     RR, #0x0005
9606 7 jsauermann
;;;                                                                   } 33 Expr l + r
9607 2 jsauermann
;--     push_rr (16 bit)
9608
        MOVE    RR, -(SP)
9609 7 jsauermann
;;;                                                                   { 33 Expr * r
9610
;;;                                                                     { 34 Expression (variable name)
9611
;;;                                                                       expr_type = "identifier" (which_w)
9612 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9613
        MOVE    14(SP), RR
9614 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9615
;;;                                                                   } 33 Expr * r
9616 2 jsauermann
;--     move_rr_to_ll
9617
        MOVE    RR, LL
9618
;--     pop_rr (16 bit)
9619
        MOVE    (SP)+, RR
9620
;--     assign (16 bit)
9621
        MOVE    RR, (LL)
9622 7 jsauermann
;;;                                                                 } 32 Expr l = r
9623
;;;                                                               } 31 ExpressionStatement
9624
;;;                                                             } 30 case Statement
9625
;;;                                                             { 30 break/continue Statement
9626 2 jsauermann
;--     branch
9627
        JMP     L20_cont_58
9628 7 jsauermann
;;;                                                             } 30 break/continue Statement
9629
;;;                                                             { 30 case Statement
9630 2 jsauermann
L20_case_60_0036:
9631 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9632
;;;                                                                 { 32 Expr l = r
9633
;;;                                                                   { 33 TypeName
9634
;;;                                                                     { 34 TypeSpecifier (all)
9635
;;;                                                                       spec = unsigned int (82000)
9636
;;;                                                                     } 34 TypeSpecifier (all)
9637
;;;                                                                     { 34 List
9638
;;;                                                                       { 35 DeclItem
9639
;;;                                                                         what = DECL_NAME
9640
;;;                                                                         name = which_w
9641
;;;                                                                       } 35 DeclItem
9642
;;;                                                                     } 34 List
9643
;;;                                                                   } 33 TypeName
9644
;;;                                                                   { 33 Expr l + r
9645
;;;                                                                     { 34 Expr l * r
9646
;;;                                                                       { 35 TypeName (internal)
9647
;;;                                                                         { 36 TypeSpecifier (all)
9648
;;;                                                                           spec = unsigned int (82000)
9649
;;;                                                                         } 36 TypeSpecifier (all)
9650
;;;                                                                       } 35 TypeName (internal)
9651
;;;                                                                       { 35 Expr * r
9652
;;;                                                                         { 36 Expression (variable name)
9653
;;;                                                                           expr_type = "identifier" (which_w)
9654 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9655
        MOVE    12(SP), RR
9656 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9657 2 jsauermann
;--     content
9658
        MOVE    (RR), RR
9659 7 jsauermann
;;;                                                                       } 35 Expr * r
9660 2 jsauermann
;--     l * r
9661
        MOVE    RR, LL
9662
        MOVE    #0x000A, RR
9663
;--     l * r
9664
        DI
9665
        MUL_IU
9666
        CALL    mult_div
9667
        MD_FIN
9668
        EI
9669 7 jsauermann
;;;                                                                     } 34 Expr l * r
9670 2 jsauermann
;--     l + r
9671
        ADD     RR, #0x0006
9672 7 jsauermann
;;;                                                                   } 33 Expr l + r
9673 2 jsauermann
;--     push_rr (16 bit)
9674
        MOVE    RR, -(SP)
9675 7 jsauermann
;;;                                                                   { 33 Expr * r
9676
;;;                                                                     { 34 Expression (variable name)
9677
;;;                                                                       expr_type = "identifier" (which_w)
9678 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9679
        MOVE    14(SP), RR
9680 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9681
;;;                                                                   } 33 Expr * r
9682 2 jsauermann
;--     move_rr_to_ll
9683
        MOVE    RR, LL
9684
;--     pop_rr (16 bit)
9685
        MOVE    (SP)+, RR
9686
;--     assign (16 bit)
9687
        MOVE    RR, (LL)
9688 7 jsauermann
;;;                                                                 } 32 Expr l = r
9689
;;;                                                               } 31 ExpressionStatement
9690
;;;                                                             } 30 case Statement
9691
;;;                                                             { 30 break/continue Statement
9692 2 jsauermann
;--     branch
9693
        JMP     L20_cont_58
9694 7 jsauermann
;;;                                                             } 30 break/continue Statement
9695
;;;                                                             { 30 case Statement
9696 2 jsauermann
L20_case_60_0037:
9697 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9698
;;;                                                                 { 32 Expr l = r
9699
;;;                                                                   { 33 TypeName
9700
;;;                                                                     { 34 TypeSpecifier (all)
9701
;;;                                                                       spec = unsigned int (82000)
9702
;;;                                                                     } 34 TypeSpecifier (all)
9703
;;;                                                                     { 34 List
9704
;;;                                                                       { 35 DeclItem
9705
;;;                                                                         what = DECL_NAME
9706
;;;                                                                         name = which_w
9707
;;;                                                                       } 35 DeclItem
9708
;;;                                                                     } 34 List
9709
;;;                                                                   } 33 TypeName
9710
;;;                                                                   { 33 Expr l + r
9711
;;;                                                                     { 34 Expr l * r
9712
;;;                                                                       { 35 TypeName (internal)
9713
;;;                                                                         { 36 TypeSpecifier (all)
9714
;;;                                                                           spec = unsigned int (82000)
9715
;;;                                                                         } 36 TypeSpecifier (all)
9716
;;;                                                                       } 35 TypeName (internal)
9717
;;;                                                                       { 35 Expr * r
9718
;;;                                                                         { 36 Expression (variable name)
9719
;;;                                                                           expr_type = "identifier" (which_w)
9720 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9721
        MOVE    12(SP), RR
9722 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9723 2 jsauermann
;--     content
9724
        MOVE    (RR), RR
9725 7 jsauermann
;;;                                                                       } 35 Expr * r
9726 2 jsauermann
;--     l * r
9727
        MOVE    RR, LL
9728
        MOVE    #0x000A, RR
9729
;--     l * r
9730
        DI
9731
        MUL_IU
9732
        CALL    mult_div
9733
        MD_FIN
9734
        EI
9735 7 jsauermann
;;;                                                                     } 34 Expr l * r
9736 2 jsauermann
;--     l + r
9737
        ADD     RR, #0x0007
9738 7 jsauermann
;;;                                                                   } 33 Expr l + r
9739 2 jsauermann
;--     push_rr (16 bit)
9740
        MOVE    RR, -(SP)
9741 7 jsauermann
;;;                                                                   { 33 Expr * r
9742
;;;                                                                     { 34 Expression (variable name)
9743
;;;                                                                       expr_type = "identifier" (which_w)
9744 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9745
        MOVE    14(SP), RR
9746 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9747
;;;                                                                   } 33 Expr * r
9748 2 jsauermann
;--     move_rr_to_ll
9749
        MOVE    RR, LL
9750
;--     pop_rr (16 bit)
9751
        MOVE    (SP)+, RR
9752
;--     assign (16 bit)
9753
        MOVE    RR, (LL)
9754 7 jsauermann
;;;                                                                 } 32 Expr l = r
9755
;;;                                                               } 31 ExpressionStatement
9756
;;;                                                             } 30 case Statement
9757
;;;                                                             { 30 break/continue Statement
9758 2 jsauermann
;--     branch
9759
        JMP     L20_cont_58
9760 7 jsauermann
;;;                                                             } 30 break/continue Statement
9761
;;;                                                             { 30 case Statement
9762 2 jsauermann
L20_case_60_0038:
9763 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9764
;;;                                                                 { 32 Expr l = r
9765
;;;                                                                   { 33 TypeName
9766
;;;                                                                     { 34 TypeSpecifier (all)
9767
;;;                                                                       spec = unsigned int (82000)
9768
;;;                                                                     } 34 TypeSpecifier (all)
9769
;;;                                                                     { 34 List
9770
;;;                                                                       { 35 DeclItem
9771
;;;                                                                         what = DECL_NAME
9772
;;;                                                                         name = which_w
9773
;;;                                                                       } 35 DeclItem
9774
;;;                                                                     } 34 List
9775
;;;                                                                   } 33 TypeName
9776
;;;                                                                   { 33 Expr l + r
9777
;;;                                                                     { 34 Expr l * r
9778
;;;                                                                       { 35 TypeName (internal)
9779
;;;                                                                         { 36 TypeSpecifier (all)
9780
;;;                                                                           spec = unsigned int (82000)
9781
;;;                                                                         } 36 TypeSpecifier (all)
9782
;;;                                                                       } 35 TypeName (internal)
9783
;;;                                                                       { 35 Expr * r
9784
;;;                                                                         { 36 Expression (variable name)
9785
;;;                                                                           expr_type = "identifier" (which_w)
9786 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9787
        MOVE    12(SP), RR
9788 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9789 2 jsauermann
;--     content
9790
        MOVE    (RR), RR
9791 7 jsauermann
;;;                                                                       } 35 Expr * r
9792 2 jsauermann
;--     l * r
9793
        MOVE    RR, LL
9794
        MOVE    #0x000A, RR
9795
;--     l * r
9796
        DI
9797
        MUL_IU
9798
        CALL    mult_div
9799
        MD_FIN
9800
        EI
9801 7 jsauermann
;;;                                                                     } 34 Expr l * r
9802 2 jsauermann
;--     l + r
9803
        ADD     RR, #0x0008
9804 7 jsauermann
;;;                                                                   } 33 Expr l + r
9805 2 jsauermann
;--     push_rr (16 bit)
9806
        MOVE    RR, -(SP)
9807 7 jsauermann
;;;                                                                   { 33 Expr * r
9808
;;;                                                                     { 34 Expression (variable name)
9809
;;;                                                                       expr_type = "identifier" (which_w)
9810 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9811
        MOVE    14(SP), RR
9812 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9813
;;;                                                                   } 33 Expr * r
9814 2 jsauermann
;--     move_rr_to_ll
9815
        MOVE    RR, LL
9816
;--     pop_rr (16 bit)
9817
        MOVE    (SP)+, RR
9818
;--     assign (16 bit)
9819
        MOVE    RR, (LL)
9820 7 jsauermann
;;;                                                                 } 32 Expr l = r
9821
;;;                                                               } 31 ExpressionStatement
9822
;;;                                                             } 30 case Statement
9823
;;;                                                             { 30 break/continue Statement
9824 2 jsauermann
;--     branch
9825
        JMP     L20_cont_58
9826 7 jsauermann
;;;                                                             } 30 break/continue Statement
9827
;;;                                                             { 30 case Statement
9828 2 jsauermann
L20_case_60_0039:
9829 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9830
;;;                                                                 { 32 Expr l = r
9831
;;;                                                                   { 33 TypeName
9832
;;;                                                                     { 34 TypeSpecifier (all)
9833
;;;                                                                       spec = unsigned int (82000)
9834
;;;                                                                     } 34 TypeSpecifier (all)
9835
;;;                                                                     { 34 List
9836
;;;                                                                       { 35 DeclItem
9837
;;;                                                                         what = DECL_NAME
9838
;;;                                                                         name = which_w
9839
;;;                                                                       } 35 DeclItem
9840
;;;                                                                     } 34 List
9841
;;;                                                                   } 33 TypeName
9842
;;;                                                                   { 33 Expr l + r
9843
;;;                                                                     { 34 Expr l * r
9844
;;;                                                                       { 35 TypeName (internal)
9845
;;;                                                                         { 36 TypeSpecifier (all)
9846
;;;                                                                           spec = unsigned int (82000)
9847
;;;                                                                         } 36 TypeSpecifier (all)
9848
;;;                                                                       } 35 TypeName (internal)
9849
;;;                                                                       { 35 Expr * r
9850
;;;                                                                         { 36 Expression (variable name)
9851
;;;                                                                           expr_type = "identifier" (which_w)
9852 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -28 (16 bit)
9853
        MOVE    12(SP), RR
9854 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
9855 2 jsauermann
;--     content
9856
        MOVE    (RR), RR
9857 7 jsauermann
;;;                                                                       } 35 Expr * r
9858 2 jsauermann
;--     l * r
9859
        MOVE    RR, LL
9860
        MOVE    #0x000A, RR
9861
;--     l * r
9862
        DI
9863
        MUL_IU
9864
        CALL    mult_div
9865
        MD_FIN
9866
        EI
9867 7 jsauermann
;;;                                                                     } 34 Expr l * r
9868 2 jsauermann
;--     l + r
9869
        ADD     RR, #0x0009
9870 7 jsauermann
;;;                                                                   } 33 Expr l + r
9871 2 jsauermann
;--     push_rr (16 bit)
9872
        MOVE    RR, -(SP)
9873 7 jsauermann
;;;                                                                   { 33 Expr * r
9874
;;;                                                                     { 34 Expression (variable name)
9875
;;;                                                                       expr_type = "identifier" (which_w)
9876 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9877
        MOVE    14(SP), RR
9878 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9879
;;;                                                                   } 33 Expr * r
9880 2 jsauermann
;--     move_rr_to_ll
9881
        MOVE    RR, LL
9882
;--     pop_rr (16 bit)
9883
        MOVE    (SP)+, RR
9884
;--     assign (16 bit)
9885
        MOVE    RR, (LL)
9886 7 jsauermann
;;;                                                                 } 32 Expr l = r
9887
;;;                                                               } 31 ExpressionStatement
9888
;;;                                                             } 30 case Statement
9889
;;;                                                             { 30 break/continue Statement
9890 2 jsauermann
;--     branch
9891
        JMP     L20_cont_58
9892 7 jsauermann
;;;                                                             } 30 break/continue Statement
9893
;;;                                                             { 30 case Statement
9894 2 jsauermann
L20_case_60_002A:
9895 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9896
;;;                                                                 { 32 Expr l = r
9897
;;;                                                                   { 33 TypeName
9898
;;;                                                                     { 34 TypeSpecifier (all)
9899
;;;                                                                       spec = unsigned int (82000)
9900
;;;                                                                     } 34 TypeSpecifier (all)
9901
;;;                                                                     { 34 List
9902
;;;                                                                       { 35 DeclItem
9903
;;;                                                                         what = DECL_NAME
9904
;;;                                                                         name = which_w
9905
;;;                                                                       } 35 DeclItem
9906
;;;                                                                     } 34 List
9907
;;;                                                                   } 33 TypeName
9908
;;;                                                                   { 33 Expression (cast)r
9909
;;;                                                                     { 34 Expr * r
9910
;;;                                                                       { 35 Expr l - r
9911
;;;                                                                         { 36 Expr ++r
9912
;;;                                                                           { 37 Expression (variable name)
9913
;;;                                                                             expr_type = "identifier" (args)
9914 2 jsauermann
;--     load_rr_var args = -2(FP), SP at -28 (16 bit)
9915
        MOVE    26(SP), RR
9916 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
9917 2 jsauermann
;--     ++
9918
        ADD     RR, #0x0002
9919
;--     store_rr_var args = -2(FP), SP at -28
9920
        MOVE    RR, 26(SP)
9921 7 jsauermann
;;;                                                                         } 36 Expr ++r
9922 2 jsauermann
;--     l - r
9923
        SUB     RR, #0x0002
9924 7 jsauermann
;;;                                                                       } 35 Expr l - r
9925 2 jsauermann
;--     content
9926
        MOVE    (RR), RR
9927 7 jsauermann
;;;                                                                     } 34 Expr * r
9928
;;;                                                                   } 33 Expression (cast)r
9929 2 jsauermann
;--     push_rr (16 bit)
9930
        MOVE    RR, -(SP)
9931 7 jsauermann
;;;                                                                   { 33 Expr * r
9932
;;;                                                                     { 34 Expression (variable name)
9933
;;;                                                                       expr_type = "identifier" (which_w)
9934 2 jsauermann
;--     load_rr_var which_w = -16(FP), SP at -30 (16 bit)
9935
        MOVE    14(SP), RR
9936 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9937
;;;                                                                   } 33 Expr * r
9938 2 jsauermann
;--     move_rr_to_ll
9939
        MOVE    RR, LL
9940
;--     pop_rr (16 bit)
9941
        MOVE    (SP)+, RR
9942
;--     assign (16 bit)
9943
        MOVE    RR, (LL)
9944 7 jsauermann
;;;                                                                 } 32 Expr l = r
9945
;;;                                                               } 31 ExpressionStatement
9946
;;;                                                             } 30 case Statement
9947
;;;                                                             { 30 break/continue Statement
9948 2 jsauermann
;--     branch
9949
        JMP     L20_cont_58
9950 7 jsauermann
;;;                                                             } 30 break/continue Statement
9951
;;;                                                             { 30 case Statement
9952 2 jsauermann
L20_case_60_0000:
9953 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9954
;;;                                                                 { 32 Expr l + r
9955
;;;                                                                   { 33 Expr --r
9956
;;;                                                                     { 34 Expression (variable name)
9957
;;;                                                                       expr_type = "identifier" (format)
9958 2 jsauermann
;--     load_rr_var format = 2(FP), SP at -28 (16 bit)
9959
        MOVE    30(SP), RR
9960 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
9961 2 jsauermann
;--     --
9962
        SUB     RR, #0x0001
9963
;--     store_rr_var format = 2(FP), SP at -28
9964
        MOVE    RR, 30(SP)
9965 7 jsauermann
;;;                                                                   } 33 Expr --r
9966 2 jsauermann
;--     l + r
9967
        ADD     RR, #0x0001
9968 7 jsauermann
;;;                                                                 } 32 Expr l + r
9969
;;;                                                               } 31 ExpressionStatement
9970
;;;                                                             } 30 case Statement
9971
;;;                                                             { 30 break/continue Statement
9972 2 jsauermann
;--     branch
9973
        JMP     L20_brk_60
9974 7 jsauermann
;;;                                                             } 30 break/continue Statement
9975
;;;                                                             { 30 case Statement
9976 2 jsauermann
L20_deflt_60:
9977 7 jsauermann
;;;                                                               { 31 ExpressionStatement
9978
;;;                                                                 { 32 Expr l += r
9979
;;;                                                                   { 33 TypeName
9980
;;;                                                                     { 34 TypeSpecifier (all)
9981
;;;                                                                       spec = int (80000)
9982
;;;                                                                     } 34 TypeSpecifier (all)
9983
;;;                                                                     { 34 List
9984
;;;                                                                       { 35 DeclItem
9985
;;;                                                                         what = DECL_NAME
9986
;;;                                                                         name = len
9987
;;;                                                                       } 35 DeclItem
9988
;;;                                                                     } 34 List
9989
;;;                                                                   } 33 TypeName
9990
;;;                                                                   { 33 Expr l + r
9991
;;;                                                                     { 34 Expr l(r)
9992
;;;                                                                       { 35 TypeName
9993
;;;                                                                         { 36 TypeSpecifier (all)
9994
;;;                                                                           spec = int (80000)
9995
;;;                                                                         } 36 TypeSpecifier (all)
9996
;;;                                                                         { 36 List
9997
;;;                                                                           { 37 DeclItem
9998
;;;                                                                             what = DECL_NAME
9999
;;;                                                                             name = putchr
10000
;;;                                                                           } 37 DeclItem
10001
;;;                                                                         } 36 List
10002
;;;                                                                       } 35 TypeName
10003
;;;                                                                       { 35 ParameterDeclaration
10004
;;;                                                                         isEllipsis = false
10005
;;;                                                                         { 36 TypeName
10006
;;;                                                                           { 37 TypeSpecifier (all)
10007
;;;                                                                             spec = char (20000)
10008
;;;                                                                           } 37 TypeSpecifier (all)
10009
;;;                                                                           { 37 List
10010
;;;                                                                             { 38 DeclItem
10011
;;;                                                                               what = DECL_NAME
10012
;;;                                                                               name = c
10013
;;;                                                                             } 38 DeclItem
10014
;;;                                                                           } 37 List
10015
;;;                                                                         } 36 TypeName
10016
;;;                                                                       } 35 ParameterDeclaration
10017
;;;                                                                       { 35 Expression (variable name)
10018
;;;                                                                         expr_type = "identifier" (c)
10019 2 jsauermann
;--     load_rr_var c = -5(FP), SP at -28 (8 bit)
10020
        MOVE    23(SP), RS
10021 7 jsauermann
;;;                                                                       } 35 Expression (variable name)
10022 2 jsauermann
;--     push_rr (8 bit)
10023
        MOVE    R, -(SP)
10024
;--     push 2 bytes
10025
;--     call
10026
        CALL    Cputchr
10027
;--     pop 1 bytes
10028
        ADD     SP, #1
10029 7 jsauermann
;;;                                                                     } 34 Expr l(r)
10030
;;;                                                                     { 34 Expression (variable name)
10031
;;;                                                                       expr_type = "identifier" (len)
10032 2 jsauermann
;--     load_ll_var len = -4(FP), SP at -28 (16 bit)
10033
        MOVE    24(SP), LL
10034 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
10035 2 jsauermann
;--     scale_rr *1
10036
;--     l + r
10037
        ADD     LL, RR
10038 7 jsauermann
;;;                                                                   } 33 Expr l + r
10039 2 jsauermann
;--     store_rr_var len = -4(FP), SP at -28
10040
        MOVE    RR, 24(SP)
10041 7 jsauermann
;;;                                                                 } 32 Expr l += r
10042
;;;                                                               } 31 ExpressionStatement
10043
;;;                                                             } 30 case Statement
10044
;;;                                                             { 30 break/continue Statement
10045 2 jsauermann
;--     branch
10046
        JMP     L20_brk_60
10047 7 jsauermann
;;;                                                             } 30 break/continue Statement
10048
;;;                                                           } 29 List
10049
;--     pop 0 bytes
10050
;;;                                                         } 28 CompoundStatement
10051 2 jsauermann
L20_brk_60:
10052 7 jsauermann
;;;                                                       } 27 SwitchStatement
10053
;;;                                                       { 27 break/continue Statement
10054 2 jsauermann
;--     branch
10055
        JMP     L20_brk_59
10056 7 jsauermann
;;;                                                       } 27 break/continue Statement
10057
;;;                                                     } 26 List
10058
;--     pop 0 bytes
10059
;;;                                                   } 25 CompoundStatement
10060 2 jsauermann
L20_cont_58:
10061
;--     branch
10062
        JMP     L20_loop_58
10063
L20_brk_59:
10064 7 jsauermann
;;;                                                 } 24 for Statement
10065
;;;                                               } 23 List
10066
;--     pop 0 bytes
10067
;;;                                             } 22 CompoundStatement
10068 2 jsauermann
L20_cont_55:
10069 7 jsauermann
;;;                                             { 22 Expr l = r
10070
;;;                                               { 23 TypeName
10071
;;;                                                 { 24 TypeSpecifier (all)
10072
;;;                                                   spec = char (20000)
10073
;;;                                                 } 24 TypeSpecifier (all)
10074
;;;                                                 { 24 List
10075
;;;                                                   { 25 DeclItem
10076
;;;                                                     what = DECL_NAME
10077
;;;                                                     name = c
10078
;;;                                                   } 25 DeclItem
10079
;;;                                                 } 24 List
10080
;;;                                               } 23 TypeName
10081
;;;                                               { 23 Expr * r
10082
;;;                                                 { 24 Expr l - r
10083
;;;                                                   { 25 Expr ++r
10084
;;;                                                     { 26 Expression (variable name)
10085
;;;                                                       expr_type = "identifier" (format)
10086 2 jsauermann
;--     load_rr_var format = 2(FP), SP at -28 (16 bit)
10087
        MOVE    30(SP), RR
10088 7 jsauermann
;;;                                                     } 26 Expression (variable name)
10089 2 jsauermann
;--     ++
10090
        ADD     RR, #0x0001
10091
;--     store_rr_var format = 2(FP), SP at -28
10092
        MOVE    RR, 30(SP)
10093 7 jsauermann
;;;                                                   } 25 Expr ++r
10094 2 jsauermann
;--     l - r
10095
        SUB     RR, #0x0001
10096 7 jsauermann
;;;                                                 } 24 Expr l - r
10097 2 jsauermann
;--     content
10098
        MOVE    (RR), RS
10099 7 jsauermann
;;;                                               } 23 Expr * r
10100 2 jsauermann
;--     store_rr_var c = -5(FP), SP at -28
10101
        MOVE    R, 23(SP)
10102 7 jsauermann
;;;                                             } 22 Expr l = r
10103 2 jsauermann
;--     branch_true
10104
        JMP     RRNZ, L20_loop_55
10105
L20_brk_56:
10106 7 jsauermann
;;;                                           } 21 while Statement
10107
;;;                                           { 21 return Statement
10108
;;;                                             { 22 Expression (variable name)
10109
;;;                                               expr_type = "identifier" (len)
10110 2 jsauermann
;--     load_rr_var len = -4(FP), SP at -28 (16 bit)
10111
        MOVE    24(SP), RR
10112 7 jsauermann
;;;                                             } 22 Expression (variable name)
10113 2 jsauermann
;--     ret
10114 7 jsauermann
        ADD     SP, #28
10115
        RET
10116
;;;                                           } 21 return Statement
10117
;;;                                         } 20 List
10118 2 jsauermann
;--     pop 28 bytes
10119
        ADD     SP, #28
10120 7 jsauermann
;;;                                       } 19 CompoundStatement
10121
;--     ret
10122 2 jsauermann
        RET
10123
;;; ------------------------------------;
10124 7 jsauermann
;;;                                       { 19 FunctionDefinition
10125
;;;                                         { 20 TypeName
10126
;;;                                           { 21 TypeSpecifier (all)
10127
;;;                                             spec = int (80000)
10128
;;;                                           } 21 TypeSpecifier (all)
10129
;;;                                           { 21 List
10130
;;;                                             { 22 DeclItem
10131
;;;                                               what = DECL_NAME
10132
;;;                                               name = getchr
10133
;;;                                             } 22 DeclItem
10134
;;;                                           } 21 List
10135
;;;                                         } 20 TypeName
10136
;;;                                         { 20 List
10137
;;;                                           { 21 DeclItem
10138
;;;                                             what = DECL_NAME
10139
;;;                                             name = getchr
10140
;;;                                           } 21 DeclItem
10141
;;;                                           { 21 DeclItem
10142
;;;                                             what = DECL_FUN
10143
;;;                                           } 21 DeclItem
10144
;;;                                         } 20 List
10145 2 jsauermann
Cgetchr:
10146 7 jsauermann
;;;                                         { 20 CompoundStatement
10147
;;;                                           { 21 InitDeclarator
10148
;;;                                             { 22 List
10149
;;;                                               { 23 DeclItem
10150
;;;                                                 what = DECL_NAME
10151
;;;                                                 name = c
10152
;;;                                               } 23 DeclItem
10153
;;;                                             } 22 List
10154 2 jsauermann
;--     push_zero 1 bytes
10155
        CLRB    -(SP)
10156 7 jsauermann
;;;                                           } 21 InitDeclarator
10157
;;;                                           { 21 List
10158
;;;                                             { 22 ExpressionStatement
10159
;;;                                               { 23 Expr l(r)
10160
;;;                                                 { 24 TypeName
10161
;;;                                                   { 25 TypeSpecifier (all)
10162
;;;                                                     spec = void (10000)
10163
;;;                                                   } 25 TypeSpecifier (all)
10164
;;;                                                   { 25 List
10165
;;;                                                     { 26 DeclItem
10166
;;;                                                       what = DECL_NAME
10167
;;;                                                       name = P
10168
;;;                                                     } 26 DeclItem
10169
;;;                                                   } 25 List
10170
;;;                                                 } 24 TypeName
10171
;;;                                                 { 24 ParameterDeclaration
10172
;;;                                                   isEllipsis = false
10173
;;;                                                   { 25 TypeName
10174
;;;                                                     { 26 TypeSpecifier (struct/union)
10175
;;;                                                       spec = struct '_semaphore' (800000)
10176
;;;                                                       name = _semaphore
10177
;;;                                                     } 26 TypeSpecifier (struct/union)
10178
;;;                                                     { 26 List
10179
;;;                                                       { 27 DeclItem
10180
;;;                                                         what = DECL_POINTER
10181
;;;                                                         { 28 List
10182
;;;                                                           { 29 Ptr
10183
;;;                                                           } 29 Ptr
10184
;;;                                                         } 28 List
10185
;;;                                                       } 27 DeclItem
10186
;;;                                                       { 27 DeclItem
10187
;;;                                                         what = DECL_NAME
10188
;;;                                                         name = sema
10189
;;;                                                       } 27 DeclItem
10190
;;;                                                     } 26 List
10191
;;;                                                   } 25 TypeName
10192
;;;                                                 } 24 ParameterDeclaration
10193
;;;                                                 { 24 Expr & r
10194 2 jsauermann
;--     load_address rx_sema
10195
        MOVE    #Crx_sema, RR
10196 7 jsauermann
;;;                                                 } 24 Expr & r
10197 2 jsauermann
;--     push_rr (16 bit)
10198
        MOVE    RR, -(SP)
10199
;--     push 0 bytes
10200
;--     call
10201
        CALL    CP
10202
;--     pop 2 bytes
10203
        ADD     SP, #2
10204 7 jsauermann
;;;                                               } 23 Expr l(r)
10205
;;;                                             } 22 ExpressionStatement
10206
;;;                                             { 22 ExpressionStatement
10207
;;;                                               { 23 Expr l = r
10208
;;;                                                 { 24 TypeName
10209
;;;                                                   { 25 TypeSpecifier (all)
10210
;;;                                                     spec = char (20000)
10211
;;;                                                   } 25 TypeSpecifier (all)
10212
;;;                                                   { 25 List
10213
;;;                                                     { 26 DeclItem
10214
;;;                                                       what = DECL_NAME
10215
;;;                                                       name = c
10216
;;;                                                     } 26 DeclItem
10217
;;;                                                   } 25 List
10218
;;;                                                 } 24 TypeName
10219
;;;                                                 { 24 Expr l[r]
10220
;;;                                                   { 25 TypeName
10221
;;;                                                     { 26 TypeSpecifier (all)
10222
;;;                                                       spec = unsigned char (22000)
10223
;;;                                                     } 26 TypeSpecifier (all)
10224
;;;                                                     { 26 List
10225
;;;                                                       { 27 DeclItem
10226
;;;                                                         what = DECL_NAME
10227
;;;                                                         name = serial_in_buffer
10228
;;;                                                       } 27 DeclItem
10229
;;;                                                     } 26 List
10230
;;;                                                   } 25 TypeName
10231
;;;                                                   { 25 Expr l[r]
10232
;;;                                                     { 26 Expression (variable name)
10233
;;;                                                       expr_type = "identifier" (serial_in_get)
10234 2 jsauermann
;--     load_rr_var serial_in_get, (8 bit)
10235
        MOVE    (Cserial_in_get), RU
10236 7 jsauermann
;;;                                                     } 26 Expression (variable name)
10237 2 jsauermann
;--     scale_rr *1
10238
;--     add_address serial_in_buffer
10239
        ADD     RR, #Cserial_in_buffer
10240 7 jsauermann
;;;                                                   } 25 Expr l[r]
10241 2 jsauermann
;--     content
10242
        MOVE    (RR), RU
10243 7 jsauermann
;;;                                                 } 24 Expr l[r]
10244 2 jsauermann
;--     store_rr_var c = -1(FP), SP at -1
10245
        MOVE    R, 0(SP)
10246 7 jsauermann
;;;                                               } 23 Expr l = r
10247
;;;                                             } 22 ExpressionStatement
10248
;;;                                             { 22 IfElseStatement
10249
;;;                                               { 23 Expr l >= r
10250
;;;                                                 { 24 TypeName (internal)
10251
;;;                                                   { 25 TypeSpecifier (all)
10252
;;;                                                     spec = unsigned int (82000)
10253
;;;                                                   } 25 TypeSpecifier (all)
10254
;;;                                                 } 24 TypeName (internal)
10255
;;;                                                 { 24 Expr ++r
10256
;;;                                                   { 25 Expression (variable name)
10257
;;;                                                     expr_type = "identifier" (serial_in_get)
10258 2 jsauermann
;--     load_rr_var serial_in_get, (8 bit)
10259
        MOVE    (Cserial_in_get), RU
10260 7 jsauermann
;;;                                                   } 25 Expression (variable name)
10261 2 jsauermann
;--     ++
10262
        ADD     RR, #0x0001
10263
;--     store_rr_var serial_in_get
10264
        MOVE    R, (Cserial_in_get)
10265 7 jsauermann
;;;                                                 } 24 Expr ++r
10266 2 jsauermann
;--     l >= r
10267
        SHS     RR, #0x0010
10268 7 jsauermann
;;;                                               } 23 Expr l >= r
10269 2 jsauermann
;--     branch_false
10270
        JMP     RRZ, L21_endif_64
10271 7 jsauermann
;;;                                               { 23 ExpressionStatement
10272
;;;                                                 { 24 Expr l = r
10273
;;;                                                   { 25 TypeName
10274
;;;                                                     { 26 TypeSpecifier (all)
10275
;;;                                                       spec = unsigned char (22000)
10276
;;;                                                     } 26 TypeSpecifier (all)
10277
;;;                                                     { 26 List
10278
;;;                                                       { 27 DeclItem
10279
;;;                                                         what = DECL_NAME
10280
;;;                                                         name = serial_in_get
10281
;;;                                                       } 27 DeclItem
10282
;;;                                                     } 26 List
10283
;;;                                                   } 25 TypeName
10284
;;;                                                   { 25 NumericExpression (constant 0 = 0x0)
10285 2 jsauermann
;--     load_rr_constant
10286
        MOVE    #0x0000, RR
10287 7 jsauermann
;;;                                                   } 25 NumericExpression (constant 0 = 0x0)
10288 2 jsauermann
;--     store_rr_var serial_in_get
10289
        MOVE    R, (Cserial_in_get)
10290 7 jsauermann
;;;                                                 } 24 Expr l = r
10291
;;;                                               } 23 ExpressionStatement
10292 2 jsauermann
L21_endif_64:
10293 7 jsauermann
;;;                                             } 22 IfElseStatement
10294
;;;                                             { 22 return Statement
10295
;;;                                               { 23 Expression (variable name)
10296
;;;                                                 expr_type = "identifier" (c)
10297 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -1 (8 bit)
10298
        MOVE    0(SP), RS
10299 7 jsauermann
;;;                                               } 23 Expression (variable name)
10300 2 jsauermann
;--     ret
10301 7 jsauermann
        ADD     SP, #1
10302
        RET
10303
;;;                                             } 22 return Statement
10304
;;;                                           } 21 List
10305 2 jsauermann
;--     pop 1 bytes
10306
        ADD     SP, #1
10307 7 jsauermann
;;;                                         } 20 CompoundStatement
10308
;--     ret
10309 2 jsauermann
        RET
10310
;;; ------------------------------------;
10311 7 jsauermann
;;;                                         { 20 FunctionDefinition
10312
;;;                                           { 21 TypeName
10313
;;;                                             { 22 TypeSpecifier (all)
10314
;;;                                               spec = int (80000)
10315
;;;                                             } 22 TypeSpecifier (all)
10316
;;;                                             { 22 List
10317
;;;                                               { 23 DeclItem
10318
;;;                                                 what = DECL_NAME
10319
;;;                                                 name = getchr_timed
10320
;;;                                               } 23 DeclItem
10321
;;;                                             } 22 List
10322
;;;                                           } 21 TypeName
10323
;;;                                           { 21 List
10324
;;;                                             { 22 DeclItem
10325
;;;                                               what = DECL_NAME
10326
;;;                                               name = getchr_timed
10327
;;;                                             } 22 DeclItem
10328
;;;                                             { 22 DeclItem
10329
;;;                                               what = DECL_FUN
10330
;;;                                               { 23 List
10331
;;;                                                 { 24 ParameterDeclaration
10332
;;;                                                   isEllipsis = false
10333
;;;                                                   { 25 TypeName
10334
;;;                                                     { 26 TypeSpecifier (all)
10335
;;;                                                       spec = unsigned int (82000)
10336
;;;                                                     } 26 TypeSpecifier (all)
10337
;;;                                                     { 26 List
10338
;;;                                                       { 27 DeclItem
10339
;;;                                                         what = DECL_NAME
10340
;;;                                                         name = ticks
10341
;;;                                                       } 27 DeclItem
10342
;;;                                                     } 26 List
10343
;;;                                                   } 25 TypeName
10344
;;;                                                 } 24 ParameterDeclaration
10345
;;;                                               } 23 List
10346
;;;                                             } 22 DeclItem
10347
;;;                                           } 21 List
10348 2 jsauermann
Cgetchr_timed:
10349 7 jsauermann
;;;                                           { 21 CompoundStatement
10350
;;;                                             { 22 InitDeclarator
10351
;;;                                               { 23 List
10352
;;;                                                 { 24 DeclItem
10353
;;;                                                   what = DECL_NAME
10354
;;;                                                   name = c
10355
;;;                                                 } 24 DeclItem
10356
;;;                                               } 23 List
10357 2 jsauermann
;--     push_zero 1 bytes
10358
        CLRB    -(SP)
10359 7 jsauermann
;;;                                             } 22 InitDeclarator
10360
;;;                                             { 22 List
10361
;;;                                               { 23 ExpressionStatement
10362
;;;                                                 { 24 Expr l = r
10363
;;;                                                   { 25 TypeName
10364
;;;                                                     { 26 TypeSpecifier (all)
10365
;;;                                                       spec = char (20000)
10366
;;;                                                     } 26 TypeSpecifier (all)
10367
;;;                                                     { 26 List
10368
;;;                                                       { 27 DeclItem
10369
;;;                                                         what = DECL_NAME
10370
;;;                                                         name = c
10371
;;;                                                       } 27 DeclItem
10372
;;;                                                     } 26 List
10373
;;;                                                   } 25 TypeName
10374
;;;                                                   { 25 Expr l(r)
10375
;;;                                                     { 26 TypeName
10376
;;;                                                       { 27 TypeSpecifier (all)
10377
;;;                                                         spec = char (20000)
10378
;;;                                                       } 27 TypeSpecifier (all)
10379
;;;                                                       { 27 List
10380
;;;                                                         { 28 DeclItem
10381
;;;                                                           what = DECL_NAME
10382
;;;                                                           name = P_timed
10383
;;;                                                         } 28 DeclItem
10384
;;;                                                       } 27 List
10385
;;;                                                     } 26 TypeName
10386
;;;                                                     { 26 Expr (l , r)
10387
;;;                                                       { 27 ParameterDeclaration
10388
;;;                                                         isEllipsis = false
10389
;;;                                                         { 28 TypeName
10390
;;;                                                           { 29 TypeSpecifier (all)
10391
;;;                                                             spec = unsigned int (82000)
10392
;;;                                                           } 29 TypeSpecifier (all)
10393
;;;                                                           { 29 List
10394
;;;                                                             { 30 DeclItem
10395
;;;                                                               what = DECL_NAME
10396
;;;                                                               name = ticks
10397
;;;                                                             } 30 DeclItem
10398
;;;                                                           } 29 List
10399
;;;                                                         } 28 TypeName
10400
;;;                                                       } 27 ParameterDeclaration
10401
;;;                                                       { 27 Expression (variable name)
10402
;;;                                                         expr_type = "identifier" (ticks)
10403 2 jsauermann
;--     load_rr_var ticks = 2(FP), SP at -1 (16 bit)
10404
        MOVE    3(SP), RR
10405 7 jsauermann
;;;                                                       } 27 Expression (variable name)
10406 2 jsauermann
;--     push_rr (16 bit)
10407
        MOVE    RR, -(SP)
10408 7 jsauermann
;;;                                                       { 27 ParameterDeclaration
10409
;;;                                                         isEllipsis = false
10410
;;;                                                         { 28 TypeName
10411
;;;                                                           { 29 TypeSpecifier (struct/union)
10412
;;;                                                             spec = struct '_semaphore' (800000)
10413
;;;                                                             name = _semaphore
10414
;;;                                                           } 29 TypeSpecifier (struct/union)
10415
;;;                                                           { 29 List
10416
;;;                                                             { 30 DeclItem
10417
;;;                                                               what = DECL_POINTER
10418
;;;                                                               { 31 List
10419
;;;                                                                 { 32 Ptr
10420
;;;                                                                 } 32 Ptr
10421
;;;                                                               } 31 List
10422
;;;                                                             } 30 DeclItem
10423
;;;                                                             { 30 DeclItem
10424
;;;                                                               what = DECL_NAME
10425
;;;                                                               name = sema
10426
;;;                                                             } 30 DeclItem
10427
;;;                                                           } 29 List
10428
;;;                                                         } 28 TypeName
10429
;;;                                                       } 27 ParameterDeclaration
10430
;;;                                                       { 27 Expr & r
10431 2 jsauermann
;--     load_address rx_sema
10432
        MOVE    #Crx_sema, RR
10433 7 jsauermann
;;;                                                       } 27 Expr & r
10434 2 jsauermann
;--     push_rr (16 bit)
10435
        MOVE    RR, -(SP)
10436 7 jsauermann
;;;                                                     } 26 Expr (l , r)
10437 2 jsauermann
;--     push 1 bytes
10438
;--     call
10439
        CALL    CP_timed
10440
;--     pop 4 bytes
10441
        ADD     SP, #4
10442 7 jsauermann
;;;                                                   } 25 Expr l(r)
10443 2 jsauermann
;--     store_rr_var c = -1(FP), SP at -1
10444
        MOVE    R, 0(SP)
10445 7 jsauermann
;;;                                                 } 24 Expr l = r
10446
;;;                                               } 23 ExpressionStatement
10447
;;;                                               { 23 IfElseStatement
10448
;;;                                                 { 24 Expression (variable name)
10449
;;;                                                   expr_type = "identifier" (c)
10450 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -1 (8 bit)
10451
        MOVE    0(SP), RS
10452 7 jsauermann
;;;                                                 } 24 Expression (variable name)
10453 2 jsauermann
;--     branch_false
10454
        JMP     RRZ, L22_endif_65
10455 7 jsauermann
;;;                                                 { 24 return Statement
10456
;;;                                                   { 25 NumericExpression (constant 1 = 0x1)
10457 2 jsauermann
;--     load_rr_constant
10458
        MOVE    #0xFFFF, RR
10459 7 jsauermann
;;;                                                   } 25 NumericExpression (constant 1 = 0x1)
10460
;--     ret
10461
        ADD     SP, #1
10462
        RET
10463
;;;                                                 } 24 return Statement
10464 2 jsauermann
L22_endif_65:
10465 7 jsauermann
;;;                                               } 23 IfElseStatement
10466
;;;                                               { 23 ExpressionStatement
10467
;;;                                                 { 24 Expr l = r
10468
;;;                                                   { 25 TypeName
10469
;;;                                                     { 26 TypeSpecifier (all)
10470
;;;                                                       spec = char (20000)
10471
;;;                                                     } 26 TypeSpecifier (all)
10472
;;;                                                     { 26 List
10473
;;;                                                       { 27 DeclItem
10474
;;;                                                         what = DECL_NAME
10475
;;;                                                         name = c
10476
;;;                                                       } 27 DeclItem
10477
;;;                                                     } 26 List
10478
;;;                                                   } 25 TypeName
10479
;;;                                                   { 25 Expr l[r]
10480
;;;                                                     { 26 TypeName
10481
;;;                                                       { 27 TypeSpecifier (all)
10482
;;;                                                         spec = unsigned char (22000)
10483
;;;                                                       } 27 TypeSpecifier (all)
10484
;;;                                                       { 27 List
10485
;;;                                                         { 28 DeclItem
10486
;;;                                                           what = DECL_NAME
10487
;;;                                                           name = serial_in_buffer
10488
;;;                                                         } 28 DeclItem
10489
;;;                                                       } 27 List
10490
;;;                                                     } 26 TypeName
10491
;;;                                                     { 26 Expr l[r]
10492
;;;                                                       { 27 Expression (variable name)
10493
;;;                                                         expr_type = "identifier" (serial_in_get)
10494 2 jsauermann
;--     load_rr_var serial_in_get, (8 bit)
10495
        MOVE    (Cserial_in_get), RU
10496 7 jsauermann
;;;                                                       } 27 Expression (variable name)
10497 2 jsauermann
;--     scale_rr *1
10498
;--     add_address serial_in_buffer
10499
        ADD     RR, #Cserial_in_buffer
10500 7 jsauermann
;;;                                                     } 26 Expr l[r]
10501 2 jsauermann
;--     content
10502
        MOVE    (RR), RU
10503 7 jsauermann
;;;                                                   } 25 Expr l[r]
10504 2 jsauermann
;--     store_rr_var c = -1(FP), SP at -1
10505
        MOVE    R, 0(SP)
10506 7 jsauermann
;;;                                                 } 24 Expr l = r
10507
;;;                                               } 23 ExpressionStatement
10508
;;;                                               { 23 IfElseStatement
10509
;;;                                                 { 24 Expr l >= r
10510
;;;                                                   { 25 TypeName (internal)
10511
;;;                                                     { 26 TypeSpecifier (all)
10512
;;;                                                       spec = unsigned int (82000)
10513
;;;                                                     } 26 TypeSpecifier (all)
10514
;;;                                                   } 25 TypeName (internal)
10515
;;;                                                   { 25 Expr ++r
10516
;;;                                                     { 26 Expression (variable name)
10517
;;;                                                       expr_type = "identifier" (serial_in_get)
10518 2 jsauermann
;--     load_rr_var serial_in_get, (8 bit)
10519
        MOVE    (Cserial_in_get), RU
10520 7 jsauermann
;;;                                                     } 26 Expression (variable name)
10521 2 jsauermann
;--     ++
10522
        ADD     RR, #0x0001
10523
;--     store_rr_var serial_in_get
10524
        MOVE    R, (Cserial_in_get)
10525 7 jsauermann
;;;                                                   } 25 Expr ++r
10526 2 jsauermann
;--     l >= r
10527
        SHS     RR, #0x0010
10528 7 jsauermann
;;;                                                 } 24 Expr l >= r
10529 2 jsauermann
;--     branch_false
10530
        JMP     RRZ, L22_endif_66
10531 7 jsauermann
;;;                                                 { 24 ExpressionStatement
10532
;;;                                                   { 25 Expr l = r
10533
;;;                                                     { 26 TypeName
10534
;;;                                                       { 27 TypeSpecifier (all)
10535
;;;                                                         spec = unsigned char (22000)
10536
;;;                                                       } 27 TypeSpecifier (all)
10537
;;;                                                       { 27 List
10538
;;;                                                         { 28 DeclItem
10539
;;;                                                           what = DECL_NAME
10540
;;;                                                           name = serial_in_get
10541
;;;                                                         } 28 DeclItem
10542
;;;                                                       } 27 List
10543
;;;                                                     } 26 TypeName
10544
;;;                                                     { 26 NumericExpression (constant 0 = 0x0)
10545 2 jsauermann
;--     load_rr_constant
10546
        MOVE    #0x0000, RR
10547 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 0 = 0x0)
10548 2 jsauermann
;--     store_rr_var serial_in_get
10549
        MOVE    R, (Cserial_in_get)
10550 7 jsauermann
;;;                                                   } 25 Expr l = r
10551
;;;                                                 } 24 ExpressionStatement
10552 2 jsauermann
L22_endif_66:
10553 7 jsauermann
;;;                                               } 23 IfElseStatement
10554
;;;                                               { 23 return Statement
10555
;;;                                                 { 24 Expression (variable name)
10556
;;;                                                   expr_type = "identifier" (c)
10557 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -1 (8 bit)
10558
        MOVE    0(SP), RS
10559 7 jsauermann
;;;                                                 } 24 Expression (variable name)
10560 2 jsauermann
;--     ret
10561 7 jsauermann
        ADD     SP, #1
10562
        RET
10563
;;;                                               } 23 return Statement
10564
;;;                                             } 22 List
10565 2 jsauermann
;--     pop 1 bytes
10566
        ADD     SP, #1
10567 7 jsauermann
;;;                                           } 21 CompoundStatement
10568
;--     ret
10569 2 jsauermann
        RET
10570
;;; ------------------------------------;
10571 7 jsauermann
;;;                                           { 21 FunctionDefinition
10572
;;;                                             { 22 TypeName
10573
;;;                                               { 23 TypeSpecifier (all)
10574 10 jsauermann
;;;                                                 spec = char (20000)
10575 7 jsauermann
;;;                                               } 23 TypeSpecifier (all)
10576
;;;                                               { 23 List
10577
;;;                                                 { 24 DeclItem
10578
;;;                                                   what = DECL_NAME
10579
;;;                                                   name = peekchr
10580
;;;                                                 } 24 DeclItem
10581
;;;                                               } 23 List
10582
;;;                                             } 22 TypeName
10583
;;;                                             { 22 List
10584
;;;                                               { 23 DeclItem
10585
;;;                                                 what = DECL_NAME
10586
;;;                                                 name = peekchr
10587
;;;                                               } 23 DeclItem
10588
;;;                                               { 23 DeclItem
10589
;;;                                                 what = DECL_FUN
10590
;;;                                               } 23 DeclItem
10591
;;;                                             } 22 List
10592 2 jsauermann
Cpeekchr:
10593 7 jsauermann
;;;                                             { 22 CompoundStatement
10594 10 jsauermann
;;;                                               { 23 InitDeclarator
10595
;;;                                                 { 24 List
10596
;;;                                                   { 25 DeclItem
10597
;;;                                                     what = DECL_NAME
10598
;;;                                                     name = ret
10599
;;;                                                   } 25 DeclItem
10600
;;;                                                 } 24 List
10601
;--     push_zero 1 bytes
10602
        CLRB    -(SP)
10603
;;;                                               } 23 InitDeclarator
10604 7 jsauermann
;;;                                               { 23 List
10605
;;;                                                 { 24 ExpressionStatement
10606
;;;                                                   { 25 Expr l(r)
10607
;;;                                                     { 26 TypeName
10608
;;;                                                       { 27 TypeSpecifier (all)
10609
;;;                                                         spec = void (10000)
10610
;;;                                                       } 27 TypeSpecifier (all)
10611
;;;                                                       { 27 List
10612
;;;                                                         { 28 DeclItem
10613
;;;                                                           what = DECL_NAME
10614
;;;                                                           name = P
10615
;;;                                                         } 28 DeclItem
10616
;;;                                                       } 27 List
10617
;;;                                                     } 26 TypeName
10618
;;;                                                     { 26 ParameterDeclaration
10619
;;;                                                       isEllipsis = false
10620
;;;                                                       { 27 TypeName
10621
;;;                                                         { 28 TypeSpecifier (struct/union)
10622
;;;                                                           spec = struct '_semaphore' (800000)
10623
;;;                                                           name = _semaphore
10624
;;;                                                         } 28 TypeSpecifier (struct/union)
10625
;;;                                                         { 28 List
10626
;;;                                                           { 29 DeclItem
10627
;;;                                                             what = DECL_POINTER
10628
;;;                                                             { 30 List
10629
;;;                                                               { 31 Ptr
10630
;;;                                                               } 31 Ptr
10631
;;;                                                             } 30 List
10632
;;;                                                           } 29 DeclItem
10633
;;;                                                           { 29 DeclItem
10634
;;;                                                             what = DECL_NAME
10635
;;;                                                             name = sema
10636
;;;                                                           } 29 DeclItem
10637
;;;                                                         } 28 List
10638
;;;                                                       } 27 TypeName
10639
;;;                                                     } 26 ParameterDeclaration
10640
;;;                                                     { 26 Expr & r
10641 2 jsauermann
;--     load_address rx_sema
10642
        MOVE    #Crx_sema, RR
10643 7 jsauermann
;;;                                                     } 26 Expr & r
10644 2 jsauermann
;--     push_rr (16 bit)
10645
        MOVE    RR, -(SP)
10646
;--     push 0 bytes
10647
;--     call
10648
        CALL    CP
10649
;--     pop 2 bytes
10650
        ADD     SP, #2
10651 7 jsauermann
;;;                                                   } 25 Expr l(r)
10652
;;;                                                 } 24 ExpressionStatement
10653
;;;                                                 { 24 ExpressionStatement
10654 10 jsauermann
;;;                                                   { 25 Expr l = r
10655
;;;                                                     { 26 TypeName
10656
;;;                                                       { 27 TypeSpecifier (all)
10657
;;;                                                         spec = char (20000)
10658
;;;                                                       } 27 TypeSpecifier (all)
10659
;;;                                                       { 27 List
10660
;;;                                                         { 28 DeclItem
10661
;;;                                                           what = DECL_NAME
10662
;;;                                                           name = ret
10663
;;;                                                         } 28 DeclItem
10664
;;;                                                       } 27 List
10665
;;;                                                     } 26 TypeName
10666
;;;                                                     { 26 Expr l[r]
10667
;;;                                                       { 27 TypeName
10668
;;;                                                         { 28 TypeSpecifier (all)
10669
;;;                                                           spec = unsigned char (22000)
10670
;;;                                                         } 28 TypeSpecifier (all)
10671
;;;                                                         { 28 List
10672
;;;                                                           { 29 DeclItem
10673
;;;                                                             what = DECL_NAME
10674
;;;                                                             name = serial_in_buffer
10675
;;;                                                           } 29 DeclItem
10676
;;;                                                         } 28 List
10677
;;;                                                       } 27 TypeName
10678
;;;                                                       { 27 Expr l[r]
10679
;;;                                                         { 28 Expression (variable name)
10680
;;;                                                           expr_type = "identifier" (serial_in_get)
10681
;--     load_rr_var serial_in_get, (8 bit)
10682
        MOVE    (Cserial_in_get), RU
10683
;;;                                                         } 28 Expression (variable name)
10684
;--     scale_rr *1
10685
;--     add_address serial_in_buffer
10686
        ADD     RR, #Cserial_in_buffer
10687
;;;                                                       } 27 Expr l[r]
10688
;--     content
10689
        MOVE    (RR), RU
10690
;;;                                                     } 26 Expr l[r]
10691
;--     store_rr_var ret = -1(FP), SP at -1
10692
        MOVE    R, 0(SP)
10693
;;;                                                   } 25 Expr l = r
10694
;;;                                                 } 24 ExpressionStatement
10695
;;;                                                 { 24 ExpressionStatement
10696 7 jsauermann
;;;                                                   { 25 Expr l(r)
10697
;;;                                                     { 26 TypeName
10698
;;;                                                       { 27 TypeSpecifier (all)
10699
;;;                                                         spec = void (10000)
10700
;;;                                                       } 27 TypeSpecifier (all)
10701
;;;                                                       { 27 List
10702
;;;                                                         { 28 DeclItem
10703
;;;                                                           what = DECL_NAME
10704
;;;                                                           name = V
10705
;;;                                                         } 28 DeclItem
10706
;;;                                                       } 27 List
10707
;;;                                                     } 26 TypeName
10708
;;;                                                     { 26 ParameterDeclaration
10709
;;;                                                       isEllipsis = false
10710
;;;                                                       { 27 TypeName
10711
;;;                                                         { 28 TypeSpecifier (struct/union)
10712
;;;                                                           spec = struct '_semaphore' (800000)
10713
;;;                                                           name = _semaphore
10714
;;;                                                         } 28 TypeSpecifier (struct/union)
10715
;;;                                                         { 28 List
10716
;;;                                                           { 29 DeclItem
10717
;;;                                                             what = DECL_POINTER
10718
;;;                                                             { 30 List
10719
;;;                                                               { 31 Ptr
10720
;;;                                                               } 31 Ptr
10721
;;;                                                             } 30 List
10722
;;;                                                           } 29 DeclItem
10723
;;;                                                           { 29 DeclItem
10724
;;;                                                             what = DECL_NAME
10725
;;;                                                             name = sema
10726
;;;                                                           } 29 DeclItem
10727
;;;                                                         } 28 List
10728
;;;                                                       } 27 TypeName
10729
;;;                                                     } 26 ParameterDeclaration
10730
;;;                                                     { 26 Expr & r
10731 2 jsauermann
;--     load_address rx_sema
10732
        MOVE    #Crx_sema, RR
10733 7 jsauermann
;;;                                                     } 26 Expr & r
10734 2 jsauermann
;--     push_rr (16 bit)
10735
        MOVE    RR, -(SP)
10736
;--     push 0 bytes
10737
;--     call
10738
        CALL    CV
10739
;--     pop 2 bytes
10740
        ADD     SP, #2
10741 7 jsauermann
;;;                                                   } 25 Expr l(r)
10742
;;;                                                 } 24 ExpressionStatement
10743
;;;                                                 { 24 return Statement
10744 10 jsauermann
;;;                                                   { 25 Expression (variable name)
10745
;;;                                                     expr_type = "identifier" (ret)
10746
;--     load_rr_var ret = -1(FP), SP at -1 (8 bit)
10747
        MOVE    0(SP), RS
10748
;;;                                                   } 25 Expression (variable name)
10749 2 jsauermann
;--     ret
10750 10 jsauermann
        ADD     SP, #1
10751 7 jsauermann
        RET
10752
;;;                                                 } 24 return Statement
10753
;;;                                               } 23 List
10754 10 jsauermann
;--     pop 1 bytes
10755
        ADD     SP, #1
10756 7 jsauermann
;;;                                             } 22 CompoundStatement
10757
;--     ret
10758 2 jsauermann
        RET
10759
;;; ------------------------------------;
10760 7 jsauermann
;;;                                             { 22 FunctionDefinition
10761
;;;                                               { 23 TypeName
10762
;;;                                                 { 24 TypeSpecifier (all)
10763
;;;                                                   spec = char (20000)
10764
;;;                                                 } 24 TypeSpecifier (all)
10765
;;;                                                 { 24 List
10766
;;;                                                   { 25 DeclItem
10767
;;;                                                     what = DECL_NAME
10768
;;;                                                     name = getnibble
10769
;;;                                                   } 25 DeclItem
10770
;;;                                                 } 24 List
10771
;;;                                               } 23 TypeName
10772
;;;                                               { 23 List
10773
;;;                                                 { 24 DeclItem
10774
;;;                                                   what = DECL_NAME
10775
;;;                                                   name = getnibble
10776
;;;                                                 } 24 DeclItem
10777
;;;                                                 { 24 DeclItem
10778
;;;                                                   what = DECL_FUN
10779
;;;                                                   { 25 List
10780
;;;                                                     { 26 ParameterDeclaration
10781
;;;                                                       isEllipsis = false
10782
;;;                                                       { 27 TypeName
10783
;;;                                                         { 28 TypeSpecifier (all)
10784
;;;                                                           spec = char (20000)
10785
;;;                                                         } 28 TypeSpecifier (all)
10786
;;;                                                         { 28 List
10787
;;;                                                           { 29 DeclItem
10788
;;;                                                             what = DECL_NAME
10789
;;;                                                             name = echo
10790
;;;                                                           } 29 DeclItem
10791
;;;                                                         } 28 List
10792
;;;                                                       } 27 TypeName
10793
;;;                                                     } 26 ParameterDeclaration
10794
;;;                                                   } 25 List
10795
;;;                                                 } 24 DeclItem
10796
;;;                                               } 23 List
10797 2 jsauermann
Cgetnibble:
10798 7 jsauermann
;;;                                               { 23 CompoundStatement
10799
;;;                                                 { 24 InitDeclarator
10800
;;;                                                   { 25 List
10801
;;;                                                     { 26 DeclItem
10802
;;;                                                       what = DECL_NAME
10803
;;;                                                       name = c
10804
;;;                                                     } 26 DeclItem
10805
;;;                                                   } 25 List
10806
;;;                                                   { 25 Initializer (skalar)
10807
;;;                                                     { 26 Expr l(r)
10808
;;;                                                       { 27 TypeName
10809
;;;                                                         { 28 TypeSpecifier (all)
10810 10 jsauermann
;;;                                                           spec = char (20000)
10811 7 jsauermann
;;;                                                         } 28 TypeSpecifier (all)
10812
;;;                                                         { 28 List
10813
;;;                                                           { 29 DeclItem
10814
;;;                                                             what = DECL_NAME
10815
;;;                                                             name = peekchr
10816
;;;                                                           } 29 DeclItem
10817
;;;                                                         } 28 List
10818
;;;                                                       } 27 TypeName
10819 10 jsauermann
;--     push 1 bytes
10820 2 jsauermann
;--     call
10821
        CALL    Cpeekchr
10822
;--     pop 0 bytes
10823 7 jsauermann
;;;                                                     } 26 Expr l(r)
10824 2 jsauermann
;--     push_rr (8 bit)
10825
        MOVE    R, -(SP)
10826 7 jsauermann
;;;                                                   } 25 Initializer (skalar)
10827
;;;                                                 } 24 InitDeclarator
10828
;;;                                                 { 24 InitDeclarator
10829
;;;                                                   { 25 List
10830
;;;                                                     { 26 DeclItem
10831
;;;                                                       what = DECL_NAME
10832
;;;                                                       name = ret
10833
;;;                                                     } 26 DeclItem
10834
;;;                                                   } 25 List
10835
;;;                                                   { 25 Initializer (skalar)
10836
;;;                                                     { 26 NumericExpression (constant 1 = 0x1)
10837 2 jsauermann
;--     load_rr_constant
10838
        MOVE    #0xFFFF, RR
10839 7 jsauermann
;;;                                                     } 26 NumericExpression (constant 1 = 0x1)
10840 2 jsauermann
;--     push_rr (16 bit)
10841
        MOVE    RR, -(SP)
10842 7 jsauermann
;;;                                                   } 25 Initializer (skalar)
10843
;;;                                                 } 24 InitDeclarator
10844
;;;                                                 { 24 List
10845
;;;                                                   { 25 IfElseStatement
10846
;;;                                                     { 26 Expr l && r
10847
;;;                                                       { 27 TypeName (internal)
10848
;;;                                                         { 28 TypeSpecifier (all)
10849
;;;                                                           spec = int (80000)
10850
;;;                                                         } 28 TypeSpecifier (all)
10851
;;;                                                       } 27 TypeName (internal)
10852
;;;                                                       { 27 IfElseStatement
10853
;;;                                                         { 28 Expr l >= r
10854
;;;                                                           { 29 TypeName (internal)
10855
;;;                                                             { 30 TypeSpecifier (all)
10856
;;;                                                               spec = int (80000)
10857
;;;                                                             } 30 TypeSpecifier (all)
10858
;;;                                                           } 29 TypeName (internal)
10859
;;;                                                           { 29 Expression (variable name)
10860
;;;                                                             expr_type = "identifier" (c)
10861 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
10862
        MOVE    2(SP), RS
10863 7 jsauermann
;;;                                                           } 29 Expression (variable name)
10864 2 jsauermann
;--     l >= r
10865
        SGE     RR, #0x0030
10866 7 jsauermann
;;;                                                         } 28 Expr l >= r
10867 2 jsauermann
;--     branch_false
10868
        JMP     RRZ, L24_endif_68
10869 7 jsauermann
;;;                                                         { 28 ExpressionStatement
10870
;;;                                                           { 29 Expr l <= r
10871
;;;                                                             { 30 TypeName (internal)
10872
;;;                                                               { 31 TypeSpecifier (all)
10873
;;;                                                                 spec = int (80000)
10874
;;;                                                               } 31 TypeSpecifier (all)
10875
;;;                                                             } 30 TypeName (internal)
10876
;;;                                                             { 30 Expression (variable name)
10877
;;;                                                               expr_type = "identifier" (c)
10878 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
10879
        MOVE    2(SP), RS
10880 7 jsauermann
;;;                                                             } 30 Expression (variable name)
10881 2 jsauermann
;--     l <= r
10882
        SLE     RR, #0x0039
10883 7 jsauermann
;;;                                                           } 29 Expr l <= r
10884
;;;                                                         } 28 ExpressionStatement
10885 2 jsauermann
L24_endif_68:
10886 7 jsauermann
;;;                                                       } 27 IfElseStatement
10887
;;;                                                     } 26 Expr l && r
10888 2 jsauermann
;--     branch_false
10889
        JMP     RRZ, L24_else_67
10890 7 jsauermann
;;;                                                     { 26 ExpressionStatement
10891
;;;                                                       { 27 Expr l = r
10892
;;;                                                         { 28 TypeName
10893
;;;                                                           { 29 TypeSpecifier (all)
10894
;;;                                                             spec = int (80000)
10895
;;;                                                           } 29 TypeSpecifier (all)
10896
;;;                                                           { 29 List
10897
;;;                                                             { 30 DeclItem
10898
;;;                                                               what = DECL_NAME
10899
;;;                                                               name = ret
10900
;;;                                                             } 30 DeclItem
10901
;;;                                                           } 29 List
10902
;;;                                                         } 28 TypeName
10903
;;;                                                         { 28 Expr l - r
10904
;;;                                                           { 29 Expression (variable name)
10905
;;;                                                             expr_type = "identifier" (c)
10906 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
10907
        MOVE    2(SP), RS
10908 7 jsauermann
;;;                                                           } 29 Expression (variable name)
10909 2 jsauermann
;--     l - r
10910
        SUB     RR, #0x0030
10911 7 jsauermann
;;;                                                         } 28 Expr l - r
10912 2 jsauermann
;--     store_rr_var ret = -3(FP), SP at -3
10913
        MOVE    RR, 0(SP)
10914 7 jsauermann
;;;                                                       } 27 Expr l = r
10915
;;;                                                     } 26 ExpressionStatement
10916 2 jsauermann
;--     branch
10917
        JMP     L24_endif_67
10918
L24_else_67:
10919 7 jsauermann
;;;                                                     { 26 IfElseStatement
10920
;;;                                                       { 27 Expr l && r
10921
;;;                                                         { 28 TypeName (internal)
10922
;;;                                                           { 29 TypeSpecifier (all)
10923
;;;                                                             spec = int (80000)
10924
;;;                                                           } 29 TypeSpecifier (all)
10925
;;;                                                         } 28 TypeName (internal)
10926
;;;                                                         { 28 IfElseStatement
10927
;;;                                                           { 29 Expr l >= r
10928
;;;                                                             { 30 TypeName (internal)
10929
;;;                                                               { 31 TypeSpecifier (all)
10930
;;;                                                                 spec = int (80000)
10931
;;;                                                               } 31 TypeSpecifier (all)
10932
;;;                                                             } 30 TypeName (internal)
10933
;;;                                                             { 30 Expression (variable name)
10934
;;;                                                               expr_type = "identifier" (c)
10935 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
10936
        MOVE    2(SP), RS
10937 7 jsauermann
;;;                                                             } 30 Expression (variable name)
10938 2 jsauermann
;--     l >= r
10939
        SGE     RR, #0x0041
10940 7 jsauermann
;;;                                                           } 29 Expr l >= r
10941 2 jsauermann
;--     branch_false
10942
        JMP     RRZ, L24_endif_70
10943 7 jsauermann
;;;                                                           { 29 ExpressionStatement
10944
;;;                                                             { 30 Expr l <= r
10945
;;;                                                               { 31 TypeName (internal)
10946
;;;                                                                 { 32 TypeSpecifier (all)
10947
;;;                                                                   spec = int (80000)
10948
;;;                                                                 } 32 TypeSpecifier (all)
10949
;;;                                                               } 31 TypeName (internal)
10950
;;;                                                               { 31 Expression (variable name)
10951
;;;                                                                 expr_type = "identifier" (c)
10952 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
10953
        MOVE    2(SP), RS
10954 7 jsauermann
;;;                                                               } 31 Expression (variable name)
10955 2 jsauermann
;--     l <= r
10956
        SLE     RR, #0x0046
10957 7 jsauermann
;;;                                                             } 30 Expr l <= r
10958
;;;                                                           } 29 ExpressionStatement
10959 2 jsauermann
L24_endif_70:
10960 7 jsauermann
;;;                                                         } 28 IfElseStatement
10961
;;;                                                       } 27 Expr l && r
10962 2 jsauermann
;--     branch_false
10963
        JMP     RRZ, L24_else_69
10964 7 jsauermann
;;;                                                       { 27 ExpressionStatement
10965
;;;                                                         { 28 Expr l = r
10966
;;;                                                           { 29 TypeName
10967
;;;                                                             { 30 TypeSpecifier (all)
10968
;;;                                                               spec = int (80000)
10969
;;;                                                             } 30 TypeSpecifier (all)
10970
;;;                                                             { 30 List
10971
;;;                                                               { 31 DeclItem
10972
;;;                                                                 what = DECL_NAME
10973
;;;                                                                 name = ret
10974
;;;                                                               } 31 DeclItem
10975
;;;                                                             } 30 List
10976
;;;                                                           } 29 TypeName
10977
;;;                                                           { 29 Expr l - r
10978
;;;                                                             { 30 Expression (variable name)
10979
;;;                                                               expr_type = "identifier" (c)
10980 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
10981
        MOVE    2(SP), RS
10982 7 jsauermann
;;;                                                             } 30 Expression (variable name)
10983 2 jsauermann
;--     l - r
10984
        SUB     RR, #0x0037
10985 7 jsauermann
;;;                                                           } 29 Expr l - r
10986 2 jsauermann
;--     store_rr_var ret = -3(FP), SP at -3
10987
        MOVE    RR, 0(SP)
10988 7 jsauermann
;;;                                                         } 28 Expr l = r
10989
;;;                                                       } 27 ExpressionStatement
10990 2 jsauermann
;--     branch
10991
        JMP     L24_endif_69
10992
L24_else_69:
10993 7 jsauermann
;;;                                                       { 27 IfElseStatement
10994
;;;                                                         { 28 Expr l && r
10995
;;;                                                           { 29 TypeName (internal)
10996
;;;                                                             { 30 TypeSpecifier (all)
10997
;;;                                                               spec = int (80000)
10998
;;;                                                             } 30 TypeSpecifier (all)
10999
;;;                                                           } 29 TypeName (internal)
11000
;;;                                                           { 29 IfElseStatement
11001
;;;                                                             { 30 Expr l >= r
11002
;;;                                                               { 31 TypeName (internal)
11003
;;;                                                                 { 32 TypeSpecifier (all)
11004
;;;                                                                   spec = int (80000)
11005
;;;                                                                 } 32 TypeSpecifier (all)
11006
;;;                                                               } 31 TypeName (internal)
11007
;;;                                                               { 31 Expression (variable name)
11008
;;;                                                                 expr_type = "identifier" (c)
11009 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
11010
        MOVE    2(SP), RS
11011 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11012 2 jsauermann
;--     l >= r
11013
        SGE     RR, #0x0061
11014 7 jsauermann
;;;                                                             } 30 Expr l >= r
11015 2 jsauermann
;--     branch_false
11016
        JMP     RRZ, L24_endif_72
11017 7 jsauermann
;;;                                                             { 30 ExpressionStatement
11018
;;;                                                               { 31 Expr l <= r
11019
;;;                                                                 { 32 TypeName (internal)
11020
;;;                                                                   { 33 TypeSpecifier (all)
11021
;;;                                                                     spec = int (80000)
11022
;;;                                                                   } 33 TypeSpecifier (all)
11023
;;;                                                                 } 32 TypeName (internal)
11024
;;;                                                                 { 32 Expression (variable name)
11025
;;;                                                                   expr_type = "identifier" (c)
11026 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
11027
        MOVE    2(SP), RS
11028 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
11029 2 jsauermann
;--     l <= r
11030
        SLE     RR, #0x0066
11031 7 jsauermann
;;;                                                               } 31 Expr l <= r
11032
;;;                                                             } 30 ExpressionStatement
11033 2 jsauermann
L24_endif_72:
11034 7 jsauermann
;;;                                                           } 29 IfElseStatement
11035
;;;                                                         } 28 Expr l && r
11036 2 jsauermann
;--     branch_false
11037
        JMP     RRZ, L24_endif_71
11038 7 jsauermann
;;;                                                         { 28 ExpressionStatement
11039
;;;                                                           { 29 Expr l = r
11040
;;;                                                             { 30 TypeName
11041
;;;                                                               { 31 TypeSpecifier (all)
11042
;;;                                                                 spec = int (80000)
11043
;;;                                                               } 31 TypeSpecifier (all)
11044
;;;                                                               { 31 List
11045
;;;                                                                 { 32 DeclItem
11046
;;;                                                                   what = DECL_NAME
11047
;;;                                                                   name = ret
11048
;;;                                                                 } 32 DeclItem
11049
;;;                                                               } 31 List
11050
;;;                                                             } 30 TypeName
11051
;;;                                                             { 30 Expr l - r
11052
;;;                                                               { 31 Expression (variable name)
11053
;;;                                                                 expr_type = "identifier" (c)
11054 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
11055
        MOVE    2(SP), RS
11056 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11057 2 jsauermann
;--     l - r
11058
        SUB     RR, #0x0057
11059 7 jsauermann
;;;                                                             } 30 Expr l - r
11060 2 jsauermann
;--     store_rr_var ret = -3(FP), SP at -3
11061
        MOVE    RR, 0(SP)
11062 7 jsauermann
;;;                                                           } 29 Expr l = r
11063
;;;                                                         } 28 ExpressionStatement
11064 2 jsauermann
L24_endif_71:
11065 7 jsauermann
;;;                                                       } 27 IfElseStatement
11066 2 jsauermann
L24_endif_69:
11067 7 jsauermann
;;;                                                     } 26 IfElseStatement
11068 2 jsauermann
L24_endif_67:
11069 7 jsauermann
;;;                                                   } 25 IfElseStatement
11070
;;;                                                   { 25 IfElseStatement
11071
;;;                                                     { 26 Expr l != r
11072
;;;                                                       { 27 TypeName (internal)
11073
;;;                                                         { 28 TypeSpecifier (all)
11074
;;;                                                           spec = int (80000)
11075
;;;                                                         } 28 TypeSpecifier (all)
11076
;;;                                                       } 27 TypeName (internal)
11077
;;;                                                       { 27 Expression (variable name)
11078
;;;                                                         expr_type = "identifier" (ret)
11079 2 jsauermann
;--     load_rr_var ret = -3(FP), SP at -3 (16 bit)
11080
        MOVE    0(SP), RR
11081 7 jsauermann
;;;                                                       } 27 Expression (variable name)
11082 2 jsauermann
;--     l != r
11083
        SNE     RR, #0xFFFF
11084 7 jsauermann
;;;                                                     } 26 Expr l != r
11085 2 jsauermann
;--     branch_false
11086
        JMP     RRZ, L24_endif_73
11087 7 jsauermann
;;;                                                     { 26 CompoundStatement
11088
;;;                                                       { 27 List
11089
;;;                                                         { 28 ExpressionStatement
11090
;;;                                                           { 29 Expr l(r)
11091
;;;                                                             { 30 TypeName
11092
;;;                                                               { 31 TypeSpecifier (all)
11093
;;;                                                                 spec = int (80000)
11094
;;;                                                               } 31 TypeSpecifier (all)
11095
;;;                                                               { 31 List
11096
;;;                                                                 { 32 DeclItem
11097
;;;                                                                   what = DECL_NAME
11098
;;;                                                                   name = getchr
11099
;;;                                                                 } 32 DeclItem
11100
;;;                                                               } 31 List
11101
;;;                                                             } 30 TypeName
11102 2 jsauermann
;--     push 2 bytes
11103
;--     call
11104
        CALL    Cgetchr
11105
;--     pop 0 bytes
11106 7 jsauermann
;;;                                                           } 29 Expr l(r)
11107
;;;                                                         } 28 ExpressionStatement
11108
;;;                                                         { 28 IfElseStatement
11109
;;;                                                           { 29 Expression (variable name)
11110
;;;                                                             expr_type = "identifier" (echo)
11111 2 jsauermann
;--     load_rr_var echo = 2(FP), SP at -3 (8 bit)
11112
        MOVE    5(SP), RS
11113 7 jsauermann
;;;                                                           } 29 Expression (variable name)
11114 2 jsauermann
;--     branch_false
11115
        JMP     RRZ, L24_endif_74
11116 7 jsauermann
;;;                                                           { 29 ExpressionStatement
11117
;;;                                                             { 30 Expr l(r)
11118
;;;                                                               { 31 TypeName
11119
;;;                                                                 { 32 TypeSpecifier (all)
11120
;;;                                                                   spec = int (80000)
11121
;;;                                                                 } 32 TypeSpecifier (all)
11122
;;;                                                                 { 32 List
11123
;;;                                                                   { 33 DeclItem
11124
;;;                                                                     what = DECL_NAME
11125
;;;                                                                     name = putchr
11126
;;;                                                                   } 33 DeclItem
11127
;;;                                                                 } 32 List
11128
;;;                                                               } 31 TypeName
11129
;;;                                                               { 31 ParameterDeclaration
11130
;;;                                                                 isEllipsis = false
11131
;;;                                                                 { 32 TypeName
11132
;;;                                                                   { 33 TypeSpecifier (all)
11133
;;;                                                                     spec = char (20000)
11134
;;;                                                                   } 33 TypeSpecifier (all)
11135
;;;                                                                   { 33 List
11136
;;;                                                                     { 34 DeclItem
11137
;;;                                                                       what = DECL_NAME
11138
;;;                                                                       name = c
11139
;;;                                                                     } 34 DeclItem
11140
;;;                                                                   } 33 List
11141
;;;                                                                 } 32 TypeName
11142
;;;                                                               } 31 ParameterDeclaration
11143
;;;                                                               { 31 Expression (variable name)
11144
;;;                                                                 expr_type = "identifier" (c)
11145 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -3 (8 bit)
11146
        MOVE    2(SP), RS
11147 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11148 2 jsauermann
;--     push_rr (8 bit)
11149
        MOVE    R, -(SP)
11150
;--     push 2 bytes
11151
;--     call
11152
        CALL    Cputchr
11153
;--     pop 1 bytes
11154
        ADD     SP, #1
11155 7 jsauermann
;;;                                                             } 30 Expr l(r)
11156
;;;                                                           } 29 ExpressionStatement
11157 2 jsauermann
L24_endif_74:
11158 7 jsauermann
;;;                                                         } 28 IfElseStatement
11159
;;;                                                       } 27 List
11160
;--     pop 0 bytes
11161
;;;                                                     } 26 CompoundStatement
11162 2 jsauermann
L24_endif_73:
11163 7 jsauermann
;;;                                                   } 25 IfElseStatement
11164
;;;                                                   { 25 return Statement
11165
;;;                                                     { 26 Expression (variable name)
11166
;;;                                                       expr_type = "identifier" (ret)
11167 2 jsauermann
;--     load_rr_var ret = -3(FP), SP at -3 (16 bit)
11168
        MOVE    0(SP), RR
11169 7 jsauermann
;;;                                                     } 26 Expression (variable name)
11170 2 jsauermann
;--     ret
11171 7 jsauermann
        ADD     SP, #3
11172
        RET
11173
;;;                                                   } 25 return Statement
11174
;;;                                                 } 24 List
11175 2 jsauermann
;--     pop 3 bytes
11176
        ADD     SP, #3
11177 7 jsauermann
;;;                                               } 23 CompoundStatement
11178
;--     ret
11179 2 jsauermann
        RET
11180
;;; ------------------------------------;
11181 7 jsauermann
;;;                                               { 23 FunctionDefinition
11182
;;;                                                 { 24 TypeName
11183
;;;                                                   { 25 TypeSpecifier (all)
11184
;;;                                                     spec = int (80000)
11185
;;;                                                   } 25 TypeSpecifier (all)
11186
;;;                                                   { 25 List
11187
;;;                                                     { 26 DeclItem
11188
;;;                                                       what = DECL_NAME
11189
;;;                                                       name = gethex
11190
;;;                                                     } 26 DeclItem
11191
;;;                                                   } 25 List
11192
;;;                                                 } 24 TypeName
11193
;;;                                                 { 24 List
11194
;;;                                                   { 25 DeclItem
11195
;;;                                                     what = DECL_NAME
11196
;;;                                                     name = gethex
11197
;;;                                                   } 25 DeclItem
11198
;;;                                                   { 25 DeclItem
11199
;;;                                                     what = DECL_FUN
11200
;;;                                                     { 26 List
11201
;;;                                                       { 27 ParameterDeclaration
11202
;;;                                                         isEllipsis = false
11203
;;;                                                         { 28 TypeName
11204
;;;                                                           { 29 TypeSpecifier (all)
11205
;;;                                                             spec = char (20000)
11206
;;;                                                           } 29 TypeSpecifier (all)
11207
;;;                                                           { 29 List
11208
;;;                                                             { 30 DeclItem
11209
;;;                                                               what = DECL_NAME
11210
;;;                                                               name = echo
11211
;;;                                                             } 30 DeclItem
11212
;;;                                                           } 29 List
11213
;;;                                                         } 28 TypeName
11214
;;;                                                       } 27 ParameterDeclaration
11215
;;;                                                     } 26 List
11216
;;;                                                   } 25 DeclItem
11217
;;;                                                 } 24 List
11218 2 jsauermann
Cgethex:
11219 7 jsauermann
;;;                                                 { 24 CompoundStatement
11220
;;;                                                   { 25 InitDeclarator
11221
;;;                                                     { 26 List
11222
;;;                                                       { 27 DeclItem
11223
;;;                                                         what = DECL_NAME
11224
;;;                                                         name = ret
11225
;;;                                                       } 27 DeclItem
11226
;;;                                                     } 26 List
11227
;;;                                                     { 26 Initializer (skalar)
11228 2 jsauermann
;--     push_zero 2 bytes
11229
        CLRW    -(SP)
11230 7 jsauermann
;;;                                                     } 26 Initializer (skalar)
11231
;;;                                                   } 25 InitDeclarator
11232
;;;                                                   { 25 InitDeclarator
11233
;;;                                                     { 26 List
11234
;;;                                                       { 27 DeclItem
11235
;;;                                                         what = DECL_NAME
11236
;;;                                                         name = c
11237
;;;                                                       } 27 DeclItem
11238
;;;                                                     } 26 List
11239 2 jsauermann
;--     push_zero 1 bytes
11240
        CLRB    -(SP)
11241 7 jsauermann
;;;                                                   } 25 InitDeclarator
11242
;;;                                                   { 25 List
11243
;;;                                                     { 26 while Statement
11244 2 jsauermann
;--     branch
11245
        JMP     L25_cont_75
11246
L25_loop_75:
11247 7 jsauermann
;;;                                                       { 27 ExpressionStatement
11248
;;;                                                         { 28 Expr l = r
11249
;;;                                                           { 29 TypeName
11250
;;;                                                             { 30 TypeSpecifier (all)
11251
;;;                                                               spec = int (80000)
11252
;;;                                                             } 30 TypeSpecifier (all)
11253
;;;                                                             { 30 List
11254
;;;                                                               { 31 DeclItem
11255
;;;                                                                 what = DECL_NAME
11256
;;;                                                                 name = ret
11257
;;;                                                               } 31 DeclItem
11258
;;;                                                             } 30 List
11259
;;;                                                           } 29 TypeName
11260
;;;                                                           { 29 Expr l | r
11261
;;;                                                             { 30 TypeName (internal)
11262
;;;                                                               { 31 TypeSpecifier (all)
11263
;;;                                                                 spec = int (80000)
11264
;;;                                                               } 31 TypeSpecifier (all)
11265
;;;                                                             } 30 TypeName (internal)
11266
;;;                                                             { 30 Expr l << r
11267
;;;                                                               { 31 TypeName (internal)
11268
;;;                                                                 { 32 TypeSpecifier (all)
11269
;;;                                                                   spec = int (80000)
11270
;;;                                                                 } 32 TypeSpecifier (all)
11271
;;;                                                               } 31 TypeName (internal)
11272
;;;                                                               { 31 Expression (variable name)
11273
;;;                                                                 expr_type = "identifier" (ret)
11274 2 jsauermann
;--     load_rr_var ret = -2(FP), SP at -3 (16 bit)
11275
        MOVE    1(SP), RR
11276 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11277 2 jsauermann
;--     l << r
11278
        LSL     RR, #0x0004
11279 7 jsauermann
;;;                                                             } 30 Expr l << r
11280 2 jsauermann
;--     move_rr_to_ll
11281
        MOVE    RR, LL
11282 7 jsauermann
;;;                                                             { 30 Expression (variable name)
11283
;;;                                                               expr_type = "identifier" (c)
11284 2 jsauermann
;--     load_rr_var c = -3(FP), SP at -3 (8 bit)
11285
        MOVE    0(SP), RS
11286 7 jsauermann
;;;                                                             } 30 Expression (variable name)
11287 2 jsauermann
;--     l | r
11288
        OR      LL, RR
11289 7 jsauermann
;;;                                                           } 29 Expr l | r
11290 2 jsauermann
;--     store_rr_var ret = -2(FP), SP at -3
11291
        MOVE    RR, 1(SP)
11292 7 jsauermann
;;;                                                         } 28 Expr l = r
11293
;;;                                                       } 27 ExpressionStatement
11294 2 jsauermann
L25_cont_75:
11295 7 jsauermann
;;;                                                       { 27 Expr l != r
11296
;;;                                                         { 28 TypeName (internal)
11297
;;;                                                           { 29 TypeSpecifier (all)
11298
;;;                                                             spec = int (80000)
11299
;;;                                                           } 29 TypeSpecifier (all)
11300
;;;                                                         } 28 TypeName (internal)
11301
;;;                                                         { 28 Expr l = r
11302
;;;                                                           { 29 TypeName
11303
;;;                                                             { 30 TypeSpecifier (all)
11304
;;;                                                               spec = char (20000)
11305
;;;                                                             } 30 TypeSpecifier (all)
11306
;;;                                                             { 30 List
11307
;;;                                                               { 31 DeclItem
11308
;;;                                                                 what = DECL_NAME
11309
;;;                                                                 name = c
11310
;;;                                                               } 31 DeclItem
11311
;;;                                                             } 30 List
11312
;;;                                                           } 29 TypeName
11313
;;;                                                           { 29 Expr l(r)
11314
;;;                                                             { 30 TypeName
11315
;;;                                                               { 31 TypeSpecifier (all)
11316
;;;                                                                 spec = char (20000)
11317
;;;                                                               } 31 TypeSpecifier (all)
11318
;;;                                                               { 31 List
11319
;;;                                                                 { 32 DeclItem
11320
;;;                                                                   what = DECL_NAME
11321
;;;                                                                   name = getnibble
11322
;;;                                                                 } 32 DeclItem
11323
;;;                                                               } 31 List
11324
;;;                                                             } 30 TypeName
11325
;;;                                                             { 30 ParameterDeclaration
11326
;;;                                                               isEllipsis = false
11327
;;;                                                               { 31 TypeName
11328
;;;                                                                 { 32 TypeSpecifier (all)
11329
;;;                                                                   spec = char (20000)
11330
;;;                                                                 } 32 TypeSpecifier (all)
11331
;;;                                                                 { 32 List
11332
;;;                                                                   { 33 DeclItem
11333
;;;                                                                     what = DECL_NAME
11334
;;;                                                                     name = echo
11335
;;;                                                                   } 33 DeclItem
11336
;;;                                                                 } 32 List
11337
;;;                                                               } 31 TypeName
11338
;;;                                                             } 30 ParameterDeclaration
11339
;;;                                                             { 30 Expression (variable name)
11340
;;;                                                               expr_type = "identifier" (echo)
11341 2 jsauermann
;--     load_rr_var echo = 2(FP), SP at -3 (8 bit)
11342
        MOVE    5(SP), RS
11343 7 jsauermann
;;;                                                             } 30 Expression (variable name)
11344 2 jsauermann
;--     push_rr (8 bit)
11345
        MOVE    R, -(SP)
11346
;--     push 1 bytes
11347
;--     call
11348
        CALL    Cgetnibble
11349
;--     pop 1 bytes
11350
        ADD     SP, #1
11351 7 jsauermann
;;;                                                           } 29 Expr l(r)
11352 2 jsauermann
;--     store_rr_var c = -3(FP), SP at -3
11353
        MOVE    R, 0(SP)
11354 7 jsauermann
;;;                                                         } 28 Expr l = r
11355 2 jsauermann
;--     l != r
11356
        SNE     RR, #0xFFFF
11357 7 jsauermann
;;;                                                       } 27 Expr l != r
11358 2 jsauermann
;--     branch_true
11359
        JMP     RRNZ, L25_loop_75
11360
L25_brk_76:
11361 7 jsauermann
;;;                                                     } 26 while Statement
11362
;;;                                                     { 26 return Statement
11363
;;;                                                       { 27 Expression (variable name)
11364
;;;                                                         expr_type = "identifier" (ret)
11365 2 jsauermann
;--     load_rr_var ret = -2(FP), SP at -3 (16 bit)
11366
        MOVE    1(SP), RR
11367 7 jsauermann
;;;                                                       } 27 Expression (variable name)
11368 2 jsauermann
;--     ret
11369 7 jsauermann
        ADD     SP, #3
11370
        RET
11371
;;;                                                     } 26 return Statement
11372
;;;                                                   } 25 List
11373 2 jsauermann
;--     pop 3 bytes
11374
        ADD     SP, #3
11375 7 jsauermann
;;;                                                 } 24 CompoundStatement
11376
;--     ret
11377 2 jsauermann
        RET
11378
;;; ------------------------------------;
11379 7 jsauermann
;;;                                                 { 24 FunctionDefinition
11380
;;;                                                   { 25 TypeName
11381
;;;                                                     { 26 TypeSpecifier (all)
11382
;;;                                                       spec = void (10000)
11383
;;;                                                     } 26 TypeSpecifier (all)
11384
;;;                                                     { 26 List
11385
;;;                                                       { 27 DeclItem
11386
;;;                                                         what = DECL_NAME
11387
;;;                                                         name = init_stack
11388
;;;                                                       } 27 DeclItem
11389
;;;                                                     } 26 List
11390
;;;                                                   } 25 TypeName
11391
;;;                                                   { 25 List
11392
;;;                                                     { 26 DeclItem
11393
;;;                                                       what = DECL_NAME
11394
;;;                                                       name = init_stack
11395
;;;                                                     } 26 DeclItem
11396
;;;                                                     { 26 DeclItem
11397
;;;                                                       what = DECL_FUN
11398
;;;                                                     } 26 DeclItem
11399
;;;                                                   } 25 List
11400 2 jsauermann
Cinit_stack:
11401 7 jsauermann
;;;                                                   { 25 CompoundStatement
11402
;;;                                                     { 26 InitDeclarator
11403
;;;                                                       { 27 List
11404
;;;                                                         { 28 DeclItem
11405
;;;                                                           what = DECL_POINTER
11406
;;;                                                           { 29 List
11407
;;;                                                             { 30 Ptr
11408
;;;                                                             } 30 Ptr
11409
;;;                                                           } 29 List
11410
;;;                                                         } 28 DeclItem
11411
;;;                                                         { 28 DeclItem
11412
;;;                                                           what = DECL_NAME
11413
;;;                                                           name = bottom
11414
;;;                                                         } 28 DeclItem
11415
;;;                                                       } 27 List
11416
;;;                                                       { 27 Initializer (skalar)
11417
;;;                                                         { 28 Expr * r
11418
;;;                                                           { 29 Expression (variable name)
11419
;;;                                                             expr_type = "identifier" (current_task)
11420 2 jsauermann
;--     load_rr_var current_task, (16 bit)
11421
        MOVE    (Ccurrent_task), RR
11422 7 jsauermann
;;;                                                           } 29 Expression (variable name)
11423
;;;                                                         } 28 Expr * r
11424 2 jsauermann
;--     + (member)
11425
        ADD     RR, #0x0008
11426
;--     content
11427
        MOVE    (RR), RR
11428
;--     push_rr (16 bit)
11429
        MOVE    RR, -(SP)
11430 7 jsauermann
;;;                                                       } 27 Initializer (skalar)
11431
;;;                                                     } 26 InitDeclarator
11432
;;;                                                     { 26 List
11433
;;;                                                       { 27 while Statement
11434 2 jsauermann
;--     branch
11435
        JMP     L26_cont_77
11436
L26_loop_77:
11437 7 jsauermann
;;;                                                         { 28 ExpressionStatement
11438
;;;                                                           { 29 Expr l = r
11439
;;;                                                             { 30 TypeName
11440
;;;                                                               { 31 TypeSpecifier (all)
11441
;;;                                                                 spec = char (20000)
11442
;;;                                                               } 31 TypeSpecifier (all)
11443
;;;                                                               { 31 List
11444
;;;                                                                 { 32 DeclItem
11445
;;;                                                                   what = DECL_NAME
11446
;;;                                                                   name = bottom
11447
;;;                                                                 } 32 DeclItem
11448
;;;                                                               } 31 List
11449
;;;                                                             } 30 TypeName
11450
;;;                                                             { 30 NumericExpression (constant 83 = 0x53)
11451 2 jsauermann
;--     load_rr_constant
11452
        MOVE    #0x0053, RR
11453 7 jsauermann
;;;                                                             } 30 NumericExpression (constant 83 = 0x53)
11454 2 jsauermann
;--     push_rr (8 bit)
11455
        MOVE    R, -(SP)
11456 7 jsauermann
;;;                                                             { 30 Expr * r
11457
;;;                                                               { 31 Expr l - r
11458
;;;                                                                 { 32 Expr ++r
11459
;;;                                                                   { 33 Expression (variable name)
11460
;;;                                                                     expr_type = "identifier" (bottom)
11461 2 jsauermann
;--     load_rr_var bottom = -2(FP), SP at -3 (16 bit)
11462
        MOVE    1(SP), RR
11463 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
11464 2 jsauermann
;--     ++
11465
        ADD     RR, #0x0001
11466
;--     store_rr_var bottom = -2(FP), SP at -3
11467
        MOVE    RR, 1(SP)
11468 7 jsauermann
;;;                                                                 } 32 Expr ++r
11469 2 jsauermann
;--     l - r
11470
        SUB     RR, #0x0001
11471 7 jsauermann
;;;                                                               } 31 Expr l - r
11472
;;;                                                             } 30 Expr * r
11473 2 jsauermann
;--     move_rr_to_ll
11474
        MOVE    RR, LL
11475
;--     pop_rr (8 bit)
11476
        MOVE    (SP)+, RS
11477
;--     assign (8 bit)
11478
        MOVE    R, (LL)
11479 7 jsauermann
;;;                                                           } 29 Expr l = r
11480
;;;                                                         } 28 ExpressionStatement
11481 2 jsauermann
L26_cont_77:
11482 7 jsauermann
;;;                                                         { 28 Expr l < r
11483
;;;                                                           { 29 TypeName
11484
;;;                                                             { 30 TypeSpecifier (all)
11485
;;;                                                               spec = char (20000)
11486
;;;                                                             } 30 TypeSpecifier (all)
11487
;;;                                                             { 30 List
11488
;;;                                                               { 31 DeclItem
11489
;;;                                                                 what = DECL_POINTER
11490
;;;                                                                 { 32 List
11491
;;;                                                                   { 33 Ptr
11492
;;;                                                                   } 33 Ptr
11493
;;;                                                                 } 32 List
11494
;;;                                                               } 31 DeclItem
11495
;;;                                                               { 31 DeclItem
11496
;;;                                                                 what = DECL_NAME
11497
;;;                                                                 name = bottom
11498
;;;                                                               } 31 DeclItem
11499
;;;                                                             } 30 List
11500
;;;                                                           } 29 TypeName
11501
;;;                                                           { 29 Expression (cast)r
11502 2 jsauermann
        LEA 0(SP), RR
11503 7 jsauermann
;;;                                                           } 29 Expression (cast)r
11504
;;;                                                           { 29 Expression (variable name)
11505
;;;                                                             expr_type = "identifier" (bottom)
11506 2 jsauermann
;--     load_ll_var bottom = -2(FP), SP at -2 (16 bit)
11507
        MOVE    0(SP), LL
11508 7 jsauermann
;;;                                                           } 29 Expression (variable name)
11509 2 jsauermann
;--     l < r
11510
        SLO     LL, RR
11511 7 jsauermann
;;;                                                         } 28 Expr l < r
11512 2 jsauermann
;--     branch_true
11513
        JMP     RRNZ, L26_loop_77
11514
L26_brk_78:
11515 7 jsauermann
;;;                                                       } 27 while Statement
11516
;;;                                                     } 26 List
11517 2 jsauermann
;--     pop 2 bytes
11518
        ADD     SP, #2
11519 7 jsauermann
;;;                                                   } 25 CompoundStatement
11520
;--     ret
11521 2 jsauermann
        RET
11522
;;; ------------------------------------;
11523 7 jsauermann
;;;                                                   { 25 Declaration
11524
;;;                                                     { 26 TypeSpecifier (all)
11525
;;;                                                       spec = extern char (20002)
11526
;;;                                                     } 26 TypeSpecifier (all)
11527 2 jsauermann
        .EXTERN Cend_text
11528 7 jsauermann
;;;                                                   } 25 Declaration
11529 2 jsauermann
;;; ------------------------------------;
11530 7 jsauermann
;;;                                                   { 25 FunctionDefinition
11531
;;;                                                     { 26 TypeName
11532
;;;                                                       { 27 TypeSpecifier (all)
11533
;;;                                                         spec = void (10000)
11534
;;;                                                       } 27 TypeSpecifier (all)
11535
;;;                                                       { 27 List
11536
;;;                                                         { 28 DeclItem
11537
;;;                                                           what = DECL_NAME
11538
;;;                                                           name = init_unused
11539
;;;                                                         } 28 DeclItem
11540
;;;                                                       } 27 List
11541
;;;                                                     } 26 TypeName
11542
;;;                                                     { 26 List
11543
;;;                                                       { 27 DeclItem
11544
;;;                                                         what = DECL_NAME
11545
;;;                                                         name = init_unused
11546
;;;                                                       } 27 DeclItem
11547
;;;                                                       { 27 DeclItem
11548
;;;                                                         what = DECL_FUN
11549
;;;                                                       } 27 DeclItem
11550
;;;                                                     } 26 List
11551 2 jsauermann
Cinit_unused:
11552 7 jsauermann
;;;                                                     { 26 CompoundStatement
11553
;;;                                                       { 27 InitDeclarator
11554
;;;                                                         { 28 List
11555
;;;                                                           { 29 DeclItem
11556
;;;                                                             what = DECL_POINTER
11557
;;;                                                             { 30 List
11558
;;;                                                               { 31 Ptr
11559
;;;                                                               } 31 Ptr
11560
;;;                                                             } 30 List
11561
;;;                                                           } 29 DeclItem
11562
;;;                                                           { 29 DeclItem
11563
;;;                                                             what = DECL_NAME
11564
;;;                                                             name = cp
11565
;;;                                                           } 29 DeclItem
11566
;;;                                                         } 28 List
11567
;;;                                                         { 28 Initializer (skalar)
11568
;;;                                                           { 29 Expr * r
11569
;;;                                                             { 30 Expression (variable name)
11570
;;;                                                               expr_type = "identifier" (current_task)
11571 2 jsauermann
;--     load_rr_var current_task, (16 bit)
11572
        MOVE    (Ccurrent_task), RR
11573 7 jsauermann
;;;                                                             } 30 Expression (variable name)
11574
;;;                                                           } 29 Expr * r
11575 2 jsauermann
;--     + (member)
11576
        ADD     RR, #0x0008
11577
;--     content
11578
        MOVE    (RR), RR
11579
;--     push_rr (16 bit)
11580
        MOVE    RR, -(SP)
11581 7 jsauermann
;;;                                                         } 28 Initializer (skalar)
11582
;;;                                                       } 27 InitDeclarator
11583
;;;                                                       { 27 List
11584
;;;                                                         { 28 while Statement
11585 2 jsauermann
;--     branch
11586
        JMP     L27_cont_79
11587
L27_loop_79:
11588 7 jsauermann
;;;                                                           { 29 ExpressionStatement
11589
;;;                                                             { 30 Expr l = r
11590
;;;                                                               { 31 TypeName
11591
;;;                                                                 { 32 TypeSpecifier (all)
11592
;;;                                                                   spec = char (20000)
11593
;;;                                                                 } 32 TypeSpecifier (all)
11594
;;;                                                                 { 32 List
11595
;;;                                                                   { 33 DeclItem
11596
;;;                                                                     what = DECL_NAME
11597
;;;                                                                     name = cp
11598
;;;                                                                   } 33 DeclItem
11599
;;;                                                                 } 32 List
11600
;;;                                                               } 31 TypeName
11601
;;;                                                               { 31 NumericExpression (constant 32 = 0x20)
11602 2 jsauermann
;--     load_rr_constant
11603
        MOVE    #0x0020, RR
11604 7 jsauermann
;;;                                                               } 31 NumericExpression (constant 32 = 0x20)
11605 2 jsauermann
;--     push_rr (8 bit)
11606
        MOVE    R, -(SP)
11607 7 jsauermann
;;;                                                               { 31 Expr * r
11608
;;;                                                                 { 32 Expression (variable name)
11609
;;;                                                                   expr_type = "identifier" (cp)
11610 2 jsauermann
;--     load_rr_var cp = -2(FP), SP at -3 (16 bit)
11611
        MOVE    1(SP), RR
11612 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
11613
;;;                                                               } 31 Expr * r
11614 2 jsauermann
;--     move_rr_to_ll
11615
        MOVE    RR, LL
11616
;--     pop_rr (8 bit)
11617
        MOVE    (SP)+, RS
11618
;--     assign (8 bit)
11619
        MOVE    R, (LL)
11620 7 jsauermann
;;;                                                             } 30 Expr l = r
11621
;;;                                                           } 29 ExpressionStatement
11622 2 jsauermann
L27_cont_79:
11623 7 jsauermann
;;;                                                           { 29 Expr l >= r
11624
;;;                                                             { 30 TypeName
11625
;;;                                                               { 31 TypeSpecifier (all)
11626
;;;                                                                 spec = char (20000)
11627
;;;                                                               } 31 TypeSpecifier (all)
11628
;;;                                                               { 31 List
11629
;;;                                                                 { 32 DeclItem
11630
;;;                                                                   what = DECL_POINTER
11631
;;;                                                                   { 33 List
11632
;;;                                                                     { 34 Ptr
11633
;;;                                                                     } 34 Ptr
11634
;;;                                                                   } 33 List
11635
;;;                                                                 } 32 DeclItem
11636
;;;                                                                 { 32 DeclItem
11637
;;;                                                                   what = DECL_NAME
11638
;;;                                                                   name = cp
11639
;;;                                                                 } 32 DeclItem
11640
;;;                                                               } 31 List
11641
;;;                                                             } 30 TypeName
11642
;;;                                                             { 30 Expr --r
11643
;;;                                                               { 31 Expression (variable name)
11644
;;;                                                                 expr_type = "identifier" (cp)
11645 2 jsauermann
;--     load_rr_var cp = -2(FP), SP at -2 (16 bit)
11646
        MOVE    0(SP), RR
11647 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11648 2 jsauermann
;--     --
11649
        SUB     RR, #0x0001
11650
;--     store_rr_var cp = -2(FP), SP at -2
11651
        MOVE    RR, 0(SP)
11652 7 jsauermann
;;;                                                             } 30 Expr --r
11653 2 jsauermann
;--     push_rr (16 bit)
11654
        MOVE    RR, -(SP)
11655 7 jsauermann
;;;                                                             { 30 Expression (cast)r
11656
;;;                                                               { 31 Expr & r
11657 2 jsauermann
;--     load_address end_text
11658
        MOVE    #Cend_text, RR
11659 7 jsauermann
;;;                                                               } 31 Expr & r
11660
;;;                                                             } 30 Expression (cast)r
11661 2 jsauermann
;--     pop_ll (16 bit)
11662
        MOVE    (SP)+, LL
11663
;--     l >= r
11664
        SHS     LL, RR
11665 7 jsauermann
;;;                                                           } 29 Expr l >= r
11666 2 jsauermann
;--     branch_true
11667
        JMP     RRNZ, L27_loop_79
11668
L27_brk_80:
11669 7 jsauermann
;;;                                                         } 28 while Statement
11670
;;;                                                       } 27 List
11671 2 jsauermann
;--     pop 2 bytes
11672
        ADD     SP, #2
11673 7 jsauermann
;;;                                                     } 26 CompoundStatement
11674
;--     ret
11675 2 jsauermann
        RET
11676
;;; ------------------------------------;
11677 7 jsauermann
;;;                                                     { 26 FunctionDefinition
11678
;;;                                                       { 27 TypeName
11679
;;;                                                         { 28 TypeSpecifier (all)
11680
;;;                                                           spec = int (80000)
11681
;;;                                                         } 28 TypeSpecifier (all)
11682
;;;                                                         { 28 List
11683
;;;                                                           { 29 DeclItem
11684
;;;                                                             what = DECL_NAME
11685
;;;                                                             name = stack_used
11686
;;;                                                           } 29 DeclItem
11687
;;;                                                         } 28 List
11688
;;;                                                       } 27 TypeName
11689
;;;                                                       { 27 List
11690
;;;                                                         { 28 DeclItem
11691
;;;                                                           what = DECL_NAME
11692
;;;                                                           name = stack_used
11693
;;;                                                         } 28 DeclItem
11694
;;;                                                         { 28 DeclItem
11695
;;;                                                           what = DECL_FUN
11696
;;;                                                           { 29 List
11697
;;;                                                             { 30 ParameterDeclaration
11698
;;;                                                               isEllipsis = false
11699
;;;                                                               { 31 TypeName
11700
;;;                                                                 { 32 TypeSpecifier (struct/union)
11701
;;;                                                                   spec = struct '_task' (800000)
11702
;;;                                                                   name = _task
11703
;;;                                                                 } 32 TypeSpecifier (struct/union)
11704
;;;                                                                 { 32 List
11705
;;;                                                                   { 33 DeclItem
11706
;;;                                                                     what = DECL_POINTER
11707
;;;                                                                     { 34 List
11708
;;;                                                                       { 35 Ptr
11709
;;;                                                                       } 35 Ptr
11710
;;;                                                                     } 34 List
11711
;;;                                                                   } 33 DeclItem
11712
;;;                                                                   { 33 DeclItem
11713
;;;                                                                     what = DECL_NAME
11714
;;;                                                                     name = t
11715
;;;                                                                   } 33 DeclItem
11716
;;;                                                                 } 32 List
11717
;;;                                                               } 31 TypeName
11718
;;;                                                             } 30 ParameterDeclaration
11719
;;;                                                           } 29 List
11720
;;;                                                         } 28 DeclItem
11721
;;;                                                       } 27 List
11722 2 jsauermann
Cstack_used:
11723 7 jsauermann
;;;                                                       { 27 CompoundStatement
11724
;;;                                                         { 28 InitDeclarator
11725
;;;                                                           { 29 List
11726
;;;                                                             { 30 DeclItem
11727
;;;                                                               what = DECL_POINTER
11728
;;;                                                               { 31 List
11729
;;;                                                                 { 32 Ptr
11730
;;;                                                                 } 32 Ptr
11731
;;;                                                               } 31 List
11732
;;;                                                             } 30 DeclItem
11733
;;;                                                             { 30 DeclItem
11734
;;;                                                               what = DECL_NAME
11735
;;;                                                               name = bottom
11736
;;;                                                             } 30 DeclItem
11737
;;;                                                           } 29 List
11738
;;;                                                           { 29 Initializer (skalar)
11739
;;;                                                             { 30 Expr * r
11740
;;;                                                               { 31 Expression (variable name)
11741
;;;                                                                 expr_type = "identifier" (t)
11742 2 jsauermann
;--     load_rr_var t = 2(FP), SP at 0 (16 bit)
11743
        MOVE    2(SP), RR
11744 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11745
;;;                                                             } 30 Expr * r
11746 2 jsauermann
;--     + (member)
11747
        ADD     RR, #0x0008
11748
;--     content
11749
        MOVE    (RR), RR
11750
;--     push_rr (16 bit)
11751
        MOVE    RR, -(SP)
11752 7 jsauermann
;;;                                                           } 29 Initializer (skalar)
11753
;;;                                                         } 28 InitDeclarator
11754
;;;                                                         { 28 List
11755
;;;                                                           { 29 while Statement
11756 2 jsauermann
;--     branch
11757
        JMP     L28_cont_81
11758
L28_loop_81:
11759 7 jsauermann
;;;                                                             { 30 ExpressionStatement
11760
;;;                                                               { 31 Expr l - r
11761
;;;                                                                 { 32 Expr ++r
11762
;;;                                                                   { 33 Expression (variable name)
11763
;;;                                                                     expr_type = "identifier" (bottom)
11764 2 jsauermann
;--     load_rr_var bottom = -2(FP), SP at -2 (16 bit)
11765
        MOVE    0(SP), RR
11766 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
11767 2 jsauermann
;--     ++
11768
        ADD     RR, #0x0001
11769
;--     store_rr_var bottom = -2(FP), SP at -2
11770
        MOVE    RR, 0(SP)
11771 7 jsauermann
;;;                                                                 } 32 Expr ++r
11772 2 jsauermann
;--     l - r
11773
        SUB     RR, #0x0001
11774 7 jsauermann
;;;                                                               } 31 Expr l - r
11775
;;;                                                             } 30 ExpressionStatement
11776 2 jsauermann
L28_cont_81:
11777 7 jsauermann
;;;                                                             { 30 Expr l == r
11778
;;;                                                               { 31 TypeName (internal)
11779
;;;                                                                 { 32 TypeSpecifier (all)
11780
;;;                                                                   spec = int (80000)
11781
;;;                                                                 } 32 TypeSpecifier (all)
11782
;;;                                                               } 31 TypeName (internal)
11783
;;;                                                               { 31 Expr * r
11784
;;;                                                                 { 32 Expression (variable name)
11785
;;;                                                                   expr_type = "identifier" (bottom)
11786 2 jsauermann
;--     load_rr_var bottom = -2(FP), SP at -2 (16 bit)
11787
        MOVE    0(SP), RR
11788 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
11789 2 jsauermann
;--     content
11790
        MOVE    (RR), RS
11791 7 jsauermann
;;;                                                               } 31 Expr * r
11792 2 jsauermann
;--     l == r
11793
        SEQ     RR, #0x0053
11794 7 jsauermann
;;;                                                             } 30 Expr l == r
11795 2 jsauermann
;--     branch_true
11796
        JMP     RRNZ, L28_loop_81
11797
L28_brk_82:
11798 7 jsauermann
;;;                                                           } 29 while Statement
11799
;;;                                                           { 29 return Statement
11800
;;;                                                             { 30 Expr l - r
11801
;;;                                                               { 31 Expr * r
11802
;;;                                                                 { 32 Expression (variable name)
11803
;;;                                                                   expr_type = "identifier" (t)
11804 2 jsauermann
;--     load_rr_var t = 2(FP), SP at -2 (16 bit)
11805
        MOVE    4(SP), RR
11806 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
11807
;;;                                                               } 31 Expr * r
11808 2 jsauermann
;--     + (member)
11809
        ADD     RR, #0x000A
11810
;--     content
11811
        MOVE    (RR), RR
11812
;--     move_rr_to_ll
11813
        MOVE    RR, LL
11814 7 jsauermann
;;;                                                               { 31 Expression (variable name)
11815
;;;                                                                 expr_type = "identifier" (bottom)
11816 2 jsauermann
;--     load_rr_var bottom = -2(FP), SP at -2 (16 bit)
11817
        MOVE    0(SP), RR
11818 7 jsauermann
;;;                                                               } 31 Expression (variable name)
11819 2 jsauermann
;--     scale_rr *1
11820
;--     l - r
11821
        SUB     LL, RR
11822
;--     scale *1
11823 7 jsauermann
;;;                                                             } 30 Expr l - r
11824 2 jsauermann
;--     ret
11825 7 jsauermann
        ADD     SP, #2
11826
        RET
11827
;;;                                                           } 29 return Statement
11828
;;;                                                         } 28 List
11829 2 jsauermann
;--     pop 2 bytes
11830
        ADD     SP, #2
11831 7 jsauermann
;;;                                                       } 27 CompoundStatement
11832
;--     ret
11833 2 jsauermann
        RET
11834
;;; ------------------------------------;
11835 7 jsauermann
;;;                                                       { 27 FunctionDefinition
11836
;;;                                                         { 28 TypeName
11837
;;;                                                           { 29 TypeSpecifier (all)
11838
;;;                                                             spec = void (10000)
11839
;;;                                                           } 29 TypeSpecifier (all)
11840
;;;                                                           { 29 List
11841
;;;                                                             { 30 DeclItem
11842
;;;                                                               what = DECL_NAME
11843
;;;                                                               name = show_sema
11844
;;;                                                             } 30 DeclItem
11845
;;;                                                           } 29 List
11846
;;;                                                         } 28 TypeName
11847
;;;                                                         { 28 List
11848
;;;                                                           { 29 DeclItem
11849
;;;                                                             what = DECL_NAME
11850
;;;                                                             name = show_sema
11851
;;;                                                           } 29 DeclItem
11852
;;;                                                           { 29 DeclItem
11853
;;;                                                             what = DECL_FUN
11854
;;;                                                             { 30 List
11855
;;;                                                               { 31 ParameterDeclaration
11856
;;;                                                                 isEllipsis = false
11857
;;;                                                                 { 32 TypeName
11858
;;;                                                                   { 33 TypeSpecifier (struct/union)
11859
;;;                                                                     spec = struct '_semaphore' (800000)
11860
;;;                                                                     name = _semaphore
11861
;;;                                                                   } 33 TypeSpecifier (struct/union)
11862
;;;                                                                   { 33 List
11863
;;;                                                                     { 34 DeclItem
11864
;;;                                                                       what = DECL_POINTER
11865
;;;                                                                       { 35 List
11866
;;;                                                                         { 36 Ptr
11867
;;;                                                                         } 36 Ptr
11868
;;;                                                                       } 35 List
11869
;;;                                                                     } 34 DeclItem
11870
;;;                                                                     { 34 DeclItem
11871
;;;                                                                       what = DECL_NAME
11872
;;;                                                                       name = s
11873
;;;                                                                     } 34 DeclItem
11874
;;;                                                                   } 33 List
11875
;;;                                                                 } 32 TypeName
11876
;;;                                                               } 31 ParameterDeclaration
11877
;;;                                                             } 30 List
11878
;;;                                                           } 29 DeclItem
11879
;;;                                                         } 28 List
11880 2 jsauermann
Cshow_sema:
11881 7 jsauermann
;;;                                                         { 28 CompoundStatement
11882
;;;                                                           { 29 InitDeclarator
11883
;;;                                                             { 30 List
11884
;;;                                                               { 31 DeclItem
11885
;;;                                                                 what = DECL_POINTER
11886
;;;                                                                 { 32 List
11887
;;;                                                                   { 33 Ptr
11888
;;;                                                                   } 33 Ptr
11889
;;;                                                                 } 32 List
11890
;;;                                                               } 31 DeclItem
11891
;;;                                                               { 31 DeclItem
11892
;;;                                                                 what = DECL_NAME
11893
;;;                                                                 name = t
11894
;;;                                                               } 31 DeclItem
11895
;;;                                                             } 30 List
11896 2 jsauermann
;--     push_zero 2 bytes
11897
        CLRW    -(SP)
11898 7 jsauermann
;;;                                                           } 29 InitDeclarator
11899
;;;                                                           { 29 List
11900
;;;                                                             { 30 ExpressionStatement
11901
;;;                                                               { 31 Expr l(r)
11902
;;;                                                                 { 32 TypeName
11903
;;;                                                                   { 33 TypeSpecifier (all)
11904
;;;                                                                     spec = int (80000)
11905
;;;                                                                   } 33 TypeSpecifier (all)
11906
;;;                                                                   { 33 List
11907
;;;                                                                     { 34 DeclItem
11908
;;;                                                                       what = DECL_NAME
11909
;;;                                                                       name = printf
11910
;;;                                                                     } 34 DeclItem
11911
;;;                                                                   } 33 List
11912
;;;                                                                 } 32 TypeName
11913
;;;                                                                 { 32 Expr (l , r)
11914
;;;                                                                   { 33 ParameterDeclaration
11915
;;;                                                                     isEllipsis = true
11916
;;;                                                                     { 34 TypeName
11917
;;;                                                                       { 35 TypeSpecifier (all)
11918
;;;                                                                         spec = const char (20100)
11919
;;;                                                                       } 35 TypeSpecifier (all)
11920
;;;                                                                       { 35 List
11921
;;;                                                                         { 36 DeclItem
11922
;;;                                                                           what = DECL_POINTER
11923
;;;                                                                           { 37 List
11924
;;;                                                                             { 38 Ptr
11925
;;;                                                                             } 38 Ptr
11926
;;;                                                                           } 37 List
11927
;;;                                                                         } 36 DeclItem
11928
;;;                                                                         { 36 DeclItem
11929
;;;                                                                           what = DECL_NAME
11930
;;;                                                                           name = format
11931
;;;                                                                         } 36 DeclItem
11932
;;;                                                                       } 35 List
11933
;;;                                                                     } 34 TypeName
11934
;;;                                                                   } 33 ParameterDeclaration
11935
;;;                                                                   { 33 Expr * r
11936
;;;                                                                     { 34 Expression (variable name)
11937
;;;                                                                       expr_type = "identifier" (s)
11938 2 jsauermann
;--     load_rr_var s = 2(FP), SP at -2 (16 bit)
11939
        MOVE    4(SP), RR
11940 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
11941
;;;                                                                   } 33 Expr * r
11942 2 jsauermann
;--     + (member)
11943
;--     content
11944
        MOVE    (RR), RR
11945
;--     push_rr (16 bit)
11946
        MOVE    RR, -(SP)
11947 7 jsauermann
;;;                                                                   { 33 Expr (l , r)
11948
;;;                                                                     { 34 ParameterDeclaration
11949
;;;                                                                       isEllipsis = true
11950
;;;                                                                       { 35 TypeName
11951
;;;                                                                         { 36 TypeSpecifier (all)
11952
;;;                                                                           spec = const char (20100)
11953
;;;                                                                         } 36 TypeSpecifier (all)
11954
;;;                                                                         { 36 List
11955
;;;                                                                           { 37 DeclItem
11956
;;;                                                                             what = DECL_POINTER
11957
;;;                                                                             { 38 List
11958
;;;                                                                               { 39 Ptr
11959
;;;                                                                               } 39 Ptr
11960
;;;                                                                             } 38 List
11961
;;;                                                                           } 37 DeclItem
11962
;;;                                                                           { 37 DeclItem
11963
;;;                                                                             what = DECL_NAME
11964
;;;                                                                             name = format
11965
;;;                                                                           } 37 DeclItem
11966
;;;                                                                         } 36 List
11967
;;;                                                                       } 35 TypeName
11968
;;;                                                                     } 34 ParameterDeclaration
11969
;;;                                                                     { 34 Expr * r
11970
;;;                                                                       { 35 Expression (variable name)
11971
;;;                                                                         expr_type = "identifier" (s)
11972 2 jsauermann
;--     load_rr_var s = 2(FP), SP at -4 (16 bit)
11973
        MOVE    6(SP), RR
11974 7 jsauermann
;;;                                                                       } 35 Expression (variable name)
11975
;;;                                                                     } 34 Expr * r
11976 2 jsauermann
;--     + (member)
11977
        ADD     RR, #0x0006
11978
;--     content
11979
        MOVE    (RR), RR
11980
;--     push_rr (16 bit)
11981
        MOVE    RR, -(SP)
11982 7 jsauermann
;;;                                                                     { 34 ParameterDeclaration
11983
;;;                                                                       isEllipsis = true
11984
;;;                                                                       { 35 TypeName
11985
;;;                                                                         { 36 TypeSpecifier (all)
11986
;;;                                                                           spec = const char (20100)
11987
;;;                                                                         } 36 TypeSpecifier (all)
11988
;;;                                                                         { 36 List
11989
;;;                                                                           { 37 DeclItem
11990
;;;                                                                             what = DECL_POINTER
11991
;;;                                                                             { 38 List
11992
;;;                                                                               { 39 Ptr
11993
;;;                                                                               } 39 Ptr
11994
;;;                                                                             } 38 List
11995
;;;                                                                           } 37 DeclItem
11996
;;;                                                                           { 37 DeclItem
11997
;;;                                                                             what = DECL_NAME
11998
;;;                                                                             name = format
11999
;;;                                                                           } 37 DeclItem
12000
;;;                                                                         } 36 List
12001
;;;                                                                       } 35 TypeName
12002
;;;                                                                     } 34 ParameterDeclaration
12003
;;;                                                                     { 34 StringExpression
12004 2 jsauermann
;--     load_rr_string
12005
        MOVE    #Cstr_44, RR
12006 7 jsauermann
;;;                                                                     } 34 StringExpression
12007 2 jsauermann
;--     push_rr (16 bit)
12008
        MOVE    RR, -(SP)
12009 7 jsauermann
;;;                                                                   } 33 Expr (l , r)
12010
;;;                                                                 } 32 Expr (l , r)
12011 2 jsauermann
;--     push 2 bytes
12012
;--     call
12013
        CALL    Cprintf
12014
;--     pop 6 bytes
12015
        ADD     SP, #6
12016 7 jsauermann
;;;                                                               } 31 Expr l(r)
12017
;;;                                                             } 30 ExpressionStatement
12018
;;;                                                             { 30 IfElseStatement
12019
;;;                                                               { 31 Expr l < r
12020
;;;                                                                 { 32 TypeName (internal)
12021
;;;                                                                   { 33 TypeSpecifier (all)
12022
;;;                                                                     spec = int (80000)
12023
;;;                                                                   } 33 TypeSpecifier (all)
12024
;;;                                                                 } 32 TypeName (internal)
12025
;;;                                                                 { 32 Expr * r
12026
;;;                                                                   { 33 Expression (variable name)
12027
;;;                                                                     expr_type = "identifier" (s)
12028 2 jsauermann
;--     load_rr_var s = 2(FP), SP at -2 (16 bit)
12029
        MOVE    4(SP), RR
12030 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
12031
;;;                                                                 } 32 Expr * r
12032 2 jsauermann
;--     + (member)
12033
;--     content
12034
        MOVE    (RR), RR
12035
;--     l < r
12036
        SLT     RR, #0x0000
12037 7 jsauermann
;;;                                                               } 31 Expr l < r
12038 2 jsauermann
;--     branch_false
12039
        JMP     RRZ, L29_else_83
12040 7 jsauermann
;;;                                                               { 31 CompoundStatement
12041
;;;                                                                 { 32 List
12042
;;;                                                                   { 33 for Statement
12043
;;;                                                                     { 34 ExpressionStatement
12044
;;;                                                                       { 35 Expr l = r
12045
;;;                                                                         { 36 TypeName
12046
;;;                                                                           { 37 TypeSpecifier (struct/union)
12047
;;;                                                                             spec = struct '_task' (800000)
12048
;;;                                                                             name = _task
12049
;;;                                                                           } 37 TypeSpecifier (struct/union)
12050
;;;                                                                           { 37 List
12051
;;;                                                                             { 38 DeclItem
12052
;;;                                                                               what = DECL_POINTER
12053
;;;                                                                               { 39 List
12054
;;;                                                                                 { 40 Ptr
12055
;;;                                                                                 } 40 Ptr
12056
;;;                                                                               } 39 List
12057
;;;                                                                             } 38 DeclItem
12058
;;;                                                                             { 38 DeclItem
12059
;;;                                                                               what = DECL_NAME
12060
;;;                                                                               name = t
12061
;;;                                                                             } 38 DeclItem
12062
;;;                                                                           } 37 List
12063
;;;                                                                         } 36 TypeName
12064
;;;                                                                         { 36 Expr * r
12065
;;;                                                                           { 37 Expression (variable name)
12066
;;;                                                                             expr_type = "identifier" (s)
12067 2 jsauermann
;--     load_rr_var s = 2(FP), SP at -2 (16 bit)
12068
        MOVE    4(SP), RR
12069 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
12070
;;;                                                                         } 36 Expr * r
12071 2 jsauermann
;--     + (member)
12072
        ADD     RR, #0x0002
12073
;--     content
12074
        MOVE    (RR), RR
12075
;--     store_rr_var t = -2(FP), SP at -2
12076
        MOVE    RR, 0(SP)
12077 7 jsauermann
;;;                                                                       } 35 Expr l = r
12078
;;;                                                                     } 34 ExpressionStatement
12079 2 jsauermann
;--     branch
12080
        JMP     L29_tst_84
12081
L29_loop_84:
12082 7 jsauermann
;;;                                                                     { 34 CompoundStatement
12083
;;;                                                                       { 35 List
12084
;;;                                                                         { 36 ExpressionStatement
12085
;;;                                                                           { 37 Expr l(r)
12086
;;;                                                                             { 38 TypeName
12087
;;;                                                                               { 39 TypeSpecifier (all)
12088
;;;                                                                                 spec = int (80000)
12089
;;;                                                                               } 39 TypeSpecifier (all)
12090
;;;                                                                               { 39 List
12091
;;;                                                                                 { 40 DeclItem
12092
;;;                                                                                   what = DECL_NAME
12093
;;;                                                                                   name = printf
12094
;;;                                                                                 } 40 DeclItem
12095
;;;                                                                               } 39 List
12096
;;;                                                                             } 38 TypeName
12097
;;;                                                                             { 38 Expr (l , r)
12098
;;;                                                                               { 39 ParameterDeclaration
12099
;;;                                                                                 isEllipsis = true
12100
;;;                                                                                 { 40 TypeName
12101
;;;                                                                                   { 41 TypeSpecifier (all)
12102
;;;                                                                                     spec = const char (20100)
12103
;;;                                                                                   } 41 TypeSpecifier (all)
12104
;;;                                                                                   { 41 List
12105
;;;                                                                                     { 42 DeclItem
12106
;;;                                                                                       what = DECL_POINTER
12107
;;;                                                                                       { 43 List
12108
;;;                                                                                         { 44 Ptr
12109
;;;                                                                                         } 44 Ptr
12110
;;;                                                                                       } 43 List
12111
;;;                                                                                     } 42 DeclItem
12112
;;;                                                                                     { 42 DeclItem
12113
;;;                                                                                       what = DECL_NAME
12114
;;;                                                                                       name = format
12115
;;;                                                                                     } 42 DeclItem
12116
;;;                                                                                   } 41 List
12117
;;;                                                                                 } 40 TypeName
12118
;;;                                                                               } 39 ParameterDeclaration
12119
;;;                                                                               { 39 Expr * r
12120
;;;                                                                                 { 40 Expression (variable name)
12121
;;;                                                                                   expr_type = "identifier" (t)
12122 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
12123
        MOVE    0(SP), RR
12124 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
12125
;;;                                                                               } 39 Expr * r
12126 2 jsauermann
;--     + (member)
12127
        ADD     RR, #0x0006
12128
;--     content
12129
        MOVE    (RR), RR
12130
;--     push_rr (16 bit)
12131
        MOVE    RR, -(SP)
12132 7 jsauermann
;;;                                                                               { 39 ParameterDeclaration
12133
;;;                                                                                 isEllipsis = true
12134
;;;                                                                                 { 40 TypeName
12135
;;;                                                                                   { 41 TypeSpecifier (all)
12136
;;;                                                                                     spec = const char (20100)
12137
;;;                                                                                   } 41 TypeSpecifier (all)
12138
;;;                                                                                   { 41 List
12139
;;;                                                                                     { 42 DeclItem
12140
;;;                                                                                       what = DECL_POINTER
12141
;;;                                                                                       { 43 List
12142
;;;                                                                                         { 44 Ptr
12143
;;;                                                                                         } 44 Ptr
12144
;;;                                                                                       } 43 List
12145
;;;                                                                                     } 42 DeclItem
12146
;;;                                                                                     { 42 DeclItem
12147
;;;                                                                                       what = DECL_NAME
12148
;;;                                                                                       name = format
12149
;;;                                                                                     } 42 DeclItem
12150
;;;                                                                                   } 41 List
12151
;;;                                                                                 } 40 TypeName
12152
;;;                                                                               } 39 ParameterDeclaration
12153
;;;                                                                               { 39 StringExpression
12154 2 jsauermann
;--     load_rr_string
12155
        MOVE    #Cstr_45, RR
12156 7 jsauermann
;;;                                                                               } 39 StringExpression
12157 2 jsauermann
;--     push_rr (16 bit)
12158
        MOVE    RR, -(SP)
12159 7 jsauermann
;;;                                                                             } 38 Expr (l , r)
12160 2 jsauermann
;--     push 2 bytes
12161
;--     call
12162
        CALL    Cprintf
12163
;--     pop 4 bytes
12164
        ADD     SP, #4
12165 7 jsauermann
;;;                                                                           } 37 Expr l(r)
12166
;;;                                                                         } 36 ExpressionStatement
12167
;;;                                                                         { 36 IfElseStatement
12168
;;;                                                                           { 37 Expr l == r
12169
;;;                                                                             { 38 TypeName
12170
;;;                                                                               { 39 TypeSpecifier (struct/union)
12171
;;;                                                                                 spec = struct '_task' (800000)
12172
;;;                                                                                 name = _task
12173
;;;                                                                               } 39 TypeSpecifier (struct/union)
12174
;;;                                                                               { 39 List
12175
;;;                                                                                 { 40 DeclItem
12176
;;;                                                                                   what = DECL_POINTER
12177
;;;                                                                                   { 41 List
12178
;;;                                                                                     { 42 Ptr
12179
;;;                                                                                     } 42 Ptr
12180
;;;                                                                                   } 41 List
12181
;;;                                                                                 } 40 DeclItem
12182
;;;                                                                                 { 40 DeclItem
12183
;;;                                                                                   what = DECL_NAME
12184
;;;                                                                                   name = t
12185
;;;                                                                                 } 40 DeclItem
12186
;;;                                                                               } 39 List
12187
;;;                                                                             } 38 TypeName
12188
;;;                                                                             { 38 Expr * r
12189
;;;                                                                               { 39 Expression (variable name)
12190
;;;                                                                                 expr_type = "identifier" (s)
12191 2 jsauermann
;--     load_rr_var s = 2(FP), SP at -2 (16 bit)
12192
        MOVE    4(SP), RR
12193 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
12194
;;;                                                                             } 38 Expr * r
12195 2 jsauermann
;--     + (member)
12196
        ADD     RR, #0x0004
12197
;--     content
12198
        MOVE    (RR), RR
12199 7 jsauermann
;;;                                                                             { 38 Expression (variable name)
12200
;;;                                                                               expr_type = "identifier" (t)
12201 2 jsauermann
;--     load_ll_var t = -2(FP), SP at -2 (16 bit)
12202
        MOVE    0(SP), LL
12203 7 jsauermann
;;;                                                                             } 38 Expression (variable name)
12204 2 jsauermann
;--     l == r
12205
        SEQ     LL, RR
12206 7 jsauermann
;;;                                                                           } 37 Expr l == r
12207 2 jsauermann
;--     branch_false
12208
        JMP     RRZ, L29_endif_86
12209 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
12210
;;;                                                                             { 38 Expr l(r)
12211
;;;                                                                               { 39 TypeName
12212
;;;                                                                                 { 40 TypeSpecifier (all)
12213
;;;                                                                                   spec = int (80000)
12214
;;;                                                                                 } 40 TypeSpecifier (all)
12215
;;;                                                                                 { 40 List
12216
;;;                                                                                   { 41 DeclItem
12217
;;;                                                                                     what = DECL_NAME
12218
;;;                                                                                     name = printf
12219
;;;                                                                                   } 41 DeclItem
12220
;;;                                                                                 } 40 List
12221
;;;                                                                               } 39 TypeName
12222
;;;                                                                               { 39 ParameterDeclaration
12223
;;;                                                                                 isEllipsis = true
12224
;;;                                                                                 { 40 TypeName
12225
;;;                                                                                   { 41 TypeSpecifier (all)
12226
;;;                                                                                     spec = const char (20100)
12227
;;;                                                                                   } 41 TypeSpecifier (all)
12228
;;;                                                                                   { 41 List
12229
;;;                                                                                     { 42 DeclItem
12230
;;;                                                                                       what = DECL_POINTER
12231
;;;                                                                                       { 43 List
12232
;;;                                                                                         { 44 Ptr
12233
;;;                                                                                         } 44 Ptr
12234
;;;                                                                                       } 43 List
12235
;;;                                                                                     } 42 DeclItem
12236
;;;                                                                                     { 42 DeclItem
12237
;;;                                                                                       what = DECL_NAME
12238
;;;                                                                                       name = format
12239
;;;                                                                                     } 42 DeclItem
12240
;;;                                                                                   } 41 List
12241
;;;                                                                                 } 40 TypeName
12242
;;;                                                                               } 39 ParameterDeclaration
12243
;;;                                                                               { 39 StringExpression
12244 2 jsauermann
;--     load_rr_string
12245
        MOVE    #Cstr_46, RR
12246 7 jsauermann
;;;                                                                               } 39 StringExpression
12247 2 jsauermann
;--     push_rr (16 bit)
12248
        MOVE    RR, -(SP)
12249
;--     push 2 bytes
12250
;--     call
12251
        CALL    Cprintf
12252
;--     pop 2 bytes
12253
        ADD     SP, #2
12254 7 jsauermann
;;;                                                                             } 38 Expr l(r)
12255
;;;                                                                           } 37 ExpressionStatement
12256 2 jsauermann
L29_endif_86:
12257 7 jsauermann
;;;                                                                         } 36 IfElseStatement
12258
;;;                                                                       } 35 List
12259
;--     pop 0 bytes
12260
;;;                                                                     } 34 CompoundStatement
12261 2 jsauermann
L29_cont_84:
12262 7 jsauermann
;;;                                                                     { 34 Expr l = r
12263
;;;                                                                       { 35 TypeName
12264
;;;                                                                         { 36 TypeSpecifier (struct/union)
12265
;;;                                                                           spec = struct '_task' (800000)
12266
;;;                                                                           name = _task
12267
;;;                                                                         } 36 TypeSpecifier (struct/union)
12268
;;;                                                                         { 36 List
12269
;;;                                                                           { 37 DeclItem
12270
;;;                                                                             what = DECL_POINTER
12271
;;;                                                                             { 38 List
12272
;;;                                                                               { 39 Ptr
12273
;;;                                                                               } 39 Ptr
12274
;;;                                                                             } 38 List
12275
;;;                                                                           } 37 DeclItem
12276
;;;                                                                           { 37 DeclItem
12277
;;;                                                                             what = DECL_NAME
12278
;;;                                                                             name = t
12279
;;;                                                                           } 37 DeclItem
12280
;;;                                                                         } 36 List
12281
;;;                                                                       } 35 TypeName
12282
;;;                                                                       { 35 Expr * r
12283
;;;                                                                         { 36 Expression (variable name)
12284
;;;                                                                           expr_type = "identifier" (t)
12285 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
12286
        MOVE    0(SP), RR
12287 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
12288
;;;                                                                       } 35 Expr * r
12289 2 jsauermann
;--     + (member)
12290
        ADD     RR, #0x0010
12291
;--     content
12292
        MOVE    (RR), RR
12293
;--     store_rr_var t = -2(FP), SP at -2
12294
        MOVE    RR, 0(SP)
12295 7 jsauermann
;;;                                                                     } 34 Expr l = r
12296 2 jsauermann
L29_tst_84:
12297 7 jsauermann
;;;                                                                     { 34 Expression (variable name)
12298
;;;                                                                       expr_type = "identifier" (t)
12299 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
12300
        MOVE    0(SP), RR
12301 7 jsauermann
;;;                                                                     } 34 Expression (variable name)
12302 2 jsauermann
;--     branch_true
12303
        JMP     RRNZ, L29_loop_84
12304
L29_brk_85:
12305 7 jsauermann
;;;                                                                   } 33 for Statement
12306
;;;                                                                 } 32 List
12307
;--     pop 0 bytes
12308
;;;                                                               } 31 CompoundStatement
12309 2 jsauermann
;--     branch
12310
        JMP     L29_endif_83
12311
L29_else_83:
12312 7 jsauermann
;;;                                                               { 31 CompoundStatement
12313
;;;                                                                 { 32 List
12314
;;;                                                                   { 33 ExpressionStatement
12315
;;;                                                                     { 34 Expr l(r)
12316
;;;                                                                       { 35 TypeName
12317
;;;                                                                         { 36 TypeSpecifier (all)
12318
;;;                                                                           spec = int (80000)
12319
;;;                                                                         } 36 TypeSpecifier (all)
12320
;;;                                                                         { 36 List
12321
;;;                                                                           { 37 DeclItem
12322
;;;                                                                             what = DECL_NAME
12323
;;;                                                                             name = printf
12324
;;;                                                                           } 37 DeclItem
12325
;;;                                                                         } 36 List
12326
;;;                                                                       } 35 TypeName
12327
;;;                                                                       { 35 ParameterDeclaration
12328
;;;                                                                         isEllipsis = true
12329
;;;                                                                         { 36 TypeName
12330
;;;                                                                           { 37 TypeSpecifier (all)
12331
;;;                                                                             spec = const char (20100)
12332
;;;                                                                           } 37 TypeSpecifier (all)
12333
;;;                                                                           { 37 List
12334
;;;                                                                             { 38 DeclItem
12335
;;;                                                                               what = DECL_POINTER
12336
;;;                                                                               { 39 List
12337
;;;                                                                                 { 40 Ptr
12338
;;;                                                                                 } 40 Ptr
12339
;;;                                                                               } 39 List
12340
;;;                                                                             } 38 DeclItem
12341
;;;                                                                             { 38 DeclItem
12342
;;;                                                                               what = DECL_NAME
12343
;;;                                                                               name = format
12344
;;;                                                                             } 38 DeclItem
12345
;;;                                                                           } 37 List
12346
;;;                                                                         } 36 TypeName
12347
;;;                                                                       } 35 ParameterDeclaration
12348
;;;                                                                       { 35 StringExpression
12349 2 jsauermann
;--     load_rr_string
12350
        MOVE    #Cstr_47, RR
12351 7 jsauermann
;;;                                                                       } 35 StringExpression
12352 2 jsauermann
;--     push_rr (16 bit)
12353
        MOVE    RR, -(SP)
12354
;--     push 2 bytes
12355
;--     call
12356
        CALL    Cprintf
12357
;--     pop 2 bytes
12358
        ADD     SP, #2
12359 7 jsauermann
;;;                                                                     } 34 Expr l(r)
12360
;;;                                                                   } 33 ExpressionStatement
12361
;;;                                                                 } 32 List
12362
;--     pop 0 bytes
12363
;;;                                                               } 31 CompoundStatement
12364 2 jsauermann
L29_endif_83:
12365 7 jsauermann
;;;                                                             } 30 IfElseStatement
12366
;;;                                                             { 30 ExpressionStatement
12367
;;;                                                               { 31 Expr l(r)
12368
;;;                                                                 { 32 TypeName
12369
;;;                                                                   { 33 TypeSpecifier (all)
12370
;;;                                                                     spec = int (80000)
12371
;;;                                                                   } 33 TypeSpecifier (all)
12372
;;;                                                                   { 33 List
12373
;;;                                                                     { 34 DeclItem
12374
;;;                                                                       what = DECL_NAME
12375
;;;                                                                       name = printf
12376
;;;                                                                     } 34 DeclItem
12377
;;;                                                                   } 33 List
12378
;;;                                                                 } 32 TypeName
12379
;;;                                                                 { 32 ParameterDeclaration
12380
;;;                                                                   isEllipsis = true
12381
;;;                                                                   { 33 TypeName
12382
;;;                                                                     { 34 TypeSpecifier (all)
12383
;;;                                                                       spec = const char (20100)
12384
;;;                                                                     } 34 TypeSpecifier (all)
12385
;;;                                                                     { 34 List
12386
;;;                                                                       { 35 DeclItem
12387
;;;                                                                         what = DECL_POINTER
12388
;;;                                                                         { 36 List
12389
;;;                                                                           { 37 Ptr
12390
;;;                                                                           } 37 Ptr
12391
;;;                                                                         } 36 List
12392
;;;                                                                       } 35 DeclItem
12393
;;;                                                                       { 35 DeclItem
12394
;;;                                                                         what = DECL_NAME
12395
;;;                                                                         name = format
12396
;;;                                                                       } 35 DeclItem
12397
;;;                                                                     } 34 List
12398
;;;                                                                   } 33 TypeName
12399
;;;                                                                 } 32 ParameterDeclaration
12400
;;;                                                                 { 32 StringExpression
12401 2 jsauermann
;--     load_rr_string
12402
        MOVE    #Cstr_48, RR
12403 7 jsauermann
;;;                                                                 } 32 StringExpression
12404 2 jsauermann
;--     push_rr (16 bit)
12405
        MOVE    RR, -(SP)
12406
;--     push 2 bytes
12407
;--     call
12408
        CALL    Cprintf
12409
;--     pop 2 bytes
12410
        ADD     SP, #2
12411 7 jsauermann
;;;                                                               } 31 Expr l(r)
12412
;;;                                                             } 30 ExpressionStatement
12413
;;;                                                           } 29 List
12414 2 jsauermann
;--     pop 2 bytes
12415
        ADD     SP, #2
12416 7 jsauermann
;;;                                                         } 28 CompoundStatement
12417
;--     ret
12418 2 jsauermann
        RET
12419
;;; ------------------------------------;
12420 7 jsauermann
;;;                                                         { 28 Declaration
12421
;;;                                                           { 29 TypeSpecifier (all)
12422
;;;                                                             spec = unsigned char (22000)
12423
;;;                                                           } 29 TypeSpecifier (all)
12424 2 jsauermann
Cloader:                        ;
12425
        .BYTE   46
12426
        .BYTE   1
12427
        .BYTE   17
12428
        .BYTE   1
12429
        .BYTE   61
12430
        .BYTE   3
12431
        .BYTE   50
12432
        .BYTE   30
12433
        .BYTE   46
12434
        .BYTE   0
12435
        .BYTE   7
12436
        .BYTE   46
12437
        .BYTE   1
12438
        .BYTE   17
12439
        .BYTE   2
12440
        .BYTE   3
12441
        .BYTE   61
12442
        .BYTE   30
12443
        .BYTE   101
12444
        .BYTE   2
12445
        .BYTE   47
12446
        .BYTE   0
12447
        .BYTE   7
12448
        .BYTE   2
12449
        .BYTE   89
12450
        .BYTE   30
12451
        .BYTE   97
12452
        .BYTE   2
12453
        .BYTE   161
12454
        .BYTE   93
12455
        .BYTE   2
12456
        .BYTE   177
12457
        .BYTE   71
12458
        .BYTE   15
12459
        .BYTE   5
12460
        .BYTE   61
12461
        .BYTE   30
12462
        .BYTE   43
12463
        .BYTE   1
12464
        .BYTE   97
12465
        .BYTE   2
12466
        .BYTE   71
12467
        .BYTE   3
12468
        .BYTE   76
12469
        .BYTE   30
12470
        .BYTE   7
12471
        .BYTE   5
12472
        .BYTE   50
12473
        .BYTE   30
12474
        .BYTE   15
12475
        .BYTE   101
12476
        .BYTE   0
12477
        .BYTE   41
12478
        .BYTE   48
12479
        .BYTE   4
12480
        .BYTE   113
12481
        .BYTE   30
12482
        .BYTE   248
12483
        .BYTE   255
12484
        .BYTE   0
12485
        .BYTE   2
12486
        .BYTE   187
12487
        .BYTE   30
12488
        .BYTE   101
12489
        .BYTE   0
12490
        .BYTE   39
12491
        .BYTE   57
12492
        .BYTE   4
12493
        .BYTE   127
12494
        .BYTE   30
12495
        .BYTE   101
12496
        .BYTE   0
12497
        .BYTE   247
12498
        .BYTE   48
12499
        .BYTE   2
12500
        .BYTE   187
12501
        .BYTE   30
12502
        .BYTE   101
12503
        .BYTE   0
12504
        .BYTE   41
12505
        .BYTE   65
12506
        .BYTE   4
12507
        .BYTE   140
12508
        .BYTE   30
12509
        .BYTE   248
12510
        .BYTE   255
12511
        .BYTE   0
12512
        .BYTE   2
12513
        .BYTE   187
12514
        .BYTE   30
12515
        .BYTE   101
12516
        .BYTE   0
12517
        .BYTE   39
12518
        .BYTE   70
12519
        .BYTE   4
12520
        .BYTE   154
12521
        .BYTE   30
12522
        .BYTE   101
12523
        .BYTE   0
12524
        .BYTE   247
12525
        .BYTE   55
12526
        .BYTE   2
12527
        .BYTE   187
12528
        .BYTE   30
12529
        .BYTE   101
12530
        .BYTE   0
12531
        .BYTE   41
12532
        .BYTE   97
12533
        .BYTE   4
12534
        .BYTE   167
12535
        .BYTE   30
12536
        .BYTE   248
12537
        .BYTE   255
12538
        .BYTE   0
12539
        .BYTE   2
12540
        .BYTE   187
12541
        .BYTE   30
12542
        .BYTE   101
12543
        .BYTE   0
12544
        .BYTE   39
12545
        .BYTE   102
12546
        .BYTE   4
12547
        .BYTE   181
12548
        .BYTE   30
12549
        .BYTE   101
12550
        .BYTE   0
12551
        .BYTE   247
12552
        .BYTE   87
12553
        .BYTE   2
12554
        .BYTE   187
12555
        .BYTE   30
12556
        .BYTE   248
12557
        .BYTE   255
12558
        .BYTE   0
12559
        .BYTE   2
12560
        .BYTE   187
12561
        .BYTE   30
12562
        .BYTE   43
12563
        .BYTE   1
12564
        .BYTE   7
12565
        .BYTE   5
12566
        .BYTE   96
12567
        .BYTE   30
12568
        .BYTE   15
12569
        .BYTE   45
12570
        .BYTE   101
12571
        .BYTE   1
12572
        .BYTE   24
12573
        .BYTE   255
12574
        .BYTE   0
12575
        .BYTE   4
12576
        .BYTE   227
12577
        .BYTE   30
12578
        .BYTE   5
12579
        .BYTE   96
12580
        .BYTE   30
12581
        .BYTE   95
12582
        .BYTE   0
12583
        .BYTE   101
12584
        .BYTE   0
12585
        .BYTE   24
12586
        .BYTE   255
12587
        .BYTE   0
12588
        .BYTE   4
12589
        .BYTE   227
12590
        .BYTE   30
12591
        .BYTE   101
12592
        .BYTE   1
12593
        .BYTE   82
12594
        .BYTE   4
12595
        .BYTE   67
12596
        .BYTE   101
12597
        .BYTE   0
12598
        .BYTE   49
12599
        .BYTE   2
12600
        .BYTE   237
12601
        .BYTE   30
12602
        .BYTE   248
12603
        .BYTE   199
12604
        .BYTE   31
12605
        .BYTE   14
12606
        .BYTE   5
12607
        .BYTE   73
12608
        .BYTE   30
12609
        .BYTE   43
12610
        .BYTE   2
12611
        .BYTE   0
12612
        .BYTE   43
12613
        .BYTE   2
12614
        .BYTE   7
12615
        .BYTE   45
12616
        .BYTE   44
12617
        .BYTE   45
12618
        .BYTE   45
12619
        .BYTE   45
12620
        .BYTE   45
12621
        .BYTE   248
12622
        .BYTE   218
12623
        .BYTE   31
12624
        .BYTE   14
12625
        .BYTE   5
12626
        .BYTE   73
12627
        .BYTE   30
12628
        .BYTE   43
12629
        .BYTE   2
12630
        .BYTE   5
12631
        .BYTE   50
12632
        .BYTE   30
12633
        .BYTE   95
12634
        .BYTE   0
12635
        .BYTE   25
12636
        .BYTE   58
12637
        .BYTE   3
12638
        .BYTE   255
12639
        .BYTE   30
12640
        .BYTE   192
12641
        .BYTE   95
12642
        .BYTE   2
12643
        .BYTE   5
12644
        .BYTE   190
12645
        .BYTE   30
12646
        .BYTE   95
12647
        .BYTE   0
12648
        .BYTE   101
12649
        .BYTE   2
12650
        .BYTE   67
12651
        .BYTE   101
12652
        .BYTE   0
12653
        .BYTE   88
12654
        .BYTE   95
12655
        .BYTE   2
12656
        .BYTE   101
12657
        .BYTE   0
12658
        .BYTE   95
12659
        .BYTE   6
12660
        .BYTE   5
12661
        .BYTE   190
12662
        .BYTE   30
12663
        .BYTE   95
12664
        .BYTE   0
12665
        .BYTE   101
12666
        .BYTE   2
12667
        .BYTE   67
12668
        .BYTE   101
12669
        .BYTE   0
12670
        .BYTE   88
12671
        .BYTE   95
12672
        .BYTE   2
12673
        .BYTE   101
12674
        .BYTE   0
12675
        .BYTE   82
12676
        .BYTE   8
12677
        .BYTE   93
12678
        .BYTE   4
12679
        .BYTE   5
12680
        .BYTE   190
12681
        .BYTE   30
12682
        .BYTE   95
12683
        .BYTE   0
12684
        .BYTE   101
12685
        .BYTE   2
12686
        .BYTE   67
12687
        .BYTE   101
12688
        .BYTE   0
12689
        .BYTE   88
12690
        .BYTE   95
12691
        .BYTE   2
12692
        .BYTE   97
12693
        .BYTE   4
12694
        .BYTE   67
12695
        .BYTE   101
12696
        .BYTE   0
12697
        .BYTE   49
12698
        .BYTE   93
12699
        .BYTE   4
12700
        .BYTE   5
12701
        .BYTE   190
12702
        .BYTE   30
12703
        .BYTE   95
12704
        .BYTE   0
12705
        .BYTE   101
12706
        .BYTE   2
12707
        .BYTE   67
12708
        .BYTE   101
12709
        .BYTE   0
12710
        .BYTE   88
12711
        .BYTE   95
12712
        .BYTE   2
12713
        .BYTE   101
12714
        .BYTE   0
12715
        .BYTE   95
12716
        .BYTE   3
12717
        .BYTE   192
12718
        .BYTE   95
12719
        .BYTE   1
12720
        .BYTE   2
12721
        .BYTE   124
12722
        .BYTE   31
12723
        .BYTE   5
12724
        .BYTE   190
12725
        .BYTE   30
12726
        .BYTE   95
12727
        .BYTE   0
12728
        .BYTE   101
12729
        .BYTE   0
12730
        .BYTE   15
12731
        .BYTE   101
12732
        .BYTE   2
12733
        .BYTE   14
12734
        .BYTE   97
12735
        .BYTE   7
12736
        .BYTE   11
12737
        .BYTE   88
12738
        .BYTE   67
12739
        .BYTE   9
12740
        .BYTE   69
12741
        .BYTE   101
12742
        .BYTE   2
12743
        .BYTE   67
12744
        .BYTE   101
12745
        .BYTE   0
12746
        .BYTE   88
12747
        .BYTE   95
12748
        .BYTE   2
12749
        .BYTE   101
12750
        .BYTE   1
12751
        .BYTE   161
12752
        .BYTE   95
12753
        .BYTE   1
12754
        .BYTE   177
12755
        .BYTE   101
12756
        .BYTE   1
12757
        .BYTE   67
12758
        .BYTE   101
12759
        .BYTE   6
12760
        .BYTE   60
12761
        .BYTE   3
12762
        .BYTE   92
12763
        .BYTE   31
12764
        .BYTE   5
12765
        .BYTE   190
12766
        .BYTE   30
12767
        .BYTE   95
12768
        .BYTE   0
12769
        .BYTE   101
12770
        .BYTE   2
12771
        .BYTE   67
12772
        .BYTE   101
12773
        .BYTE   0
12774
        .BYTE   88
12775
        .BYTE   95
12776
        .BYTE   2
12777
        .BYTE   101
12778
        .BYTE   2
12779
        .BYTE   4
12780
        .BYTE   154
12781
        .BYTE   31
12782
        .BYTE   2
12783
        .BYTE   184
12784
        .BYTE   31
12785
        .BYTE   249
12786
        .BYTE   46
12787
        .BYTE   15
12788
        .BYTE   5
12789
        .BYTE   61
12790
        .BYTE   30
12791
        .BYTE   43
12792
        .BYTE   1
12793
        .BYTE   101
12794
        .BYTE   3
12795
        .BYTE   23
12796
        .BYTE   1
12797
        .BYTE   4
12798
        .BYTE   181
12799
        .BYTE   31
12800
        .BYTE   248
12801
        .BYTE   228
12802
        .BYTE   31
12803
        .BYTE   14
12804
        .BYTE   5
12805
        .BYTE   73
12806
        .BYTE   30
12807
        .BYTE   43
12808
        .BYTE   2
12809
        .BYTE   97
12810
        .BYTE   4
12811
        .BYTE   6
12812
        .BYTE   2
12813
        .BYTE   255
12814
        .BYTE   30
12815
        .BYTE   248
12816
        .BYTE   238
12817
        .BYTE   31
12818
        .BYTE   14
12819
        .BYTE   5
12820
        .BYTE   73
12821
        .BYTE   30
12822
        .BYTE   43
12823
        .BYTE   2
12824
        .BYTE   2
12825
        .BYTE   246
12826
        .BYTE   30
12827
        .BYTE   43
12828
        .BYTE   7
12829
        .BYTE   7
12830
        .BYTE   13
12831
        .BYTE   10
12832
        .BYTE   69
12833
        .BYTE   82
12834
        .BYTE   82
12835
        .BYTE   79
12836
        .BYTE   82
12837
        .BYTE   58
12838
        .BYTE   32
12839
        .BYTE   110
12840
        .BYTE   111
12841
        .BYTE   116
12842
        .BYTE   32
12843
        .BYTE   104
12844
        .BYTE   101
12845
        .BYTE   120
12846
        .BYTE   13
12847
        .BYTE   10
12848
        .BYTE   0
12849
        .BYTE   13
12850
        .BYTE   10
12851
        .BYTE   76
12852
        .BYTE   79
12853
        .BYTE   65
12854
        .BYTE   68
12855
        .BYTE   32
12856
        .BYTE   62
12857
        .BYTE   32
12858
        .BYTE   0
12859
        .BYTE   13
12860
        .BYTE   10
12861
        .BYTE   68
12862
        .BYTE   79
12863
        .BYTE   78
12864
        .BYTE   69
12865
        .BYTE   46
12866
        .BYTE   13
12867
        .BYTE   10
12868
        .BYTE   0
12869
        .BYTE   13
12870
        .BYTE   10
12871
        .BYTE   67
12872
        .BYTE   72
12873
        .BYTE   69
12874
        .BYTE   67
12875
        .BYTE   75
12876
        .BYTE   83
12877
        .BYTE   85
12878
        .BYTE   77
12879
        .BYTE   32
12880
        .BYTE   69
12881
        .BYTE   82
12882
        .BYTE   82
12883
        .BYTE   79
12884
        .BYTE   82
12885
        .BYTE   46
12886
        .BYTE   0
12887 7 jsauermann
;;;                                                         } 28 Declaration
12888 2 jsauermann
;;; ------------------------------------;
12889 7 jsauermann
;;;                                                         { 28 FunctionDefinition
12890
;;;                                                           { 29 TypeName
12891
;;;                                                             { 30 TypeSpecifier (all)
12892
;;;                                                               spec = void (10000)
12893
;;;                                                             } 30 TypeSpecifier (all)
12894
;;;                                                             { 30 List
12895
;;;                                                               { 31 DeclItem
12896
;;;                                                                 what = DECL_NAME
12897
;;;                                                                 name = load_image
12898
;;;                                                               } 31 DeclItem
12899
;;;                                                             } 30 List
12900
;;;                                                           } 29 TypeName
12901
;;;                                                           { 29 List
12902
;;;                                                             { 30 DeclItem
12903
;;;                                                               what = DECL_NAME
12904
;;;                                                               name = load_image
12905
;;;                                                             } 30 DeclItem
12906
;;;                                                             { 30 DeclItem
12907
;;;                                                               what = DECL_FUN
12908
;;;                                                             } 30 DeclItem
12909
;;;                                                           } 29 List
12910 2 jsauermann
Cload_image:
12911 7 jsauermann
;;;                                                           { 29 CompoundStatement
12912
;;;                                                             { 30 InitDeclarator
12913
;;;                                                               { 31 List
12914
;;;                                                                 { 32 DeclItem
12915
;;;                                                                   what = DECL_POINTER
12916
;;;                                                                   { 33 List
12917
;;;                                                                     { 34 Ptr
12918
;;;                                                                     } 34 Ptr
12919
;;;                                                                   } 33 List
12920
;;;                                                                 } 32 DeclItem
12921
;;;                                                                 { 32 DeclItem
12922
;;;                                                                   what = DECL_NAME
12923
;;;                                                                   name = from
12924
;;;                                                                 } 32 DeclItem
12925
;;;                                                               } 31 List
12926
;;;                                                               { 31 Initializer (skalar)
12927
;;;                                                                 { 32 Expression (cast)r
12928
;;;                                                                   { 33 Expr & r
12929 2 jsauermann
;--     load_address loader
12930
        MOVE    #Cloader, RR
12931 7 jsauermann
;;;                                                                   } 33 Expr & r
12932
;;;                                                                 } 32 Expression (cast)r
12933 2 jsauermann
;--     push_rr (16 bit)
12934
        MOVE    RR, -(SP)
12935 7 jsauermann
;;;                                                               } 31 Initializer (skalar)
12936
;;;                                                             } 30 InitDeclarator
12937
;;;                                                             { 30 InitDeclarator
12938
;;;                                                               { 31 List
12939
;;;                                                                 { 32 DeclItem
12940
;;;                                                                   what = DECL_POINTER
12941
;;;                                                                   { 33 List
12942
;;;                                                                     { 34 Ptr
12943
;;;                                                                     } 34 Ptr
12944
;;;                                                                   } 33 List
12945
;;;                                                                 } 32 DeclItem
12946
;;;                                                                 { 32 DeclItem
12947
;;;                                                                   what = DECL_NAME
12948
;;;                                                                   name = to
12949
;;;                                                                 } 32 DeclItem
12950
;;;                                                               } 31 List
12951
;;;                                                               { 31 Initializer (skalar)
12952
;;;                                                                 { 32 Expr l - r
12953
;;;                                                                   { 33 Expression (cast)r
12954
;;;                                                                     { 34 NumericExpression (constant 8192 = 0x2000)
12955 2 jsauermann
;--     load_rr_constant
12956
        MOVE    #0x2000, RR
12957 7 jsauermann
;;;                                                                     } 34 NumericExpression (constant 8192 = 0x2000)
12958
;;;                                                                   } 33 Expression (cast)r
12959 2 jsauermann
;--     l - r
12960
        SUB     RR, #0x01CE
12961 7 jsauermann
;;;                                                                 } 32 Expr l - r
12962 2 jsauermann
;--     push_rr (16 bit)
12963
        MOVE    RR, -(SP)
12964 7 jsauermann
;;;                                                               } 31 Initializer (skalar)
12965
;;;                                                             } 30 InitDeclarator
12966
;;;                                                             { 30 InitDeclarator
12967
;;;                                                               { 31 List
12968
;;;                                                                 { 32 DeclItem
12969
;;;                                                                   what = DECL_NAME
12970
;;;                                                                   name = len
12971
;;;                                                                 } 32 DeclItem
12972
;;;                                                               } 31 List
12973
;;;                                                               { 31 Initializer (skalar)
12974
;;;                                                                 { 32 NumericExpression (sizeof expr)
12975 2 jsauermann
;--     load_rr_constant
12976
        MOVE    #0x01CE, RR
12977 7 jsauermann
;;;                                                                 } 32 NumericExpression (sizeof expr)
12978 2 jsauermann
;--     push_rr (16 bit)
12979
        MOVE    RR, -(SP)
12980 7 jsauermann
;;;                                                               } 31 Initializer (skalar)
12981
;;;                                                             } 30 InitDeclarator
12982
;;;                                                             { 30 List
12983
;;;                                                               { 31 ExpressionStatement
12984
;;;                                                                 { 32 Expr l(r)
12985
;;;                                                                   { 33 TypeName
12986
;;;                                                                     { 34 TypeSpecifier (all)
12987
;;;                                                                       spec = int (80000)
12988
;;;                                                                     } 34 TypeSpecifier (all)
12989
;;;                                                                     { 34 List
12990
;;;                                                                       { 35 DeclItem
12991
;;;                                                                         what = DECL_NAME
12992
;;;                                                                         name = printf
12993
;;;                                                                       } 35 DeclItem
12994
;;;                                                                     } 34 List
12995
;;;                                                                   } 33 TypeName
12996
;;;                                                                   { 33 ParameterDeclaration
12997
;;;                                                                     isEllipsis = true
12998
;;;                                                                     { 34 TypeName
12999
;;;                                                                       { 35 TypeSpecifier (all)
13000
;;;                                                                         spec = const char (20100)
13001
;;;                                                                       } 35 TypeSpecifier (all)
13002
;;;                                                                       { 35 List
13003
;;;                                                                         { 36 DeclItem
13004
;;;                                                                           what = DECL_POINTER
13005
;;;                                                                           { 37 List
13006
;;;                                                                             { 38 Ptr
13007
;;;                                                                             } 38 Ptr
13008
;;;                                                                           } 37 List
13009
;;;                                                                         } 36 DeclItem
13010
;;;                                                                         { 36 DeclItem
13011
;;;                                                                           what = DECL_NAME
13012
;;;                                                                           name = format
13013
;;;                                                                         } 36 DeclItem
13014
;;;                                                                       } 35 List
13015
;;;                                                                     } 34 TypeName
13016
;;;                                                                   } 33 ParameterDeclaration
13017
;;;                                                                   { 33 StringExpression
13018 2 jsauermann
;--     load_rr_string
13019
        MOVE    #Cstr_49, RR
13020 7 jsauermann
;;;                                                                   } 33 StringExpression
13021 2 jsauermann
;--     push_rr (16 bit)
13022
        MOVE    RR, -(SP)
13023
;--     push 2 bytes
13024
;--     call
13025
        CALL    Cprintf
13026
;--     pop 2 bytes
13027
        ADD     SP, #2
13028 7 jsauermann
;;;                                                                 } 32 Expr l(r)
13029
;;;                                                               } 31 ExpressionStatement
13030
;;;                                                               { 31 while Statement
13031 2 jsauermann
L30_loop_87:
13032 7 jsauermann
;;;                                                                 { 32 ExpressionStatement
13033
;;;                                                                 } 32 ExpressionStatement
13034 2 jsauermann
L30_cont_87:
13035 7 jsauermann
;;;                                                                 { 32 Expr l < r
13036
;;;                                                                   { 33 TypeName (internal)
13037
;;;                                                                     { 34 TypeSpecifier (all)
13038
;;;                                                                       spec = int (80000)
13039
;;;                                                                     } 34 TypeSpecifier (all)
13040
;;;                                                                   } 33 TypeName (internal)
13041 2 jsauermann
;--     load_address tx_sema
13042
        MOVE    #Ctx_sema, RR
13043
;--     + (member)
13044
;--     content
13045
        MOVE    (RR), RR
13046
;--     l < r
13047
        SLT     RR, #0x0010
13048 7 jsauermann
;;;                                                                 } 32 Expr l < r
13049 2 jsauermann
;--     branch_true
13050
        JMP     RRNZ, L30_loop_87
13051
L30_brk_88:
13052 7 jsauermann
;;;                                                               } 31 while Statement
13053
;;;                                                               { 31 ExpressionStatement
13054 2 jsauermann
        DI
13055 7 jsauermann
;;;                                                               } 31 ExpressionStatement
13056
;;;                                                               { 31 ExpressionStatement
13057 2 jsauermann
        MOVE #0x00, RR
13058 7 jsauermann
;;;                                                               } 31 ExpressionStatement
13059
;;;                                                               { 31 ExpressionStatement
13060 2 jsauermann
        OUT  R, (OUT_INT_MASK)
13061 7 jsauermann
;;;                                                               } 31 ExpressionStatement
13062
;;;                                                               { 31 for Statement
13063
;;;                                                                 { 32 ExpressionStatement
13064
;;;                                                                 } 32 ExpressionStatement
13065 2 jsauermann
;--     branch
13066
        JMP     L30_tst_89
13067
L30_loop_89:
13068 7 jsauermann
;;;                                                                 { 32 ExpressionStatement
13069
;;;                                                                   { 33 Expr l = r
13070
;;;                                                                     { 34 TypeName
13071
;;;                                                                       { 35 TypeSpecifier (all)
13072
;;;                                                                         spec = unsigned char (22000)
13073
;;;                                                                       } 35 TypeSpecifier (all)
13074
;;;                                                                       { 35 List
13075
;;;                                                                         { 36 DeclItem
13076
;;;                                                                           what = DECL_NAME
13077
;;;                                                                           name = to
13078
;;;                                                                         } 36 DeclItem
13079
;;;                                                                       } 35 List
13080
;;;                                                                     } 34 TypeName
13081
;;;                                                                     { 34 Expr * r
13082
;;;                                                                       { 35 Expr l - r
13083
;;;                                                                         { 36 Expr ++r
13084
;;;                                                                           { 37 Expression (variable name)
13085
;;;                                                                             expr_type = "identifier" (from)
13086 2 jsauermann
;--     load_rr_var from = -2(FP), SP at -6 (16 bit)
13087
        MOVE    4(SP), RR
13088 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
13089 2 jsauermann
;--     ++
13090
        ADD     RR, #0x0001
13091
;--     store_rr_var from = -2(FP), SP at -6
13092
        MOVE    RR, 4(SP)
13093 7 jsauermann
;;;                                                                         } 36 Expr ++r
13094 2 jsauermann
;--     l - r
13095
        SUB     RR, #0x0001
13096 7 jsauermann
;;;                                                                       } 35 Expr l - r
13097 2 jsauermann
;--     content
13098
        MOVE    (RR), RU
13099 7 jsauermann
;;;                                                                     } 34 Expr * r
13100 2 jsauermann
;--     push_rr (8 bit)
13101
        MOVE    R, -(SP)
13102 7 jsauermann
;;;                                                                     { 34 Expr * r
13103
;;;                                                                       { 35 Expr l - r
13104
;;;                                                                         { 36 Expr ++r
13105
;;;                                                                           { 37 Expression (variable name)
13106
;;;                                                                             expr_type = "identifier" (to)
13107 2 jsauermann
;--     load_rr_var to = -4(FP), SP at -7 (16 bit)
13108
        MOVE    3(SP), RR
13109 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
13110 2 jsauermann
;--     ++
13111
        ADD     RR, #0x0001
13112
;--     store_rr_var to = -4(FP), SP at -7
13113
        MOVE    RR, 3(SP)
13114 7 jsauermann
;;;                                                                         } 36 Expr ++r
13115 2 jsauermann
;--     l - r
13116
        SUB     RR, #0x0001
13117 7 jsauermann
;;;                                                                       } 35 Expr l - r
13118
;;;                                                                     } 34 Expr * r
13119 2 jsauermann
;--     move_rr_to_ll
13120
        MOVE    RR, LL
13121
;--     pop_rr (8 bit)
13122
        MOVE    (SP)+, RU
13123
;--     assign (8 bit)
13124
        MOVE    R, (LL)
13125 7 jsauermann
;;;                                                                   } 33 Expr l = r
13126
;;;                                                                 } 32 ExpressionStatement
13127 2 jsauermann
L30_cont_89:
13128 7 jsauermann
;;;                                                                 { 32 Expr --r
13129
;;;                                                                   { 33 Expression (variable name)
13130
;;;                                                                     expr_type = "identifier" (len)
13131 2 jsauermann
;--     load_rr_var len = -6(FP), SP at -6 (16 bit)
13132
        MOVE    0(SP), RR
13133 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
13134 2 jsauermann
;--     --
13135
        SUB     RR, #0x0001
13136
;--     store_rr_var len = -6(FP), SP at -6
13137
        MOVE    RR, 0(SP)
13138 7 jsauermann
;;;                                                                 } 32 Expr --r
13139 2 jsauermann
L30_tst_89:
13140 7 jsauermann
;;;                                                                 { 32 Expression (variable name)
13141
;;;                                                                   expr_type = "identifier" (len)
13142 2 jsauermann
;--     load_rr_var len = -6(FP), SP at -6 (16 bit)
13143
        MOVE    0(SP), RR
13144 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
13145 2 jsauermann
;--     branch_true
13146
        JMP     RRNZ, L30_loop_89
13147
L30_brk_90:
13148 7 jsauermann
;;;                                                               } 31 for Statement
13149
;;;                                                               { 31 ExpressionStatement
13150
;;;                                                                 { 32 Expression (variable name)
13151
;;;                                                                   expr_type = "identifier" (to)
13152 2 jsauermann
;--     load_rr_var to = -4(FP), SP at -6 (16 bit)
13153
        MOVE    2(SP), RR
13154 7 jsauermann
;;;                                                                 } 32 Expression (variable name)
13155
;;;                                                               } 31 ExpressionStatement
13156
;;;                                                               { 31 ExpressionStatement
13157 2 jsauermann
        MOVE  RR, SP
13158 7 jsauermann
;;;                                                               } 31 ExpressionStatement
13159
;;;                                                               { 31 ExpressionStatement
13160 2 jsauermann
        JMP  0x1EF0             ; &main
13161 7 jsauermann
;;;                                                               } 31 ExpressionStatement
13162
;;;                                                             } 30 List
13163 2 jsauermann
;--     pop 6 bytes
13164
        ADD     SP, #6
13165 7 jsauermann
;;;                                                           } 29 CompoundStatement
13166
;--     ret
13167 2 jsauermann
        RET
13168
;;; ------------------------------------;
13169 7 jsauermann
;;;                                                           { 29 FunctionDefinition
13170
;;;                                                             { 30 TypeName
13171
;;;                                                               { 31 TypeSpecifier (all)
13172
;;;                                                                 spec = void (10000)
13173
;;;                                                               } 31 TypeSpecifier (all)
13174
;;;                                                               { 31 List
13175
;;;                                                                 { 32 DeclItem
13176
;;;                                                                   what = DECL_NAME
13177
;;;                                                                   name = show_semas
13178
;;;                                                                 } 32 DeclItem
13179
;;;                                                               } 31 List
13180
;;;                                                             } 30 TypeName
13181
;;;                                                             { 30 List
13182
;;;                                                               { 31 DeclItem
13183
;;;                                                                 what = DECL_NAME
13184
;;;                                                                 name = show_semas
13185
;;;                                                               } 31 DeclItem
13186
;;;                                                               { 31 DeclItem
13187
;;;                                                                 what = DECL_FUN
13188
;;;                                                               } 31 DeclItem
13189
;;;                                                             } 30 List
13190 2 jsauermann
Cshow_semas:
13191 7 jsauermann
;;;                                                             { 30 CompoundStatement
13192
;;;                                                               { 31 List
13193
;;;                                                                 { 32 ExpressionStatement
13194
;;;                                                                   { 33 Expr l(r)
13195
;;;                                                                     { 34 TypeName
13196
;;;                                                                       { 35 TypeSpecifier (all)
13197
;;;                                                                         spec = int (80000)
13198
;;;                                                                       } 35 TypeSpecifier (all)
13199
;;;                                                                       { 35 List
13200
;;;                                                                         { 36 DeclItem
13201
;;;                                                                           what = DECL_NAME
13202
;;;                                                                           name = printf
13203
;;;                                                                         } 36 DeclItem
13204
;;;                                                                       } 35 List
13205
;;;                                                                     } 34 TypeName
13206
;;;                                                                     { 34 ParameterDeclaration
13207
;;;                                                                       isEllipsis = true
13208
;;;                                                                       { 35 TypeName
13209
;;;                                                                         { 36 TypeSpecifier (all)
13210
;;;                                                                           spec = const char (20100)
13211
;;;                                                                         } 36 TypeSpecifier (all)
13212
;;;                                                                         { 36 List
13213
;;;                                                                           { 37 DeclItem
13214
;;;                                                                             what = DECL_POINTER
13215
;;;                                                                             { 38 List
13216
;;;                                                                               { 39 Ptr
13217
;;;                                                                               } 39 Ptr
13218
;;;                                                                             } 38 List
13219
;;;                                                                           } 37 DeclItem
13220
;;;                                                                           { 37 DeclItem
13221
;;;                                                                             what = DECL_NAME
13222
;;;                                                                             name = format
13223
;;;                                                                           } 37 DeclItem
13224
;;;                                                                         } 36 List
13225
;;;                                                                       } 35 TypeName
13226
;;;                                                                     } 34 ParameterDeclaration
13227
;;;                                                                     { 34 StringExpression
13228 2 jsauermann
;--     load_rr_string
13229
        MOVE    #Cstr_55, RR
13230 7 jsauermann
;;;                                                                     } 34 StringExpression
13231 2 jsauermann
;--     push_rr (16 bit)
13232
        MOVE    RR, -(SP)
13233
;--     push 2 bytes
13234
;--     call
13235
        CALL    Cprintf
13236
;--     pop 2 bytes
13237
        ADD     SP, #2
13238 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13239
;;;                                                                 } 32 ExpressionStatement
13240
;;;                                                                 { 32 ExpressionStatement
13241
;;;                                                                   { 33 Expr l(r)
13242
;;;                                                                     { 34 TypeName
13243
;;;                                                                       { 35 TypeSpecifier (all)
13244
;;;                                                                         spec = void (10000)
13245
;;;                                                                       } 35 TypeSpecifier (all)
13246
;;;                                                                       { 35 List
13247
;;;                                                                         { 36 DeclItem
13248
;;;                                                                           what = DECL_NAME
13249
;;;                                                                           name = print_n
13250
;;;                                                                         } 36 DeclItem
13251
;;;                                                                       } 35 List
13252
;;;                                                                     } 34 TypeName
13253
;;;                                                                     { 34 Expr (l , r)
13254
;;;                                                                       { 35 ParameterDeclaration
13255
;;;                                                                         isEllipsis = false
13256
;;;                                                                         { 36 TypeName
13257
;;;                                                                           { 37 TypeSpecifier (all)
13258
;;;                                                                             spec = int (80000)
13259
;;;                                                                           } 37 TypeSpecifier (all)
13260
;;;                                                                           { 37 List
13261
;;;                                                                             { 38 DeclItem
13262
;;;                                                                               what = DECL_NAME
13263
;;;                                                                               name = count
13264
;;;                                                                             } 38 DeclItem
13265
;;;                                                                           } 37 List
13266
;;;                                                                         } 36 TypeName
13267
;;;                                                                       } 35 ParameterDeclaration
13268
;;;                                                                       { 35 NumericExpression (constant 79 = 0x4F)
13269 2 jsauermann
;--     load_rr_constant
13270
        MOVE    #0x004F, RR
13271 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 79 = 0x4F)
13272 2 jsauermann
;--     push_rr (16 bit)
13273
        MOVE    RR, -(SP)
13274 7 jsauermann
;;;                                                                       { 35 ParameterDeclaration
13275
;;;                                                                         isEllipsis = false
13276
;;;                                                                         { 36 TypeName
13277
;;;                                                                           { 37 TypeSpecifier (all)
13278
;;;                                                                             spec = char (20000)
13279
;;;                                                                           } 37 TypeSpecifier (all)
13280
;;;                                                                           { 37 List
13281
;;;                                                                             { 38 DeclItem
13282
;;;                                                                               what = DECL_NAME
13283
;;;                                                                               name = c
13284
;;;                                                                             } 38 DeclItem
13285
;;;                                                                           } 37 List
13286
;;;                                                                         } 36 TypeName
13287
;;;                                                                       } 35 ParameterDeclaration
13288
;;;                                                                       { 35 NumericExpression (constant 45 = 0x2D)
13289 2 jsauermann
;--     load_rr_constant
13290
        MOVE    #0x002D, RR
13291 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 45 = 0x2D)
13292 2 jsauermann
;--     push_rr (8 bit)
13293
        MOVE    R, -(SP)
13294 7 jsauermann
;;;                                                                     } 34 Expr (l , r)
13295 2 jsauermann
;--     push 0 bytes
13296
;--     call
13297
        CALL    Cprint_n
13298
;--     pop 3 bytes
13299
        ADD     SP, #3
13300 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13301
;;;                                                                 } 32 ExpressionStatement
13302
;;;                                                                 { 32 ExpressionStatement
13303
;;;                                                                   { 33 Expr l(r)
13304
;;;                                                                     { 34 TypeName
13305
;;;                                                                       { 35 TypeSpecifier (all)
13306
;;;                                                                         spec = int (80000)
13307
;;;                                                                       } 35 TypeSpecifier (all)
13308
;;;                                                                       { 35 List
13309
;;;                                                                         { 36 DeclItem
13310
;;;                                                                           what = DECL_NAME
13311
;;;                                                                           name = printf
13312
;;;                                                                         } 36 DeclItem
13313
;;;                                                                       } 35 List
13314
;;;                                                                     } 34 TypeName
13315
;;;                                                                     { 34 ParameterDeclaration
13316
;;;                                                                       isEllipsis = true
13317
;;;                                                                       { 35 TypeName
13318
;;;                                                                         { 36 TypeSpecifier (all)
13319
;;;                                                                           spec = const char (20100)
13320
;;;                                                                         } 36 TypeSpecifier (all)
13321
;;;                                                                         { 36 List
13322
;;;                                                                           { 37 DeclItem
13323
;;;                                                                             what = DECL_POINTER
13324
;;;                                                                             { 38 List
13325
;;;                                                                               { 39 Ptr
13326
;;;                                                                               } 39 Ptr
13327
;;;                                                                             } 38 List
13328
;;;                                                                           } 37 DeclItem
13329
;;;                                                                           { 37 DeclItem
13330
;;;                                                                             what = DECL_NAME
13331
;;;                                                                             name = format
13332
;;;                                                                           } 37 DeclItem
13333
;;;                                                                         } 36 List
13334
;;;                                                                       } 35 TypeName
13335
;;;                                                                     } 34 ParameterDeclaration
13336
;;;                                                                     { 34 StringExpression
13337 2 jsauermann
;--     load_rr_string
13338
        MOVE    #Cstr_56, RR
13339 7 jsauermann
;;;                                                                     } 34 StringExpression
13340 2 jsauermann
;--     push_rr (16 bit)
13341
        MOVE    RR, -(SP)
13342
;--     push 2 bytes
13343
;--     call
13344
        CALL    Cprintf
13345
;--     pop 2 bytes
13346
        ADD     SP, #2
13347 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13348
;;;                                                                 } 32 ExpressionStatement
13349
;;;                                                                 { 32 ExpressionStatement
13350
;;;                                                                   { 33 Expr l(r)
13351
;;;                                                                     { 34 TypeName
13352
;;;                                                                       { 35 TypeSpecifier (all)
13353
;;;                                                                         spec = void (10000)
13354
;;;                                                                       } 35 TypeSpecifier (all)
13355
;;;                                                                       { 35 List
13356
;;;                                                                         { 36 DeclItem
13357
;;;                                                                           what = DECL_NAME
13358
;;;                                                                           name = show_sema
13359
;;;                                                                         } 36 DeclItem
13360
;;;                                                                       } 35 List
13361
;;;                                                                     } 34 TypeName
13362
;;;                                                                     { 34 ParameterDeclaration
13363
;;;                                                                       isEllipsis = false
13364
;;;                                                                       { 35 TypeName
13365
;;;                                                                         { 36 TypeSpecifier (struct/union)
13366
;;;                                                                           spec = struct '_semaphore' (800000)
13367
;;;                                                                           name = _semaphore
13368
;;;                                                                         } 36 TypeSpecifier (struct/union)
13369
;;;                                                                         { 36 List
13370
;;;                                                                           { 37 DeclItem
13371
;;;                                                                             what = DECL_POINTER
13372
;;;                                                                             { 38 List
13373
;;;                                                                               { 39 Ptr
13374
;;;                                                                               } 39 Ptr
13375
;;;                                                                             } 38 List
13376
;;;                                                                           } 37 DeclItem
13377
;;;                                                                           { 37 DeclItem
13378
;;;                                                                             what = DECL_NAME
13379
;;;                                                                             name = s
13380
;;;                                                                           } 37 DeclItem
13381
;;;                                                                         } 36 List
13382
;;;                                                                       } 35 TypeName
13383
;;;                                                                     } 34 ParameterDeclaration
13384
;;;                                                                     { 34 Expr & r
13385 2 jsauermann
;--     load_address serial_out
13386
        MOVE    #Cserial_out, RR
13387 7 jsauermann
;;;                                                                     } 34 Expr & r
13388 2 jsauermann
;--     push_rr (16 bit)
13389
        MOVE    RR, -(SP)
13390
;--     push 0 bytes
13391
;--     call
13392
        CALL    Cshow_sema
13393
;--     pop 2 bytes
13394
        ADD     SP, #2
13395 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13396
;;;                                                                 } 32 ExpressionStatement
13397
;;;                                                                 { 32 ExpressionStatement
13398
;;;                                                                   { 33 Expr l(r)
13399
;;;                                                                     { 34 TypeName
13400
;;;                                                                       { 35 TypeSpecifier (all)
13401
;;;                                                                         spec = void (10000)
13402
;;;                                                                       } 35 TypeSpecifier (all)
13403
;;;                                                                       { 35 List
13404
;;;                                                                         { 36 DeclItem
13405
;;;                                                                           what = DECL_NAME
13406
;;;                                                                           name = show_sema
13407
;;;                                                                         } 36 DeclItem
13408
;;;                                                                       } 35 List
13409
;;;                                                                     } 34 TypeName
13410
;;;                                                                     { 34 ParameterDeclaration
13411
;;;                                                                       isEllipsis = false
13412
;;;                                                                       { 35 TypeName
13413
;;;                                                                         { 36 TypeSpecifier (struct/union)
13414
;;;                                                                           spec = struct '_semaphore' (800000)
13415
;;;                                                                           name = _semaphore
13416
;;;                                                                         } 36 TypeSpecifier (struct/union)
13417
;;;                                                                         { 36 List
13418
;;;                                                                           { 37 DeclItem
13419
;;;                                                                             what = DECL_POINTER
13420
;;;                                                                             { 38 List
13421
;;;                                                                               { 39 Ptr
13422
;;;                                                                               } 39 Ptr
13423
;;;                                                                             } 38 List
13424
;;;                                                                           } 37 DeclItem
13425
;;;                                                                           { 37 DeclItem
13426
;;;                                                                             what = DECL_NAME
13427
;;;                                                                             name = s
13428
;;;                                                                           } 37 DeclItem
13429
;;;                                                                         } 36 List
13430
;;;                                                                       } 35 TypeName
13431
;;;                                                                     } 34 ParameterDeclaration
13432
;;;                                                                     { 34 Expr & r
13433 2 jsauermann
;--     load_address rx_sema
13434
        MOVE    #Crx_sema, RR
13435 7 jsauermann
;;;                                                                     } 34 Expr & r
13436 2 jsauermann
;--     push_rr (16 bit)
13437
        MOVE    RR, -(SP)
13438
;--     push 0 bytes
13439
;--     call
13440
        CALL    Cshow_sema
13441
;--     pop 2 bytes
13442
        ADD     SP, #2
13443 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13444
;;;                                                                 } 32 ExpressionStatement
13445
;;;                                                                 { 32 ExpressionStatement
13446
;;;                                                                   { 33 Expr l(r)
13447
;;;                                                                     { 34 TypeName
13448
;;;                                                                       { 35 TypeSpecifier (all)
13449
;;;                                                                         spec = void (10000)
13450
;;;                                                                       } 35 TypeSpecifier (all)
13451
;;;                                                                       { 35 List
13452
;;;                                                                         { 36 DeclItem
13453
;;;                                                                           what = DECL_NAME
13454
;;;                                                                           name = show_sema
13455
;;;                                                                         } 36 DeclItem
13456
;;;                                                                       } 35 List
13457
;;;                                                                     } 34 TypeName
13458
;;;                                                                     { 34 ParameterDeclaration
13459
;;;                                                                       isEllipsis = false
13460
;;;                                                                       { 35 TypeName
13461
;;;                                                                         { 36 TypeSpecifier (struct/union)
13462
;;;                                                                           spec = struct '_semaphore' (800000)
13463
;;;                                                                           name = _semaphore
13464
;;;                                                                         } 36 TypeSpecifier (struct/union)
13465
;;;                                                                         { 36 List
13466
;;;                                                                           { 37 DeclItem
13467
;;;                                                                             what = DECL_POINTER
13468
;;;                                                                             { 38 List
13469
;;;                                                                               { 39 Ptr
13470
;;;                                                                               } 39 Ptr
13471
;;;                                                                             } 38 List
13472
;;;                                                                           } 37 DeclItem
13473
;;;                                                                           { 37 DeclItem
13474
;;;                                                                             what = DECL_NAME
13475
;;;                                                                             name = s
13476
;;;                                                                           } 37 DeclItem
13477
;;;                                                                         } 36 List
13478
;;;                                                                       } 35 TypeName
13479
;;;                                                                     } 34 ParameterDeclaration
13480
;;;                                                                     { 34 Expr & r
13481 2 jsauermann
;--     load_address tx_sema
13482
        MOVE    #Ctx_sema, RR
13483 7 jsauermann
;;;                                                                     } 34 Expr & r
13484 2 jsauermann
;--     push_rr (16 bit)
13485
        MOVE    RR, -(SP)
13486
;--     push 0 bytes
13487
;--     call
13488
        CALL    Cshow_sema
13489
;--     pop 2 bytes
13490
        ADD     SP, #2
13491 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13492
;;;                                                                 } 32 ExpressionStatement
13493
;;;                                                                 { 32 ExpressionStatement
13494
;;;                                                                   { 33 Expr l(r)
13495
;;;                                                                     { 34 TypeName
13496
;;;                                                                       { 35 TypeSpecifier (all)
13497
;;;                                                                         spec = void (10000)
13498
;;;                                                                       } 35 TypeSpecifier (all)
13499
;;;                                                                       { 35 List
13500
;;;                                                                         { 36 DeclItem
13501
;;;                                                                           what = DECL_NAME
13502
;;;                                                                           name = show_sema
13503
;;;                                                                         } 36 DeclItem
13504
;;;                                                                       } 35 List
13505
;;;                                                                     } 34 TypeName
13506
;;;                                                                     { 34 ParameterDeclaration
13507
;;;                                                                       isEllipsis = false
13508
;;;                                                                       { 35 TypeName
13509
;;;                                                                         { 36 TypeSpecifier (struct/union)
13510
;;;                                                                           spec = struct '_semaphore' (800000)
13511
;;;                                                                           name = _semaphore
13512
;;;                                                                         } 36 TypeSpecifier (struct/union)
13513
;;;                                                                         { 36 List
13514
;;;                                                                           { 37 DeclItem
13515
;;;                                                                             what = DECL_POINTER
13516
;;;                                                                             { 38 List
13517
;;;                                                                               { 39 Ptr
13518
;;;                                                                               } 39 Ptr
13519
;;;                                                                             } 38 List
13520
;;;                                                                           } 37 DeclItem
13521
;;;                                                                           { 37 DeclItem
13522
;;;                                                                             what = DECL_NAME
13523
;;;                                                                             name = s
13524
;;;                                                                           } 37 DeclItem
13525
;;;                                                                         } 36 List
13526
;;;                                                                       } 35 TypeName
13527
;;;                                                                     } 34 ParameterDeclaration
13528
;;;                                                                     { 34 Expr & r
13529 2 jsauermann
;--     load_address t2_control
13530
        MOVE    #Ct2_control, RR
13531 7 jsauermann
;;;                                                                     } 34 Expr & r
13532 2 jsauermann
;--     push_rr (16 bit)
13533
        MOVE    RR, -(SP)
13534
;--     push 0 bytes
13535
;--     call
13536
        CALL    Cshow_sema
13537
;--     pop 2 bytes
13538
        ADD     SP, #2
13539 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13540
;;;                                                                 } 32 ExpressionStatement
13541
;;;                                                                 { 32 ExpressionStatement
13542
;;;                                                                   { 33 Expr l(r)
13543
;;;                                                                     { 34 TypeName
13544
;;;                                                                       { 35 TypeSpecifier (all)
13545
;;;                                                                         spec = void (10000)
13546
;;;                                                                       } 35 TypeSpecifier (all)
13547
;;;                                                                       { 35 List
13548
;;;                                                                         { 36 DeclItem
13549
;;;                                                                           what = DECL_NAME
13550
;;;                                                                           name = show_sema
13551
;;;                                                                         } 36 DeclItem
13552
;;;                                                                       } 35 List
13553
;;;                                                                     } 34 TypeName
13554
;;;                                                                     { 34 ParameterDeclaration
13555
;;;                                                                       isEllipsis = false
13556
;;;                                                                       { 35 TypeName
13557
;;;                                                                         { 36 TypeSpecifier (struct/union)
13558
;;;                                                                           spec = struct '_semaphore' (800000)
13559
;;;                                                                           name = _semaphore
13560
;;;                                                                         } 36 TypeSpecifier (struct/union)
13561
;;;                                                                         { 36 List
13562
;;;                                                                           { 37 DeclItem
13563
;;;                                                                             what = DECL_POINTER
13564
;;;                                                                             { 38 List
13565
;;;                                                                               { 39 Ptr
13566
;;;                                                                               } 39 Ptr
13567
;;;                                                                             } 38 List
13568
;;;                                                                           } 37 DeclItem
13569
;;;                                                                           { 37 DeclItem
13570
;;;                                                                             what = DECL_NAME
13571
;;;                                                                             name = s
13572
;;;                                                                           } 37 DeclItem
13573
;;;                                                                         } 36 List
13574
;;;                                                                       } 35 TypeName
13575
;;;                                                                     } 34 ParameterDeclaration
13576
;;;                                                                     { 34 Expr & r
13577 2 jsauermann
;--     load_address t3_control
13578
        MOVE    #Ct3_control, RR
13579 7 jsauermann
;;;                                                                     } 34 Expr & r
13580 2 jsauermann
;--     push_rr (16 bit)
13581
        MOVE    RR, -(SP)
13582
;--     push 0 bytes
13583
;--     call
13584
        CALL    Cshow_sema
13585
;--     pop 2 bytes
13586
        ADD     SP, #2
13587 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13588
;;;                                                                 } 32 ExpressionStatement
13589
;;;                                                                 { 32 ExpressionStatement
13590
;;;                                                                   { 33 Expr l(r)
13591
;;;                                                                     { 34 TypeName
13592
;;;                                                                       { 35 TypeSpecifier (all)
13593
;;;                                                                         spec = void (10000)
13594
;;;                                                                       } 35 TypeSpecifier (all)
13595
;;;                                                                       { 35 List
13596
;;;                                                                         { 36 DeclItem
13597
;;;                                                                           what = DECL_NAME
13598
;;;                                                                           name = print_n
13599
;;;                                                                         } 36 DeclItem
13600
;;;                                                                       } 35 List
13601
;;;                                                                     } 34 TypeName
13602
;;;                                                                     { 34 Expr (l , r)
13603
;;;                                                                       { 35 ParameterDeclaration
13604
;;;                                                                         isEllipsis = false
13605
;;;                                                                         { 36 TypeName
13606
;;;                                                                           { 37 TypeSpecifier (all)
13607
;;;                                                                             spec = int (80000)
13608
;;;                                                                           } 37 TypeSpecifier (all)
13609
;;;                                                                           { 37 List
13610
;;;                                                                             { 38 DeclItem
13611
;;;                                                                               what = DECL_NAME
13612
;;;                                                                               name = count
13613
;;;                                                                             } 38 DeclItem
13614
;;;                                                                           } 37 List
13615
;;;                                                                         } 36 TypeName
13616
;;;                                                                       } 35 ParameterDeclaration
13617
;;;                                                                       { 35 NumericExpression (constant 79 = 0x4F)
13618 2 jsauermann
;--     load_rr_constant
13619
        MOVE    #0x004F, RR
13620 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 79 = 0x4F)
13621 2 jsauermann
;--     push_rr (16 bit)
13622
        MOVE    RR, -(SP)
13623 7 jsauermann
;;;                                                                       { 35 ParameterDeclaration
13624
;;;                                                                         isEllipsis = false
13625
;;;                                                                         { 36 TypeName
13626
;;;                                                                           { 37 TypeSpecifier (all)
13627
;;;                                                                             spec = char (20000)
13628
;;;                                                                           } 37 TypeSpecifier (all)
13629
;;;                                                                           { 37 List
13630
;;;                                                                             { 38 DeclItem
13631
;;;                                                                               what = DECL_NAME
13632
;;;                                                                               name = c
13633
;;;                                                                             } 38 DeclItem
13634
;;;                                                                           } 37 List
13635
;;;                                                                         } 36 TypeName
13636
;;;                                                                       } 35 ParameterDeclaration
13637
;;;                                                                       { 35 NumericExpression (constant 61 = 0x3D)
13638 2 jsauermann
;--     load_rr_constant
13639
        MOVE    #0x003D, RR
13640 7 jsauermann
;;;                                                                       } 35 NumericExpression (constant 61 = 0x3D)
13641 2 jsauermann
;--     push_rr (8 bit)
13642
        MOVE    R, -(SP)
13643 7 jsauermann
;;;                                                                     } 34 Expr (l , r)
13644 2 jsauermann
;--     push 0 bytes
13645
;--     call
13646
        CALL    Cprint_n
13647
;--     pop 3 bytes
13648
        ADD     SP, #3
13649 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13650
;;;                                                                 } 32 ExpressionStatement
13651
;;;                                                                 { 32 ExpressionStatement
13652
;;;                                                                   { 33 Expr l(r)
13653
;;;                                                                     { 34 TypeName
13654
;;;                                                                       { 35 TypeSpecifier (all)
13655
;;;                                                                         spec = int (80000)
13656
;;;                                                                       } 35 TypeSpecifier (all)
13657
;;;                                                                       { 35 List
13658
;;;                                                                         { 36 DeclItem
13659
;;;                                                                           what = DECL_NAME
13660
;;;                                                                           name = printf
13661
;;;                                                                         } 36 DeclItem
13662
;;;                                                                       } 35 List
13663
;;;                                                                     } 34 TypeName
13664
;;;                                                                     { 34 ParameterDeclaration
13665
;;;                                                                       isEllipsis = true
13666
;;;                                                                       { 35 TypeName
13667
;;;                                                                         { 36 TypeSpecifier (all)
13668
;;;                                                                           spec = const char (20100)
13669
;;;                                                                         } 36 TypeSpecifier (all)
13670
;;;                                                                         { 36 List
13671
;;;                                                                           { 37 DeclItem
13672
;;;                                                                             what = DECL_POINTER
13673
;;;                                                                             { 38 List
13674
;;;                                                                               { 39 Ptr
13675
;;;                                                                               } 39 Ptr
13676
;;;                                                                             } 38 List
13677
;;;                                                                           } 37 DeclItem
13678
;;;                                                                           { 37 DeclItem
13679
;;;                                                                             what = DECL_NAME
13680
;;;                                                                             name = format
13681
;;;                                                                           } 37 DeclItem
13682
;;;                                                                         } 36 List
13683
;;;                                                                       } 35 TypeName
13684
;;;                                                                     } 34 ParameterDeclaration
13685
;;;                                                                     { 34 StringExpression
13686 2 jsauermann
;--     load_rr_string
13687
        MOVE    #Cstr_57, RR
13688 7 jsauermann
;;;                                                                     } 34 StringExpression
13689 2 jsauermann
;--     push_rr (16 bit)
13690
        MOVE    RR, -(SP)
13691
;--     push 2 bytes
13692
;--     call
13693
        CALL    Cprintf
13694
;--     pop 2 bytes
13695
        ADD     SP, #2
13696 7 jsauermann
;;;                                                                   } 33 Expr l(r)
13697
;;;                                                                 } 32 ExpressionStatement
13698
;;;                                                                 { 32 IfElseStatement
13699
;;;                                                                   { 33 Expression (variable name)
13700
;;;                                                                     expr_type = "identifier" (serial_in_overflows)
13701 2 jsauermann
;--     load_rr_var serial_in_overflows, (16 bit)
13702
        MOVE    (Cserial_in_overflows), RR
13703 7 jsauermann
;;;                                                                   } 33 Expression (variable name)
13704 2 jsauermann
;--     branch_false
13705
        JMP     RRZ, L31_endif_91
13706 7 jsauermann
;;;                                                                   { 33 ExpressionStatement
13707
;;;                                                                     { 34 Expr l(r)
13708
;;;                                                                       { 35 TypeName
13709
;;;                                                                         { 36 TypeSpecifier (all)
13710
;;;                                                                           spec = int (80000)
13711
;;;                                                                         } 36 TypeSpecifier (all)
13712
;;;                                                                         { 36 List
13713
;;;                                                                           { 37 DeclItem
13714
;;;                                                                             what = DECL_NAME
13715
;;;                                                                             name = printf
13716
;;;                                                                           } 37 DeclItem
13717
;;;                                                                         } 36 List
13718
;;;                                                                       } 35 TypeName
13719
;;;                                                                       { 35 Expr (l , r)
13720
;;;                                                                         { 36 ParameterDeclaration
13721
;;;                                                                           isEllipsis = true
13722
;;;                                                                           { 37 TypeName
13723
;;;                                                                             { 38 TypeSpecifier (all)
13724
;;;                                                                               spec = const char (20100)
13725
;;;                                                                             } 38 TypeSpecifier (all)
13726
;;;                                                                             { 38 List
13727
;;;                                                                               { 39 DeclItem
13728
;;;                                                                                 what = DECL_POINTER
13729
;;;                                                                                 { 40 List
13730
;;;                                                                                   { 41 Ptr
13731
;;;                                                                                   } 41 Ptr
13732
;;;                                                                                 } 40 List
13733
;;;                                                                               } 39 DeclItem
13734
;;;                                                                               { 39 DeclItem
13735
;;;                                                                                 what = DECL_NAME
13736
;;;                                                                                 name = format
13737
;;;                                                                               } 39 DeclItem
13738
;;;                                                                             } 38 List
13739
;;;                                                                           } 37 TypeName
13740
;;;                                                                         } 36 ParameterDeclaration
13741
;;;                                                                         { 36 Expression (variable name)
13742
;;;                                                                           expr_type = "identifier" (serial_in_overflows)
13743 2 jsauermann
;--     load_rr_var serial_in_overflows, (16 bit)
13744
        MOVE    (Cserial_in_overflows), RR
13745 7 jsauermann
;;;                                                                         } 36 Expression (variable name)
13746 2 jsauermann
;--     push_rr (16 bit)
13747
        MOVE    RR, -(SP)
13748 7 jsauermann
;;;                                                                         { 36 ParameterDeclaration
13749
;;;                                                                           isEllipsis = true
13750
;;;                                                                           { 37 TypeName
13751
;;;                                                                             { 38 TypeSpecifier (all)
13752
;;;                                                                               spec = const char (20100)
13753
;;;                                                                             } 38 TypeSpecifier (all)
13754
;;;                                                                             { 38 List
13755
;;;                                                                               { 39 DeclItem
13756
;;;                                                                                 what = DECL_POINTER
13757
;;;                                                                                 { 40 List
13758
;;;                                                                                   { 41 Ptr
13759
;;;                                                                                   } 41 Ptr
13760
;;;                                                                                 } 40 List
13761
;;;                                                                               } 39 DeclItem
13762
;;;                                                                               { 39 DeclItem
13763
;;;                                                                                 what = DECL_NAME
13764
;;;                                                                                 name = format
13765
;;;                                                                               } 39 DeclItem
13766
;;;                                                                             } 38 List
13767
;;;                                                                           } 37 TypeName
13768
;;;                                                                         } 36 ParameterDeclaration
13769
;;;                                                                         { 36 StringExpression
13770 2 jsauermann
;--     load_rr_string
13771
        MOVE    #Cstr_58, RR
13772 7 jsauermann
;;;                                                                         } 36 StringExpression
13773 2 jsauermann
;--     push_rr (16 bit)
13774
        MOVE    RR, -(SP)
13775 7 jsauermann
;;;                                                                       } 35 Expr (l , r)
13776 2 jsauermann
;--     push 2 bytes
13777
;--     call
13778
        CALL    Cprintf
13779
;--     pop 4 bytes
13780
        ADD     SP, #4
13781 7 jsauermann
;;;                                                                     } 34 Expr l(r)
13782
;;;                                                                   } 33 ExpressionStatement
13783 2 jsauermann
L31_endif_91:
13784 7 jsauermann
;;;                                                                 } 32 IfElseStatement
13785
;;;                                                               } 31 List
13786
;--     pop 0 bytes
13787
;;;                                                             } 30 CompoundStatement
13788 2 jsauermann
;--     ret
13789
        RET
13790
;;; ------------------------------------;
13791 7 jsauermann
;;;                                                             { 30 FunctionDefinition
13792
;;;                                                               { 31 TypeName
13793
;;;                                                                 { 32 TypeSpecifier (all)
13794
;;;                                                                   spec = void (10000)
13795
;;;                                                                 } 32 TypeSpecifier (all)
13796
;;;                                                                 { 32 List
13797
;;;                                                                   { 33 DeclItem
13798
;;;                                                                     what = DECL_NAME
13799
;;;                                                                     name = show_tasks
13800
;;;                                                                   } 33 DeclItem
13801
;;;                                                                 } 32 List
13802
;;;                                                               } 31 TypeName
13803
;;;                                                               { 31 List
13804
;;;                                                                 { 32 DeclItem
13805
;;;                                                                   what = DECL_NAME
13806
;;;                                                                   name = show_tasks
13807
;;;                                                                 } 32 DeclItem
13808
;;;                                                                 { 32 DeclItem
13809
;;;                                                                   what = DECL_FUN
13810
;;;                                                                 } 32 DeclItem
13811
;;;                                                               } 31 List
13812 2 jsauermann
Cshow_tasks:
13813 7 jsauermann
;;;                                                               { 31 CompoundStatement
13814
;;;                                                                 { 32 InitDeclarator
13815
;;;                                                                   { 33 List
13816
;;;                                                                     { 34 DeclItem
13817
;;;                                                                       what = DECL_POINTER
13818
;;;                                                                       { 35 List
13819
;;;                                                                         { 36 Ptr
13820
;;;                                                                         } 36 Ptr
13821
;;;                                                                       } 35 List
13822
;;;                                                                     } 34 DeclItem
13823
;;;                                                                     { 34 DeclItem
13824
;;;                                                                       what = DECL_NAME
13825
;;;                                                                       name = t
13826
;;;                                                                     } 34 DeclItem
13827
;;;                                                                   } 33 List
13828
;;;                                                                   { 33 Initializer (skalar)
13829
;;;                                                                     { 34 Expr & r
13830 2 jsauermann
;--     load_address task_idle
13831
        MOVE    #Ctask_idle, RR
13832 7 jsauermann
;;;                                                                     } 34 Expr & r
13833 2 jsauermann
;--     push_rr (16 bit)
13834
        MOVE    RR, -(SP)
13835 7 jsauermann
;;;                                                                   } 33 Initializer (skalar)
13836
;;;                                                                 } 32 InitDeclarator
13837
;;;                                                                 { 32 List
13838
;;;                                                                   { 33 ExpressionStatement
13839
;;;                                                                     { 34 Expr l(r)
13840
;;;                                                                       { 35 TypeName
13841
;;;                                                                         { 36 TypeSpecifier (all)
13842
;;;                                                                           spec = int (80000)
13843
;;;                                                                         } 36 TypeSpecifier (all)
13844
;;;                                                                         { 36 List
13845
;;;                                                                           { 37 DeclItem
13846
;;;                                                                             what = DECL_NAME
13847
;;;                                                                             name = printf
13848
;;;                                                                           } 37 DeclItem
13849
;;;                                                                         } 36 List
13850
;;;                                                                       } 35 TypeName
13851
;;;                                                                       { 35 ParameterDeclaration
13852
;;;                                                                         isEllipsis = true
13853
;;;                                                                         { 36 TypeName
13854
;;;                                                                           { 37 TypeSpecifier (all)
13855
;;;                                                                             spec = const char (20100)
13856
;;;                                                                           } 37 TypeSpecifier (all)
13857
;;;                                                                           { 37 List
13858
;;;                                                                             { 38 DeclItem
13859
;;;                                                                               what = DECL_POINTER
13860
;;;                                                                               { 39 List
13861
;;;                                                                                 { 40 Ptr
13862
;;;                                                                                 } 40 Ptr
13863
;;;                                                                               } 39 List
13864
;;;                                                                             } 38 DeclItem
13865
;;;                                                                             { 38 DeclItem
13866
;;;                                                                               what = DECL_NAME
13867
;;;                                                                               name = format
13868
;;;                                                                             } 38 DeclItem
13869
;;;                                                                           } 37 List
13870
;;;                                                                         } 36 TypeName
13871
;;;                                                                       } 35 ParameterDeclaration
13872
;;;                                                                       { 35 StringExpression
13873 2 jsauermann
;--     load_rr_string
13874
        MOVE    #Cstr_59, RR
13875 7 jsauermann
;;;                                                                       } 35 StringExpression
13876 2 jsauermann
;--     push_rr (16 bit)
13877
        MOVE    RR, -(SP)
13878
;--     push 2 bytes
13879
;--     call
13880
        CALL    Cprintf
13881
;--     pop 2 bytes
13882
        ADD     SP, #2
13883 7 jsauermann
;;;                                                                     } 34 Expr l(r)
13884
;;;                                                                   } 33 ExpressionStatement
13885
;;;                                                                   { 33 ExpressionStatement
13886
;;;                                                                     { 34 Expr l(r)
13887
;;;                                                                       { 35 TypeName
13888
;;;                                                                         { 36 TypeSpecifier (all)
13889
;;;                                                                           spec = void (10000)
13890
;;;                                                                         } 36 TypeSpecifier (all)
13891
;;;                                                                         { 36 List
13892
;;;                                                                           { 37 DeclItem
13893
;;;                                                                             what = DECL_NAME
13894
;;;                                                                             name = print_n
13895
;;;                                                                           } 37 DeclItem
13896
;;;                                                                         } 36 List
13897
;;;                                                                       } 35 TypeName
13898
;;;                                                                       { 35 Expr (l , r)
13899
;;;                                                                         { 36 ParameterDeclaration
13900
;;;                                                                           isEllipsis = false
13901
;;;                                                                           { 37 TypeName
13902
;;;                                                                             { 38 TypeSpecifier (all)
13903
;;;                                                                               spec = int (80000)
13904
;;;                                                                             } 38 TypeSpecifier (all)
13905
;;;                                                                             { 38 List
13906
;;;                                                                               { 39 DeclItem
13907
;;;                                                                                 what = DECL_NAME
13908
;;;                                                                                 name = count
13909
;;;                                                                               } 39 DeclItem
13910
;;;                                                                             } 38 List
13911
;;;                                                                           } 37 TypeName
13912
;;;                                                                         } 36 ParameterDeclaration
13913
;;;                                                                         { 36 NumericExpression (constant 79 = 0x4F)
13914 2 jsauermann
;--     load_rr_constant
13915
        MOVE    #0x004F, RR
13916 7 jsauermann
;;;                                                                         } 36 NumericExpression (constant 79 = 0x4F)
13917 2 jsauermann
;--     push_rr (16 bit)
13918
        MOVE    RR, -(SP)
13919 7 jsauermann
;;;                                                                         { 36 ParameterDeclaration
13920
;;;                                                                           isEllipsis = false
13921
;;;                                                                           { 37 TypeName
13922
;;;                                                                             { 38 TypeSpecifier (all)
13923
;;;                                                                               spec = char (20000)
13924
;;;                                                                             } 38 TypeSpecifier (all)
13925
;;;                                                                             { 38 List
13926
;;;                                                                               { 39 DeclItem
13927
;;;                                                                                 what = DECL_NAME
13928
;;;                                                                                 name = c
13929
;;;                                                                               } 39 DeclItem
13930
;;;                                                                             } 38 List
13931
;;;                                                                           } 37 TypeName
13932
;;;                                                                         } 36 ParameterDeclaration
13933
;;;                                                                         { 36 NumericExpression (constant 45 = 0x2D)
13934 2 jsauermann
;--     load_rr_constant
13935
        MOVE    #0x002D, RR
13936 7 jsauermann
;;;                                                                         } 36 NumericExpression (constant 45 = 0x2D)
13937 2 jsauermann
;--     push_rr (8 bit)
13938
        MOVE    R, -(SP)
13939 7 jsauermann
;;;                                                                       } 35 Expr (l , r)
13940 2 jsauermann
;--     push 0 bytes
13941
;--     call
13942
        CALL    Cprint_n
13943
;--     pop 3 bytes
13944
        ADD     SP, #3
13945 7 jsauermann
;;;                                                                     } 34 Expr l(r)
13946
;;;                                                                   } 33 ExpressionStatement
13947
;;;                                                                   { 33 ExpressionStatement
13948
;;;                                                                     { 34 Expr l(r)
13949
;;;                                                                       { 35 TypeName
13950
;;;                                                                         { 36 TypeSpecifier (all)
13951
;;;                                                                           spec = int (80000)
13952
;;;                                                                         } 36 TypeSpecifier (all)
13953
;;;                                                                         { 36 List
13954
;;;                                                                           { 37 DeclItem
13955
;;;                                                                             what = DECL_NAME
13956
;;;                                                                             name = printf
13957
;;;                                                                           } 37 DeclItem
13958
;;;                                                                         } 36 List
13959
;;;                                                                       } 35 TypeName
13960
;;;                                                                       { 35 ParameterDeclaration
13961
;;;                                                                         isEllipsis = true
13962
;;;                                                                         { 36 TypeName
13963
;;;                                                                           { 37 TypeSpecifier (all)
13964
;;;                                                                             spec = const char (20100)
13965
;;;                                                                           } 37 TypeSpecifier (all)
13966
;;;                                                                           { 37 List
13967
;;;                                                                             { 38 DeclItem
13968
;;;                                                                               what = DECL_POINTER
13969
;;;                                                                               { 39 List
13970
;;;                                                                                 { 40 Ptr
13971
;;;                                                                                 } 40 Ptr
13972
;;;                                                                               } 39 List
13973
;;;                                                                             } 38 DeclItem
13974
;;;                                                                             { 38 DeclItem
13975
;;;                                                                               what = DECL_NAME
13976
;;;                                                                               name = format
13977
;;;                                                                             } 38 DeclItem
13978
;;;                                                                           } 37 List
13979
;;;                                                                         } 36 TypeName
13980
;;;                                                                       } 35 ParameterDeclaration
13981
;;;                                                                       { 35 StringExpression
13982 2 jsauermann
;--     load_rr_string
13983 10 jsauermann
        MOVE    #Cstr_61, RR
13984 7 jsauermann
;;;                                                                       } 35 StringExpression
13985 2 jsauermann
;--     push_rr (16 bit)
13986
        MOVE    RR, -(SP)
13987
;--     push 2 bytes
13988
;--     call
13989
        CALL    Cprintf
13990
;--     pop 2 bytes
13991
        ADD     SP, #2
13992 7 jsauermann
;;;                                                                     } 34 Expr l(r)
13993
;;;                                                                   } 33 ExpressionStatement
13994
;;;                                                                   { 33 do while Statement
13995 2 jsauermann
L32_loop_92:
13996 7 jsauermann
;;;                                                                     { 34 CompoundStatement
13997
;;;                                                                       { 35 List
13998
;;;                                                                         { 36 ExpressionStatement
13999
;;;                                                                           { 37 Expr l(r)
14000
;;;                                                                             { 38 TypeName
14001
;;;                                                                               { 39 TypeSpecifier (all)
14002
;;;                                                                                 spec = int (80000)
14003
;;;                                                                               } 39 TypeSpecifier (all)
14004
;;;                                                                               { 39 List
14005
;;;                                                                                 { 40 DeclItem
14006
;;;                                                                                   what = DECL_NAME
14007
;;;                                                                                   name = printf
14008
;;;                                                                                 } 40 DeclItem
14009
;;;                                                                               } 39 List
14010
;;;                                                                             } 38 TypeName
14011
;;;                                                                             { 38 Expr (l , r)
14012
;;;                                                                               { 39 ParameterDeclaration
14013
;;;                                                                                 isEllipsis = true
14014
;;;                                                                                 { 40 TypeName
14015
;;;                                                                                   { 41 TypeSpecifier (all)
14016
;;;                                                                                     spec = const char (20100)
14017
;;;                                                                                   } 41 TypeSpecifier (all)
14018
;;;                                                                                   { 41 List
14019
;;;                                                                                     { 42 DeclItem
14020
;;;                                                                                       what = DECL_POINTER
14021
;;;                                                                                       { 43 List
14022
;;;                                                                                         { 44 Ptr
14023
;;;                                                                                         } 44 Ptr
14024
;;;                                                                                       } 43 List
14025
;;;                                                                                     } 42 DeclItem
14026
;;;                                                                                     { 42 DeclItem
14027
;;;                                                                                       what = DECL_NAME
14028
;;;                                                                                       name = format
14029
;;;                                                                                     } 42 DeclItem
14030
;;;                                                                                   } 41 List
14031
;;;                                                                                 } 40 TypeName
14032
;;;                                                                               } 39 ParameterDeclaration
14033
;;;                                                                               { 39 Expr l(r)
14034
;;;                                                                                 { 40 TypeName
14035
;;;                                                                                   { 41 TypeSpecifier (all)
14036
;;;                                                                                     spec = int (80000)
14037
;;;                                                                                   } 41 TypeSpecifier (all)
14038
;;;                                                                                   { 41 List
14039
;;;                                                                                     { 42 DeclItem
14040
;;;                                                                                       what = DECL_NAME
14041
;;;                                                                                       name = stack_used
14042
;;;                                                                                     } 42 DeclItem
14043
;;;                                                                                   } 41 List
14044
;;;                                                                                 } 40 TypeName
14045
;;;                                                                                 { 40 ParameterDeclaration
14046
;;;                                                                                   isEllipsis = false
14047
;;;                                                                                   { 41 TypeName
14048
;;;                                                                                     { 42 TypeSpecifier (struct/union)
14049
;;;                                                                                       spec = struct '_task' (800000)
14050
;;;                                                                                       name = _task
14051
;;;                                                                                     } 42 TypeSpecifier (struct/union)
14052
;;;                                                                                     { 42 List
14053
;;;                                                                                       { 43 DeclItem
14054
;;;                                                                                         what = DECL_POINTER
14055
;;;                                                                                         { 44 List
14056
;;;                                                                                           { 45 Ptr
14057
;;;                                                                                           } 45 Ptr
14058
;;;                                                                                         } 44 List
14059
;;;                                                                                       } 43 DeclItem
14060
;;;                                                                                       { 43 DeclItem
14061
;;;                                                                                         what = DECL_NAME
14062
;;;                                                                                         name = t
14063
;;;                                                                                       } 43 DeclItem
14064
;;;                                                                                     } 42 List
14065
;;;                                                                                   } 41 TypeName
14066
;;;                                                                                 } 40 ParameterDeclaration
14067
;;;                                                                                 { 40 Expression (variable name)
14068
;;;                                                                                   expr_type = "identifier" (t)
14069 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14070
        MOVE    0(SP), RR
14071 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
14072 2 jsauermann
;--     push_rr (16 bit)
14073
        MOVE    RR, -(SP)
14074
;--     push 2 bytes
14075
;--     call
14076
        CALL    Cstack_used
14077
;--     pop 2 bytes
14078
        ADD     SP, #2
14079 7 jsauermann
;;;                                                                               } 39 Expr l(r)
14080 2 jsauermann
;--     push_rr (16 bit)
14081
        MOVE    RR, -(SP)
14082 7 jsauermann
;;;                                                                               { 39 Expr (l , r)
14083
;;;                                                                                 { 40 ParameterDeclaration
14084
;;;                                                                                   isEllipsis = true
14085
;;;                                                                                   { 41 TypeName
14086
;;;                                                                                     { 42 TypeSpecifier (all)
14087
;;;                                                                                       spec = const char (20100)
14088
;;;                                                                                     } 42 TypeSpecifier (all)
14089
;;;                                                                                     { 42 List
14090
;;;                                                                                       { 43 DeclItem
14091
;;;                                                                                         what = DECL_POINTER
14092
;;;                                                                                         { 44 List
14093
;;;                                                                                           { 45 Ptr
14094
;;;                                                                                           } 45 Ptr
14095
;;;                                                                                         } 44 List
14096
;;;                                                                                       } 43 DeclItem
14097
;;;                                                                                       { 43 DeclItem
14098
;;;                                                                                         what = DECL_NAME
14099
;;;                                                                                         name = format
14100
;;;                                                                                       } 43 DeclItem
14101
;;;                                                                                     } 42 List
14102
;;;                                                                                   } 41 TypeName
14103
;;;                                                                                 } 40 ParameterDeclaration
14104
;;;                                                                                 { 40 Expr l - r
14105
;;;                                                                                   { 41 Expr * r
14106
;;;                                                                                     { 42 Expression (variable name)
14107
;;;                                                                                       expr_type = "identifier" (t)
14108 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -4 (16 bit)
14109
        MOVE    2(SP), RR
14110 7 jsauermann
;;;                                                                                     } 42 Expression (variable name)
14111
;;;                                                                                   } 41 Expr * r
14112 2 jsauermann
;--     + (member)
14113
        ADD     RR, #0x0008
14114
;--     content
14115
        MOVE    (RR), RR
14116
;--     push_rr (16 bit)
14117
        MOVE    RR, -(SP)
14118 7 jsauermann
;;;                                                                                   { 41 Expr * r
14119
;;;                                                                                     { 42 Expression (variable name)
14120
;;;                                                                                       expr_type = "identifier" (t)
14121 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
14122
        MOVE    4(SP), RR
14123 7 jsauermann
;;;                                                                                     } 42 Expression (variable name)
14124
;;;                                                                                   } 41 Expr * r
14125 2 jsauermann
;--     + (member)
14126
        ADD     RR, #0x000A
14127
;--     content
14128
        MOVE    (RR), RR
14129
;--     move_rr_to_ll
14130
        MOVE    RR, LL
14131
;--     pop_rr (16 bit)
14132
        MOVE    (SP)+, RR
14133
;--     scale_rr *1
14134
;--     l - r
14135
        SUB     LL, RR
14136
;--     scale *1
14137 7 jsauermann
;;;                                                                                 } 40 Expr l - r
14138 2 jsauermann
;--     push_rr (16 bit)
14139
        MOVE    RR, -(SP)
14140 7 jsauermann
;;;                                                                                 { 40 Expr (l , r)
14141
;;;                                                                                   { 41 ParameterDeclaration
14142
;;;                                                                                     isEllipsis = true
14143
;;;                                                                                     { 42 TypeName
14144
;;;                                                                                       { 43 TypeSpecifier (all)
14145
;;;                                                                                         spec = const char (20100)
14146
;;;                                                                                       } 43 TypeSpecifier (all)
14147
;;;                                                                                       { 43 List
14148
;;;                                                                                         { 44 DeclItem
14149
;;;                                                                                           what = DECL_POINTER
14150
;;;                                                                                           { 45 List
14151
;;;                                                                                             { 46 Ptr
14152
;;;                                                                                             } 46 Ptr
14153
;;;                                                                                           } 45 List
14154
;;;                                                                                         } 44 DeclItem
14155
;;;                                                                                         { 44 DeclItem
14156
;;;                                                                                           what = DECL_NAME
14157
;;;                                                                                           name = format
14158
;;;                                                                                         } 44 DeclItem
14159
;;;                                                                                       } 43 List
14160
;;;                                                                                     } 42 TypeName
14161
;;;                                                                                   } 41 ParameterDeclaration
14162
;;;                                                                                   { 41 Expr * r
14163
;;;                                                                                     { 42 Expression (variable name)
14164
;;;                                                                                       expr_type = "identifier" (t)
14165 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -6 (16 bit)
14166
        MOVE    4(SP), RR
14167 7 jsauermann
;;;                                                                                     } 42 Expression (variable name)
14168
;;;                                                                                   } 41 Expr * r
14169 2 jsauermann
;--     + (member)
14170
        ADD     RR, #0x0002
14171
;--     content
14172
        MOVE    (RR), RR
14173
;--     push_rr (16 bit)
14174
        MOVE    RR, -(SP)
14175 7 jsauermann
;;;                                                                                   { 41 Expr (l , r)
14176
;;;                                                                                     { 42 ParameterDeclaration
14177
;;;                                                                                       isEllipsis = true
14178
;;;                                                                                       { 43 TypeName
14179
;;;                                                                                         { 44 TypeSpecifier (all)
14180
;;;                                                                                           spec = const char (20100)
14181
;;;                                                                                         } 44 TypeSpecifier (all)
14182
;;;                                                                                         { 44 List
14183
;;;                                                                                           { 45 DeclItem
14184
;;;                                                                                             what = DECL_POINTER
14185
;;;                                                                                             { 46 List
14186
;;;                                                                                               { 47 Ptr
14187
;;;                                                                                               } 47 Ptr
14188
;;;                                                                                             } 46 List
14189
;;;                                                                                           } 45 DeclItem
14190
;;;                                                                                           { 45 DeclItem
14191
;;;                                                                                             what = DECL_NAME
14192
;;;                                                                                             name = format
14193
;;;                                                                                           } 45 DeclItem
14194
;;;                                                                                         } 44 List
14195
;;;                                                                                       } 43 TypeName
14196
;;;                                                                                     } 42 ParameterDeclaration
14197 10 jsauermann
;;;                                                                                     { 42 Expr l[r]
14198
;;;                                                                                       { 43 TypeName
14199
;;;                                                                                         { 44 TypeSpecifier (all)
14200
;;;                                                                                           spec = int (80000)
14201
;;;                                                                                         } 44 TypeSpecifier (all)
14202
;;;                                                                                         { 44 List
14203
;;;                                                                                           { 45 DeclItem
14204
;;;                                                                                             what = DECL_NAME
14205
;;;                                                                                             name = stack_pointer
14206
;;;                                                                                           } 45 DeclItem
14207
;;;                                                                                         } 44 List
14208
;;;                                                                                       } 43 TypeName
14209
;;;                                                                                       { 43 Expr l[r]
14210
;;;                                                                                         { 44 NumericExpression (constant 2 = 0x2)
14211
;--     load_rr_constant
14212
        MOVE    #0x0002, RR
14213
;;;                                                                                         } 44 NumericExpression (constant 2 = 0x2)
14214
;--     scale_rr *2
14215
;--     *
14216
        LSL     RR, #1
14217
;--     push_rr (16 bit)
14218
        MOVE    RR, -(SP)
14219
;;;                                                                                         { 44 Expr * r
14220
;;;                                                                                           { 45 Expression (variable name)
14221
;;;                                                                                             expr_type = "identifier" (t)
14222
;--     load_rr_var t = -2(FP), SP at -10 (16 bit)
14223
        MOVE    8(SP), RR
14224
;;;                                                                                           } 45 Expression (variable name)
14225
;;;                                                                                         } 44 Expr * r
14226 2 jsauermann
;--     + (member)
14227 10 jsauermann
        ADD     RR, #0x0002
14228 2 jsauermann
;--     content
14229 10 jsauermann
        MOVE    (RR), RR
14230
;--     pop_ll (16 bit)
14231
        MOVE    (SP)+, LL
14232
;--     + (element)
14233
        ADD     LL, RR
14234
;;;                                                                                       } 43 Expr l[r]
14235
;--     content
14236
        MOVE    (RR), RR
14237
;;;                                                                                     } 42 Expr l[r]
14238 2 jsauermann
;--     push_rr (16 bit)
14239
        MOVE    RR, -(SP)
14240 7 jsauermann
;;;                                                                                     { 42 Expr (l , r)
14241
;;;                                                                                       { 43 ParameterDeclaration
14242
;;;                                                                                         isEllipsis = true
14243
;;;                                                                                         { 44 TypeName
14244
;;;                                                                                           { 45 TypeSpecifier (all)
14245
;;;                                                                                             spec = const char (20100)
14246
;;;                                                                                           } 45 TypeSpecifier (all)
14247
;;;                                                                                           { 45 List
14248
;;;                                                                                             { 46 DeclItem
14249
;;;                                                                                               what = DECL_POINTER
14250
;;;                                                                                               { 47 List
14251
;;;                                                                                                 { 48 Ptr
14252
;;;                                                                                                 } 48 Ptr
14253
;;;                                                                                               } 47 List
14254
;;;                                                                                             } 46 DeclItem
14255
;;;                                                                                             { 46 DeclItem
14256
;;;                                                                                               what = DECL_NAME
14257
;;;                                                                                               name = format
14258
;;;                                                                                             } 46 DeclItem
14259
;;;                                                                                           } 45 List
14260
;;;                                                                                         } 44 TypeName
14261
;;;                                                                                       } 43 ParameterDeclaration
14262
;;;                                                                                       { 43 Expr * r
14263
;;;                                                                                         { 44 Expression (variable name)
14264
;;;                                                                                           expr_type = "identifier" (t)
14265 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -10 (16 bit)
14266
        MOVE    8(SP), RR
14267 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
14268
;;;                                                                                       } 43 Expr * r
14269 2 jsauermann
;--     + (member)
14270 10 jsauermann
        ADD     RR, #0x0005
14271
;--     content
14272
        MOVE    (RR), RU
14273
;--     push_rr (16 bit)
14274
        MOVE    RR, -(SP)
14275
;;;                                                                                       { 43 Expr (l , r)
14276
;;;                                                                                         { 44 ParameterDeclaration
14277
;;;                                                                                           isEllipsis = true
14278
;;;                                                                                           { 45 TypeName
14279
;;;                                                                                             { 46 TypeSpecifier (all)
14280
;;;                                                                                               spec = const char (20100)
14281
;;;                                                                                             } 46 TypeSpecifier (all)
14282
;;;                                                                                             { 46 List
14283
;;;                                                                                               { 47 DeclItem
14284
;;;                                                                                                 what = DECL_POINTER
14285
;;;                                                                                                 { 48 List
14286
;;;                                                                                                   { 49 Ptr
14287
;;;                                                                                                   } 49 Ptr
14288
;;;                                                                                                 } 48 List
14289
;;;                                                                                               } 47 DeclItem
14290
;;;                                                                                               { 47 DeclItem
14291
;;;                                                                                                 what = DECL_NAME
14292
;;;                                                                                                 name = format
14293
;;;                                                                                               } 47 DeclItem
14294
;;;                                                                                             } 46 List
14295
;;;                                                                                           } 45 TypeName
14296
;;;                                                                                         } 44 ParameterDeclaration
14297
;;;                                                                                         { 44 Expr * r
14298
;;;                                                                                           { 45 Expression (variable name)
14299
;;;                                                                                             expr_type = "identifier" (t)
14300
;--     load_rr_var t = -2(FP), SP at -12 (16 bit)
14301
        MOVE    10(SP), RR
14302
;;;                                                                                           } 45 Expression (variable name)
14303
;;;                                                                                         } 44 Expr * r
14304
;--     + (member)
14305 2 jsauermann
        ADD     RR, #0x0006
14306
;--     content
14307
        MOVE    (RR), RR
14308
;--     push_rr (16 bit)
14309
        MOVE    RR, -(SP)
14310 10 jsauermann
;;;                                                                                         { 44 ParameterDeclaration
14311
;;;                                                                                           isEllipsis = true
14312
;;;                                                                                           { 45 TypeName
14313
;;;                                                                                             { 46 TypeSpecifier (all)
14314
;;;                                                                                               spec = const char (20100)
14315
;;;                                                                                             } 46 TypeSpecifier (all)
14316
;;;                                                                                             { 46 List
14317
;;;                                                                                               { 47 DeclItem
14318
;;;                                                                                                 what = DECL_POINTER
14319
;;;                                                                                                 { 48 List
14320
;;;                                                                                                   { 49 Ptr
14321
;;;                                                                                                   } 49 Ptr
14322
;;;                                                                                                 } 48 List
14323
;;;                                                                                               } 47 DeclItem
14324
;;;                                                                                               { 47 DeclItem
14325
;;;                                                                                                 what = DECL_NAME
14326
;;;                                                                                                 name = format
14327
;;;                                                                                               } 47 DeclItem
14328
;;;                                                                                             } 46 List
14329
;;;                                                                                           } 45 TypeName
14330
;;;                                                                                         } 44 ParameterDeclaration
14331
;;;                                                                                         { 44 StringExpression
14332 2 jsauermann
;--     load_rr_string
14333 10 jsauermann
        MOVE    #Cstr_62, RR
14334
;;;                                                                                         } 44 StringExpression
14335 2 jsauermann
;--     push_rr (16 bit)
14336
        MOVE    RR, -(SP)
14337 10 jsauermann
;;;                                                                                       } 43 Expr (l , r)
14338 7 jsauermann
;;;                                                                                     } 42 Expr (l , r)
14339
;;;                                                                                   } 41 Expr (l , r)
14340
;;;                                                                                 } 40 Expr (l , r)
14341
;;;                                                                               } 39 Expr (l , r)
14342
;;;                                                                             } 38 Expr (l , r)
14343 2 jsauermann
;--     push 2 bytes
14344
;--     call
14345
        CALL    Cprintf
14346 10 jsauermann
;--     pop 14 bytes
14347
        ADD     SP, #14
14348 7 jsauermann
;;;                                                                           } 37 Expr l(r)
14349
;;;                                                                         } 36 ExpressionStatement
14350
;;;                                                                         { 36 IfElseStatement
14351
;;;                                                                           { 37 Expr * r
14352
;;;                                                                             { 38 Expression (variable name)
14353
;;;                                                                               expr_type = "identifier" (t)
14354 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14355
        MOVE    0(SP), RR
14356 7 jsauermann
;;;                                                                             } 38 Expression (variable name)
14357
;;;                                                                           } 37 Expr * r
14358 2 jsauermann
;--     + (member)
14359
        ADD     RR, #0x0010
14360
;--     content
14361
        MOVE    (RR), RR
14362
;--     branch_false
14363
        JMP     RRZ, L32_else_94
14364 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
14365
;;;                                                                             { 38 Expr l(r)
14366
;;;                                                                               { 39 TypeName
14367
;;;                                                                                 { 40 TypeSpecifier (all)
14368
;;;                                                                                   spec = int (80000)
14369
;;;                                                                                 } 40 TypeSpecifier (all)
14370
;;;                                                                                 { 40 List
14371
;;;                                                                                   { 41 DeclItem
14372
;;;                                                                                     what = DECL_NAME
14373
;;;                                                                                     name = printf
14374
;;;                                                                                   } 41 DeclItem
14375
;;;                                                                                 } 40 List
14376
;;;                                                                               } 39 TypeName
14377
;;;                                                                               { 39 Expr (l , r)
14378
;;;                                                                                 { 40 ParameterDeclaration
14379
;;;                                                                                   isEllipsis = true
14380
;;;                                                                                   { 41 TypeName
14381
;;;                                                                                     { 42 TypeSpecifier (all)
14382
;;;                                                                                       spec = const char (20100)
14383
;;;                                                                                     } 42 TypeSpecifier (all)
14384
;;;                                                                                     { 42 List
14385
;;;                                                                                       { 43 DeclItem
14386
;;;                                                                                         what = DECL_POINTER
14387
;;;                                                                                         { 44 List
14388
;;;                                                                                           { 45 Ptr
14389
;;;                                                                                           } 45 Ptr
14390
;;;                                                                                         } 44 List
14391
;;;                                                                                       } 43 DeclItem
14392
;;;                                                                                       { 43 DeclItem
14393
;;;                                                                                         what = DECL_NAME
14394
;;;                                                                                         name = format
14395
;;;                                                                                       } 43 DeclItem
14396
;;;                                                                                     } 42 List
14397
;;;                                                                                   } 41 TypeName
14398
;;;                                                                                 } 40 ParameterDeclaration
14399
;;;                                                                                 { 40 Expr * r
14400
;;;                                                                                   { 41 Expression (variable name)
14401
;;;                                                                                     expr_type = "identifier" (t)
14402 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14403
        MOVE    0(SP), RR
14404 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
14405
;;;                                                                                 } 40 Expr * r
14406 2 jsauermann
;--     + (member)
14407
        ADD     RR, #0x0010
14408
;--     content
14409
        MOVE    (RR), RR
14410
;--     push_rr (16 bit)
14411
        MOVE    RR, -(SP)
14412 7 jsauermann
;;;                                                                                 { 40 ParameterDeclaration
14413
;;;                                                                                   isEllipsis = true
14414
;;;                                                                                   { 41 TypeName
14415
;;;                                                                                     { 42 TypeSpecifier (all)
14416
;;;                                                                                       spec = const char (20100)
14417
;;;                                                                                     } 42 TypeSpecifier (all)
14418
;;;                                                                                     { 42 List
14419
;;;                                                                                       { 43 DeclItem
14420
;;;                                                                                         what = DECL_POINTER
14421
;;;                                                                                         { 44 List
14422
;;;                                                                                           { 45 Ptr
14423
;;;                                                                                           } 45 Ptr
14424
;;;                                                                                         } 44 List
14425
;;;                                                                                       } 43 DeclItem
14426
;;;                                                                                       { 43 DeclItem
14427
;;;                                                                                         what = DECL_NAME
14428
;;;                                                                                         name = format
14429
;;;                                                                                       } 43 DeclItem
14430
;;;                                                                                     } 42 List
14431
;;;                                                                                   } 41 TypeName
14432
;;;                                                                                 } 40 ParameterDeclaration
14433
;;;                                                                                 { 40 StringExpression
14434 2 jsauermann
;--     load_rr_string
14435 10 jsauermann
        MOVE    #Cstr_63, RR
14436 7 jsauermann
;;;                                                                                 } 40 StringExpression
14437 2 jsauermann
;--     push_rr (16 bit)
14438
        MOVE    RR, -(SP)
14439 7 jsauermann
;;;                                                                               } 39 Expr (l , r)
14440 2 jsauermann
;--     push 2 bytes
14441
;--     call
14442
        CALL    Cprintf
14443
;--     pop 4 bytes
14444
        ADD     SP, #4
14445 7 jsauermann
;;;                                                                             } 38 Expr l(r)
14446
;;;                                                                           } 37 ExpressionStatement
14447 2 jsauermann
;--     branch
14448
        JMP     L32_endif_94
14449
L32_else_94:
14450 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
14451
;;;                                                                             { 38 Expr l(r)
14452
;;;                                                                               { 39 TypeName
14453
;;;                                                                                 { 40 TypeSpecifier (all)
14454
;;;                                                                                   spec = int (80000)
14455
;;;                                                                                 } 40 TypeSpecifier (all)
14456
;;;                                                                                 { 40 List
14457
;;;                                                                                   { 41 DeclItem
14458
;;;                                                                                     what = DECL_NAME
14459
;;;                                                                                     name = printf
14460
;;;                                                                                   } 41 DeclItem
14461
;;;                                                                                 } 40 List
14462
;;;                                                                               } 39 TypeName
14463
;;;                                                                               { 39 ParameterDeclaration
14464
;;;                                                                                 isEllipsis = true
14465
;;;                                                                                 { 40 TypeName
14466
;;;                                                                                   { 41 TypeSpecifier (all)
14467
;;;                                                                                     spec = const char (20100)
14468
;;;                                                                                   } 41 TypeSpecifier (all)
14469
;;;                                                                                   { 41 List
14470
;;;                                                                                     { 42 DeclItem
14471
;;;                                                                                       what = DECL_POINTER
14472
;;;                                                                                       { 43 List
14473
;;;                                                                                         { 44 Ptr
14474
;;;                                                                                         } 44 Ptr
14475
;;;                                                                                       } 43 List
14476
;;;                                                                                     } 42 DeclItem
14477
;;;                                                                                     { 42 DeclItem
14478
;;;                                                                                       what = DECL_NAME
14479
;;;                                                                                       name = format
14480
;;;                                                                                     } 42 DeclItem
14481
;;;                                                                                   } 41 List
14482
;;;                                                                                 } 40 TypeName
14483
;;;                                                                               } 39 ParameterDeclaration
14484
;;;                                                                               { 39 StringExpression
14485 2 jsauermann
;--     load_rr_string
14486 10 jsauermann
        MOVE    #Cstr_64, RR
14487 7 jsauermann
;;;                                                                               } 39 StringExpression
14488 2 jsauermann
;--     push_rr (16 bit)
14489
        MOVE    RR, -(SP)
14490
;--     push 2 bytes
14491
;--     call
14492
        CALL    Cprintf
14493
;--     pop 2 bytes
14494
        ADD     SP, #2
14495 7 jsauermann
;;;                                                                             } 38 Expr l(r)
14496
;;;                                                                           } 37 ExpressionStatement
14497 2 jsauermann
L32_endif_94:
14498 7 jsauermann
;;;                                                                         } 36 IfElseStatement
14499
;;;                                                                         { 36 IfElseStatement
14500
;;;                                                                           { 37 Expr l == r
14501
;;;                                                                             { 38 TypeName (internal)
14502
;;;                                                                               { 39 TypeSpecifier (all)
14503
;;;                                                                                 spec = int (80000)
14504
;;;                                                                               } 39 TypeSpecifier (all)
14505
;;;                                                                             } 38 TypeName (internal)
14506
;;;                                                                             { 38 Expr * r
14507
;;;                                                                               { 39 Expression (variable name)
14508
;;;                                                                                 expr_type = "identifier" (t)
14509 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14510
        MOVE    0(SP), RR
14511 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
14512
;;;                                                                             } 38 Expr * r
14513 2 jsauermann
;--     + (member)
14514
        ADD     RR, #0x0004
14515
;--     content
14516
        MOVE    (RR), RS
14517
;--     l == r
14518
        SEQ     RR, #0x0000
14519 7 jsauermann
;;;                                                                           } 37 Expr l == r
14520 2 jsauermann
;--     branch_false
14521
        JMP     RRZ, L32_endif_95
14522 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
14523
;;;                                                                             { 38 Expr l(r)
14524
;;;                                                                               { 39 TypeName
14525
;;;                                                                                 { 40 TypeSpecifier (all)
14526
;;;                                                                                   spec = int (80000)
14527
;;;                                                                                 } 40 TypeSpecifier (all)
14528
;;;                                                                                 { 40 List
14529
;;;                                                                                   { 41 DeclItem
14530
;;;                                                                                     what = DECL_NAME
14531
;;;                                                                                     name = printf
14532
;;;                                                                                   } 41 DeclItem
14533
;;;                                                                                 } 40 List
14534
;;;                                                                               } 39 TypeName
14535
;;;                                                                               { 39 ParameterDeclaration
14536
;;;                                                                                 isEllipsis = true
14537
;;;                                                                                 { 40 TypeName
14538
;;;                                                                                   { 41 TypeSpecifier (all)
14539
;;;                                                                                     spec = const char (20100)
14540
;;;                                                                                   } 41 TypeSpecifier (all)
14541
;;;                                                                                   { 41 List
14542
;;;                                                                                     { 42 DeclItem
14543
;;;                                                                                       what = DECL_POINTER
14544
;;;                                                                                       { 43 List
14545
;;;                                                                                         { 44 Ptr
14546
;;;                                                                                         } 44 Ptr
14547
;;;                                                                                       } 43 List
14548
;;;                                                                                     } 42 DeclItem
14549
;;;                                                                                     { 42 DeclItem
14550
;;;                                                                                       what = DECL_NAME
14551
;;;                                                                                       name = format
14552
;;;                                                                                     } 42 DeclItem
14553
;;;                                                                                   } 41 List
14554
;;;                                                                                 } 40 TypeName
14555
;;;                                                                               } 39 ParameterDeclaration
14556
;;;                                                                               { 39 StringExpression
14557 2 jsauermann
;--     load_rr_string
14558 10 jsauermann
        MOVE    #Cstr_65, RR
14559 7 jsauermann
;;;                                                                               } 39 StringExpression
14560 2 jsauermann
;--     push_rr (16 bit)
14561
        MOVE    RR, -(SP)
14562
;--     push 2 bytes
14563
;--     call
14564
        CALL    Cprintf
14565
;--     pop 2 bytes
14566
        ADD     SP, #2
14567 7 jsauermann
;;;                                                                             } 38 Expr l(r)
14568
;;;                                                                           } 37 ExpressionStatement
14569 2 jsauermann
L32_endif_95:
14570 7 jsauermann
;;;                                                                         } 36 IfElseStatement
14571
;;;                                                                         { 36 IfElseStatement
14572
;;;                                                                           { 37 Expr l & r
14573
;;;                                                                             { 38 TypeName (internal)
14574
;;;                                                                               { 39 TypeSpecifier (all)
14575
;;;                                                                                 spec = int (80000)
14576
;;;                                                                               } 39 TypeSpecifier (all)
14577
;;;                                                                             } 38 TypeName (internal)
14578
;;;                                                                             { 38 Expr * r
14579
;;;                                                                               { 39 Expression (variable name)
14580
;;;                                                                                 expr_type = "identifier" (t)
14581 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14582
        MOVE    0(SP), RR
14583 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
14584
;;;                                                                             } 38 Expr * r
14585 2 jsauermann
;--     + (member)
14586
        ADD     RR, #0x0004
14587
;--     content
14588
        MOVE    (RR), RS
14589
;--     l & r
14590
        AND     RR, #0x0004
14591 7 jsauermann
;;;                                                                           } 37 Expr l & r
14592 2 jsauermann
;--     branch_false
14593
        JMP     RRZ, L32_endif_96
14594 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
14595
;;;                                                                             { 38 Expr l(r)
14596
;;;                                                                               { 39 TypeName
14597
;;;                                                                                 { 40 TypeSpecifier (all)
14598
;;;                                                                                   spec = int (80000)
14599
;;;                                                                                 } 40 TypeSpecifier (all)
14600
;;;                                                                                 { 40 List
14601
;;;                                                                                   { 41 DeclItem
14602
;;;                                                                                     what = DECL_NAME
14603
;;;                                                                                     name = printf
14604
;;;                                                                                   } 41 DeclItem
14605
;;;                                                                                 } 40 List
14606
;;;                                                                               } 39 TypeName
14607
;;;                                                                               { 39 ParameterDeclaration
14608
;;;                                                                                 isEllipsis = true
14609
;;;                                                                                 { 40 TypeName
14610
;;;                                                                                   { 41 TypeSpecifier (all)
14611
;;;                                                                                     spec = const char (20100)
14612
;;;                                                                                   } 41 TypeSpecifier (all)
14613
;;;                                                                                   { 41 List
14614
;;;                                                                                     { 42 DeclItem
14615
;;;                                                                                       what = DECL_POINTER
14616
;;;                                                                                       { 43 List
14617
;;;                                                                                         { 44 Ptr
14618
;;;                                                                                         } 44 Ptr
14619
;;;                                                                                       } 43 List
14620
;;;                                                                                     } 42 DeclItem
14621
;;;                                                                                     { 42 DeclItem
14622
;;;                                                                                       what = DECL_NAME
14623
;;;                                                                                       name = format
14624
;;;                                                                                     } 42 DeclItem
14625
;;;                                                                                   } 41 List
14626
;;;                                                                                 } 40 TypeName
14627
;;;                                                                               } 39 ParameterDeclaration
14628
;;;                                                                               { 39 StringExpression
14629 2 jsauermann
;--     load_rr_string
14630 10 jsauermann
        MOVE    #Cstr_66, RR
14631 7 jsauermann
;;;                                                                               } 39 StringExpression
14632 2 jsauermann
;--     push_rr (16 bit)
14633
        MOVE    RR, -(SP)
14634
;--     push 2 bytes
14635
;--     call
14636
        CALL    Cprintf
14637
;--     pop 2 bytes
14638
        ADD     SP, #2
14639 7 jsauermann
;;;                                                                             } 38 Expr l(r)
14640
;;;                                                                           } 37 ExpressionStatement
14641 2 jsauermann
L32_endif_96:
14642 7 jsauermann
;;;                                                                         } 36 IfElseStatement
14643
;;;                                                                         { 36 IfElseStatement
14644
;;;                                                                           { 37 Expr l & r
14645
;;;                                                                             { 38 TypeName (internal)
14646
;;;                                                                               { 39 TypeSpecifier (all)
14647
;;;                                                                                 spec = int (80000)
14648
;;;                                                                               } 39 TypeSpecifier (all)
14649
;;;                                                                             } 38 TypeName (internal)
14650
;;;                                                                             { 38 Expr * r
14651
;;;                                                                               { 39 Expression (variable name)
14652
;;;                                                                                 expr_type = "identifier" (t)
14653 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14654
        MOVE    0(SP), RR
14655 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
14656
;;;                                                                             } 38 Expr * r
14657 2 jsauermann
;--     + (member)
14658
        ADD     RR, #0x0004
14659
;--     content
14660
        MOVE    (RR), RS
14661
;--     l & r
14662
        AND     RR, #0x0002
14663 7 jsauermann
;;;                                                                           } 37 Expr l & r
14664 2 jsauermann
;--     branch_false
14665
        JMP     RRZ, L32_endif_97
14666 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
14667
;;;                                                                             { 38 Expr l(r)
14668
;;;                                                                               { 39 TypeName
14669
;;;                                                                                 { 40 TypeSpecifier (all)
14670
;;;                                                                                   spec = int (80000)
14671
;;;                                                                                 } 40 TypeSpecifier (all)
14672
;;;                                                                                 { 40 List
14673
;;;                                                                                   { 41 DeclItem
14674
;;;                                                                                     what = DECL_NAME
14675
;;;                                                                                     name = printf
14676
;;;                                                                                   } 41 DeclItem
14677
;;;                                                                                 } 40 List
14678
;;;                                                                               } 39 TypeName
14679
;;;                                                                               { 39 Expr (l , r)
14680
;;;                                                                                 { 40 ParameterDeclaration
14681
;;;                                                                                   isEllipsis = true
14682
;;;                                                                                   { 41 TypeName
14683
;;;                                                                                     { 42 TypeSpecifier (all)
14684
;;;                                                                                       spec = const char (20100)
14685
;;;                                                                                     } 42 TypeSpecifier (all)
14686
;;;                                                                                     { 42 List
14687
;;;                                                                                       { 43 DeclItem
14688
;;;                                                                                         what = DECL_POINTER
14689
;;;                                                                                         { 44 List
14690
;;;                                                                                           { 45 Ptr
14691
;;;                                                                                           } 45 Ptr
14692
;;;                                                                                         } 44 List
14693
;;;                                                                                       } 43 DeclItem
14694
;;;                                                                                       { 43 DeclItem
14695
;;;                                                                                         what = DECL_NAME
14696
;;;                                                                                         name = format
14697
;;;                                                                                       } 43 DeclItem
14698
;;;                                                                                     } 42 List
14699
;;;                                                                                   } 41 TypeName
14700
;;;                                                                                 } 40 ParameterDeclaration
14701
;;;                                                                                 { 40 Expr * r
14702
;;;                                                                                   { 41 Expression (variable name)
14703
;;;                                                                                     expr_type = "identifier" (t)
14704 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14705
        MOVE    0(SP), RR
14706 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
14707
;;;                                                                                 } 40 Expr * r
14708 2 jsauermann
;--     + (member)
14709
        ADD     RR, #0x0012
14710
;--     content
14711
        MOVE    (RR), RR
14712
;--     push_rr (16 bit)
14713
        MOVE    RR, -(SP)
14714 7 jsauermann
;;;                                                                                 { 40 ParameterDeclaration
14715
;;;                                                                                   isEllipsis = true
14716
;;;                                                                                   { 41 TypeName
14717
;;;                                                                                     { 42 TypeSpecifier (all)
14718
;;;                                                                                       spec = const char (20100)
14719
;;;                                                                                     } 42 TypeSpecifier (all)
14720
;;;                                                                                     { 42 List
14721
;;;                                                                                       { 43 DeclItem
14722
;;;                                                                                         what = DECL_POINTER
14723
;;;                                                                                         { 44 List
14724
;;;                                                                                           { 45 Ptr
14725
;;;                                                                                           } 45 Ptr
14726
;;;                                                                                         } 44 List
14727
;;;                                                                                       } 43 DeclItem
14728
;;;                                                                                       { 43 DeclItem
14729
;;;                                                                                         what = DECL_NAME
14730
;;;                                                                                         name = format
14731
;;;                                                                                       } 43 DeclItem
14732
;;;                                                                                     } 42 List
14733
;;;                                                                                   } 41 TypeName
14734
;;;                                                                                 } 40 ParameterDeclaration
14735
;;;                                                                                 { 40 StringExpression
14736 2 jsauermann
;--     load_rr_string
14737 10 jsauermann
        MOVE    #Cstr_67, RR
14738 7 jsauermann
;;;                                                                                 } 40 StringExpression
14739 2 jsauermann
;--     push_rr (16 bit)
14740
        MOVE    RR, -(SP)
14741 7 jsauermann
;;;                                                                               } 39 Expr (l , r)
14742 2 jsauermann
;--     push 2 bytes
14743
;--     call
14744
        CALL    Cprintf
14745
;--     pop 4 bytes
14746
        ADD     SP, #4
14747 7 jsauermann
;;;                                                                             } 38 Expr l(r)
14748
;;;                                                                           } 37 ExpressionStatement
14749 2 jsauermann
L32_endif_97:
14750 7 jsauermann
;;;                                                                         } 36 IfElseStatement
14751
;;;                                                                         { 36 IfElseStatement
14752
;;;                                                                           { 37 Expr l & r
14753
;;;                                                                             { 38 TypeName (internal)
14754
;;;                                                                               { 39 TypeSpecifier (all)
14755
;;;                                                                                 spec = int (80000)
14756
;;;                                                                               } 39 TypeSpecifier (all)
14757
;;;                                                                             } 38 TypeName (internal)
14758
;;;                                                                             { 38 Expr * r
14759
;;;                                                                               { 39 Expression (variable name)
14760
;;;                                                                                 expr_type = "identifier" (t)
14761 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14762
        MOVE    0(SP), RR
14763 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
14764
;;;                                                                             } 38 Expr * r
14765 2 jsauermann
;--     + (member)
14766
        ADD     RR, #0x0004
14767
;--     content
14768
        MOVE    (RR), RS
14769
;--     l & r
14770
        AND     RR, #0x0001
14771 7 jsauermann
;;;                                                                           } 37 Expr l & r
14772 2 jsauermann
;--     branch_false
14773
        JMP     RRZ, L32_endif_98
14774 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
14775
;;;                                                                             { 38 Expr l(r)
14776
;;;                                                                               { 39 TypeName
14777
;;;                                                                                 { 40 TypeSpecifier (all)
14778
;;;                                                                                   spec = int (80000)
14779
;;;                                                                                 } 40 TypeSpecifier (all)
14780
;;;                                                                                 { 40 List
14781
;;;                                                                                   { 41 DeclItem
14782
;;;                                                                                     what = DECL_NAME
14783
;;;                                                                                     name = printf
14784
;;;                                                                                   } 41 DeclItem
14785
;;;                                                                                 } 40 List
14786
;;;                                                                               } 39 TypeName
14787
;;;                                                                               { 39 Expr (l , r)
14788
;;;                                                                                 { 40 ParameterDeclaration
14789
;;;                                                                                   isEllipsis = true
14790
;;;                                                                                   { 41 TypeName
14791
;;;                                                                                     { 42 TypeSpecifier (all)
14792
;;;                                                                                       spec = const char (20100)
14793
;;;                                                                                     } 42 TypeSpecifier (all)
14794
;;;                                                                                     { 42 List
14795
;;;                                                                                       { 43 DeclItem
14796
;;;                                                                                         what = DECL_POINTER
14797
;;;                                                                                         { 44 List
14798
;;;                                                                                           { 45 Ptr
14799
;;;                                                                                           } 45 Ptr
14800
;;;                                                                                         } 44 List
14801
;;;                                                                                       } 43 DeclItem
14802
;;;                                                                                       { 43 DeclItem
14803
;;;                                                                                         what = DECL_NAME
14804
;;;                                                                                         name = format
14805
;;;                                                                                       } 43 DeclItem
14806
;;;                                                                                     } 42 List
14807
;;;                                                                                   } 41 TypeName
14808
;;;                                                                                 } 40 ParameterDeclaration
14809
;;;                                                                                 { 40 Expr * r
14810
;;;                                                                                   { 41 Expr * r
14811
;;;                                                                                     { 42 Expression (variable name)
14812
;;;                                                                                       expr_type = "identifier" (t)
14813 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14814
        MOVE    0(SP), RR
14815 7 jsauermann
;;;                                                                                     } 42 Expression (variable name)
14816
;;;                                                                                   } 41 Expr * r
14817 2 jsauermann
;--     + (member)
14818
        ADD     RR, #0x000E
14819
;--     content
14820
        MOVE    (RR), RR
14821 7 jsauermann
;;;                                                                                 } 40 Expr * r
14822 2 jsauermann
;--     + (member)
14823
        ADD     RR, #0x0006
14824
;--     content
14825
        MOVE    (RR), RR
14826
;--     push_rr (16 bit)
14827
        MOVE    RR, -(SP)
14828 7 jsauermann
;;;                                                                                 { 40 ParameterDeclaration
14829
;;;                                                                                   isEllipsis = true
14830
;;;                                                                                   { 41 TypeName
14831
;;;                                                                                     { 42 TypeSpecifier (all)
14832
;;;                                                                                       spec = const char (20100)
14833
;;;                                                                                     } 42 TypeSpecifier (all)
14834
;;;                                                                                     { 42 List
14835
;;;                                                                                       { 43 DeclItem
14836
;;;                                                                                         what = DECL_POINTER
14837
;;;                                                                                         { 44 List
14838
;;;                                                                                           { 45 Ptr
14839
;;;                                                                                           } 45 Ptr
14840
;;;                                                                                         } 44 List
14841
;;;                                                                                       } 43 DeclItem
14842
;;;                                                                                       { 43 DeclItem
14843
;;;                                                                                         what = DECL_NAME
14844
;;;                                                                                         name = format
14845
;;;                                                                                       } 43 DeclItem
14846
;;;                                                                                     } 42 List
14847
;;;                                                                                   } 41 TypeName
14848
;;;                                                                                 } 40 ParameterDeclaration
14849
;;;                                                                                 { 40 StringExpression
14850 2 jsauermann
;--     load_rr_string
14851 10 jsauermann
        MOVE    #Cstr_68, RR
14852 7 jsauermann
;;;                                                                                 } 40 StringExpression
14853 2 jsauermann
;--     push_rr (16 bit)
14854
        MOVE    RR, -(SP)
14855 7 jsauermann
;;;                                                                               } 39 Expr (l , r)
14856 2 jsauermann
;--     push 2 bytes
14857
;--     call
14858
        CALL    Cprintf
14859
;--     pop 4 bytes
14860
        ADD     SP, #4
14861 7 jsauermann
;;;                                                                             } 38 Expr l(r)
14862
;;;                                                                           } 37 ExpressionStatement
14863 2 jsauermann
L32_endif_98:
14864 7 jsauermann
;;;                                                                         } 36 IfElseStatement
14865
;;;                                                                         { 36 ExpressionStatement
14866
;;;                                                                           { 37 Expr l(r)
14867
;;;                                                                             { 38 TypeName
14868
;;;                                                                               { 39 TypeSpecifier (all)
14869
;;;                                                                                 spec = int (80000)
14870
;;;                                                                               } 39 TypeSpecifier (all)
14871
;;;                                                                               { 39 List
14872
;;;                                                                                 { 40 DeclItem
14873
;;;                                                                                   what = DECL_NAME
14874
;;;                                                                                   name = printf
14875
;;;                                                                                 } 40 DeclItem
14876
;;;                                                                               } 39 List
14877
;;;                                                                             } 38 TypeName
14878
;;;                                                                             { 38 ParameterDeclaration
14879
;;;                                                                               isEllipsis = true
14880
;;;                                                                               { 39 TypeName
14881
;;;                                                                                 { 40 TypeSpecifier (all)
14882
;;;                                                                                   spec = const char (20100)
14883
;;;                                                                                 } 40 TypeSpecifier (all)
14884
;;;                                                                                 { 40 List
14885
;;;                                                                                   { 41 DeclItem
14886
;;;                                                                                     what = DECL_POINTER
14887
;;;                                                                                     { 42 List
14888
;;;                                                                                       { 43 Ptr
14889
;;;                                                                                       } 43 Ptr
14890
;;;                                                                                     } 42 List
14891
;;;                                                                                   } 41 DeclItem
14892
;;;                                                                                   { 41 DeclItem
14893
;;;                                                                                     what = DECL_NAME
14894
;;;                                                                                     name = format
14895
;;;                                                                                   } 41 DeclItem
14896
;;;                                                                                 } 40 List
14897
;;;                                                                               } 39 TypeName
14898
;;;                                                                             } 38 ParameterDeclaration
14899
;;;                                                                             { 38 StringExpression
14900 2 jsauermann
;--     load_rr_string
14901 10 jsauermann
        MOVE    #Cstr_69, RR
14902 7 jsauermann
;;;                                                                             } 38 StringExpression
14903 2 jsauermann
;--     push_rr (16 bit)
14904
        MOVE    RR, -(SP)
14905
;--     push 2 bytes
14906
;--     call
14907
        CALL    Cprintf
14908
;--     pop 2 bytes
14909
        ADD     SP, #2
14910 7 jsauermann
;;;                                                                           } 37 Expr l(r)
14911
;;;                                                                         } 36 ExpressionStatement
14912
;;;                                                                         { 36 ExpressionStatement
14913
;;;                                                                           { 37 Expr l = r
14914
;;;                                                                             { 38 TypeName
14915
;;;                                                                               { 39 TypeSpecifier (struct/union)
14916
;;;                                                                                 spec = struct '_task' (800000)
14917
;;;                                                                                 name = _task
14918
;;;                                                                               } 39 TypeSpecifier (struct/union)
14919
;;;                                                                               { 39 List
14920
;;;                                                                                 { 40 DeclItem
14921
;;;                                                                                   what = DECL_POINTER
14922
;;;                                                                                   { 41 List
14923
;;;                                                                                     { 42 Ptr
14924
;;;                                                                                     } 42 Ptr
14925
;;;                                                                                   } 41 List
14926
;;;                                                                                 } 40 DeclItem
14927
;;;                                                                                 { 40 DeclItem
14928
;;;                                                                                   what = DECL_NAME
14929
;;;                                                                                   name = t
14930
;;;                                                                                 } 40 DeclItem
14931
;;;                                                                               } 39 List
14932
;;;                                                                             } 38 TypeName
14933
;;;                                                                             { 38 Expr * r
14934
;;;                                                                               { 39 Expression (variable name)
14935
;;;                                                                                 expr_type = "identifier" (t)
14936 2 jsauermann
;--     load_rr_var t = -2(FP), SP at -2 (16 bit)
14937
        MOVE    0(SP), RR
14938 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
14939
;;;                                                                             } 38 Expr * r
14940 2 jsauermann
;--     + (member)
14941
;--     content
14942
        MOVE    (RR), RR
14943
;--     store_rr_var t = -2(FP), SP at -2
14944
        MOVE    RR, 0(SP)
14945 7 jsauermann
;;;                                                                           } 37 Expr l = r
14946
;;;                                                                         } 36 ExpressionStatement
14947
;;;                                                                       } 35 List
14948
;--     pop 0 bytes
14949
;;;                                                                     } 34 CompoundStatement
14950 2 jsauermann
L32_cont_92:
14951 7 jsauermann
;;;                                                                     { 34 Expr l != r
14952
;;;                                                                       { 35 TypeName
14953
;;;                                                                         { 36 TypeSpecifier (struct/union)
14954
;;;                                                                           spec = struct '_task' (800000)
14955
;;;                                                                           name = _task
14956
;;;                                                                         } 36 TypeSpecifier (struct/union)
14957
;;;                                                                         { 36 List
14958
;;;                                                                           { 37 DeclItem
14959
;;;                                                                             what = DECL_POINTER
14960
;;;                                                                             { 38 List
14961
;;;                                                                               { 39 Ptr
14962
;;;                                                                               } 39 Ptr
14963
;;;                                                                             } 38 List
14964
;;;                                                                           } 37 DeclItem
14965
;;;                                                                           { 37 DeclItem
14966
;;;                                                                             what = DECL_NAME
14967
;;;                                                                             name = t
14968
;;;                                                                           } 37 DeclItem
14969
;;;                                                                         } 36 List
14970
;;;                                                                       } 35 TypeName
14971
;;;                                                                       { 35 Expr & r
14972 2 jsauermann
;--     load_address task_idle
14973
        MOVE    #Ctask_idle, RR
14974 7 jsauermann
;;;                                                                       } 35 Expr & r
14975
;;;                                                                       { 35 Expression (variable name)
14976
;;;                                                                         expr_type = "identifier" (t)
14977 2 jsauermann
;--     load_ll_var t = -2(FP), SP at -2 (16 bit)
14978
        MOVE    0(SP), LL
14979 7 jsauermann
;;;                                                                       } 35 Expression (variable name)
14980 2 jsauermann
;--     l != r
14981
        SNE     LL, RR
14982 7 jsauermann
;;;                                                                     } 34 Expr l != r
14983 2 jsauermann
;--     branch_true
14984
        JMP     RRNZ, L32_loop_92
14985
L32_brk_93:
14986 7 jsauermann
;;;                                                                   } 33 do while Statement
14987
;;;                                                                   { 33 ExpressionStatement
14988
;;;                                                                     { 34 Expr l(r)
14989
;;;                                                                       { 35 TypeName
14990
;;;                                                                         { 36 TypeSpecifier (all)
14991
;;;                                                                           spec = void (10000)
14992
;;;                                                                         } 36 TypeSpecifier (all)
14993
;;;                                                                         { 36 List
14994
;;;                                                                           { 37 DeclItem
14995
;;;                                                                             what = DECL_NAME
14996
;;;                                                                             name = print_n
14997
;;;                                                                           } 37 DeclItem
14998
;;;                                                                         } 36 List
14999
;;;                                                                       } 35 TypeName
15000
;;;                                                                       { 35 Expr (l , r)
15001
;;;                                                                         { 36 ParameterDeclaration
15002
;;;                                                                           isEllipsis = false
15003
;;;                                                                           { 37 TypeName
15004
;;;                                                                             { 38 TypeSpecifier (all)
15005
;;;                                                                               spec = int (80000)
15006
;;;                                                                             } 38 TypeSpecifier (all)
15007
;;;                                                                             { 38 List
15008
;;;                                                                               { 39 DeclItem
15009
;;;                                                                                 what = DECL_NAME
15010
;;;                                                                                 name = count
15011
;;;                                                                               } 39 DeclItem
15012
;;;                                                                             } 38 List
15013
;;;                                                                           } 37 TypeName
15014
;;;                                                                         } 36 ParameterDeclaration
15015
;;;                                                                         { 36 NumericExpression (constant 79 = 0x4F)
15016 2 jsauermann
;--     load_rr_constant
15017
        MOVE    #0x004F, RR
15018 7 jsauermann
;;;                                                                         } 36 NumericExpression (constant 79 = 0x4F)
15019 2 jsauermann
;--     push_rr (16 bit)
15020
        MOVE    RR, -(SP)
15021 7 jsauermann
;;;                                                                         { 36 ParameterDeclaration
15022
;;;                                                                           isEllipsis = false
15023
;;;                                                                           { 37 TypeName
15024
;;;                                                                             { 38 TypeSpecifier (all)
15025
;;;                                                                               spec = char (20000)
15026
;;;                                                                             } 38 TypeSpecifier (all)
15027
;;;                                                                             { 38 List
15028
;;;                                                                               { 39 DeclItem
15029
;;;                                                                                 what = DECL_NAME
15030
;;;                                                                                 name = c
15031
;;;                                                                               } 39 DeclItem
15032
;;;                                                                             } 38 List
15033
;;;                                                                           } 37 TypeName
15034
;;;                                                                         } 36 ParameterDeclaration
15035
;;;                                                                         { 36 NumericExpression (constant 61 = 0x3D)
15036 2 jsauermann
;--     load_rr_constant
15037
        MOVE    #0x003D, RR
15038 7 jsauermann
;;;                                                                         } 36 NumericExpression (constant 61 = 0x3D)
15039 2 jsauermann
;--     push_rr (8 bit)
15040
        MOVE    R, -(SP)
15041 7 jsauermann
;;;                                                                       } 35 Expr (l , r)
15042 2 jsauermann
;--     push 0 bytes
15043
;--     call
15044
        CALL    Cprint_n
15045
;--     pop 3 bytes
15046
        ADD     SP, #3
15047 7 jsauermann
;;;                                                                     } 34 Expr l(r)
15048
;;;                                                                   } 33 ExpressionStatement
15049
;;;                                                                   { 33 ExpressionStatement
15050
;;;                                                                     { 34 Expr l(r)
15051
;;;                                                                       { 35 TypeName
15052
;;;                                                                         { 36 TypeSpecifier (all)
15053
;;;                                                                           spec = int (80000)
15054
;;;                                                                         } 36 TypeSpecifier (all)
15055
;;;                                                                         { 36 List
15056
;;;                                                                           { 37 DeclItem
15057
;;;                                                                             what = DECL_NAME
15058
;;;                                                                             name = printf
15059
;;;                                                                           } 37 DeclItem
15060
;;;                                                                         } 36 List
15061
;;;                                                                       } 35 TypeName
15062
;;;                                                                       { 35 ParameterDeclaration
15063
;;;                                                                         isEllipsis = true
15064
;;;                                                                         { 36 TypeName
15065
;;;                                                                           { 37 TypeSpecifier (all)
15066
;;;                                                                             spec = const char (20100)
15067
;;;                                                                           } 37 TypeSpecifier (all)
15068
;;;                                                                           { 37 List
15069
;;;                                                                             { 38 DeclItem
15070
;;;                                                                               what = DECL_POINTER
15071
;;;                                                                               { 39 List
15072
;;;                                                                                 { 40 Ptr
15073
;;;                                                                                 } 40 Ptr
15074
;;;                                                                               } 39 List
15075
;;;                                                                             } 38 DeclItem
15076
;;;                                                                             { 38 DeclItem
15077
;;;                                                                               what = DECL_NAME
15078
;;;                                                                               name = format
15079
;;;                                                                             } 38 DeclItem
15080
;;;                                                                           } 37 List
15081
;;;                                                                         } 36 TypeName
15082
;;;                                                                       } 35 ParameterDeclaration
15083
;;;                                                                       { 35 StringExpression
15084 2 jsauermann
;--     load_rr_string
15085 10 jsauermann
        MOVE    #Cstr_70, RR
15086 7 jsauermann
;;;                                                                       } 35 StringExpression
15087 2 jsauermann
;--     push_rr (16 bit)
15088
        MOVE    RR, -(SP)
15089
;--     push 2 bytes
15090
;--     call
15091
        CALL    Cprintf
15092
;--     pop 2 bytes
15093
        ADD     SP, #2
15094 7 jsauermann
;;;                                                                     } 34 Expr l(r)
15095
;;;                                                                   } 33 ExpressionStatement
15096
;;;                                                                 } 32 List
15097 2 jsauermann
;--     pop 2 bytes
15098
        ADD     SP, #2
15099 7 jsauermann
;;;                                                               } 31 CompoundStatement
15100
;--     ret
15101 2 jsauermann
        RET
15102
;;; ------------------------------------;
15103 7 jsauermann
;;;                                                               { 31 FunctionDefinition
15104
;;;                                                                 { 32 TypeName
15105
;;;                                                                   { 33 TypeSpecifier (all)
15106
;;;                                                                     spec = void (10000)
15107
;;;                                                                   } 33 TypeSpecifier (all)
15108
;;;                                                                   { 33 List
15109
;;;                                                                     { 34 DeclItem
15110
;;;                                                                       what = DECL_NAME
15111
;;;                                                                       name = show_time
15112
;;;                                                                     } 34 DeclItem
15113
;;;                                                                   } 33 List
15114
;;;                                                                 } 32 TypeName
15115
;;;                                                                 { 32 List
15116
;;;                                                                   { 33 DeclItem
15117
;;;                                                                     what = DECL_NAME
15118
;;;                                                                     name = show_time
15119
;;;                                                                   } 33 DeclItem
15120
;;;                                                                   { 33 DeclItem
15121
;;;                                                                     what = DECL_FUN
15122
;;;                                                                   } 33 DeclItem
15123
;;;                                                                 } 32 List
15124 2 jsauermann
Cshow_time:
15125 7 jsauermann
;;;                                                                 { 32 CompoundStatement
15126
;;;                                                                   { 33 InitDeclarator
15127
;;;                                                                     { 34 List
15128
;;;                                                                       { 35 DeclItem
15129
;;;                                                                         what = DECL_NAME
15130
;;;                                                                         name = sl
15131
;;;                                                                       } 35 DeclItem
15132
;;;                                                                     } 34 List
15133 2 jsauermann
;--     push_zero 2 bytes
15134
        CLRW    -(SP)
15135 7 jsauermann
;;;                                                                   } 33 InitDeclarator
15136
;;;                                                                   { 33 InitDeclarator
15137
;;;                                                                     { 34 List
15138
;;;                                                                       { 35 DeclItem
15139
;;;                                                                         what = DECL_NAME
15140
;;;                                                                         name = sm
15141
;;;                                                                       } 35 DeclItem
15142
;;;                                                                     } 34 List
15143 2 jsauermann
;--     push_zero 2 bytes
15144
        CLRW    -(SP)
15145 7 jsauermann
;;;                                                                   } 33 InitDeclarator
15146
;;;                                                                   { 33 InitDeclarator
15147
;;;                                                                     { 34 List
15148
;;;                                                                       { 35 DeclItem
15149
;;;                                                                         what = DECL_NAME
15150
;;;                                                                         name = sh
15151
;;;                                                                       } 35 DeclItem
15152
;;;                                                                     } 34 List
15153 2 jsauermann
;--     push_zero 2 bytes
15154
        CLRW    -(SP)
15155 7 jsauermann
;;;                                                                   } 33 InitDeclarator
15156
;;;                                                                   { 33 List
15157
;;;                                                                     { 34 do while Statement
15158 2 jsauermann
L33_loop_99:
15159 7 jsauermann
;;;                                                                       { 35 CompoundStatement
15160
;;;                                                                         { 36 List
15161
;;;                                                                           { 37 ExpressionStatement
15162
;;;                                                                             { 38 Expr l = r
15163
;;;                                                                               { 39 TypeName
15164
;;;                                                                                 { 40 TypeSpecifier (all)
15165
;;;                                                                                   spec = unsigned char (22000)
15166
;;;                                                                                 } 40 TypeSpecifier (all)
15167
;;;                                                                                 { 40 List
15168
;;;                                                                                   { 41 DeclItem
15169
;;;                                                                                     what = DECL_NAME
15170
;;;                                                                                     name = seconds_changed
15171
;;;                                                                                   } 41 DeclItem
15172
;;;                                                                                 } 40 List
15173
;;;                                                                               } 39 TypeName
15174
;;;                                                                               { 39 NumericExpression (constant 0 = 0x0)
15175 2 jsauermann
;--     load_rr_constant
15176
        MOVE    #0x0000, RR
15177 7 jsauermann
;;;                                                                               } 39 NumericExpression (constant 0 = 0x0)
15178 2 jsauermann
;--     store_rr_var seconds_changed
15179
        MOVE    R, (Cseconds_changed)
15180 7 jsauermann
;;;                                                                             } 38 Expr l = r
15181
;;;                                                                           } 37 ExpressionStatement
15182
;;;                                                                           { 37 ExpressionStatement
15183
;;;                                                                             { 38 Expr l = r
15184
;;;                                                                               { 39 TypeName
15185
;;;                                                                                 { 40 TypeSpecifier (all)
15186
;;;                                                                                   spec = unsigned int (82000)
15187
;;;                                                                                 } 40 TypeSpecifier (all)
15188
;;;                                                                                 { 40 List
15189
;;;                                                                                   { 41 DeclItem
15190
;;;                                                                                     what = DECL_NAME
15191
;;;                                                                                     name = sl
15192
;;;                                                                                   } 41 DeclItem
15193
;;;                                                                                 } 40 List
15194
;;;                                                                               } 39 TypeName
15195
;;;                                                                               { 39 Expression (variable name)
15196
;;;                                                                                 expr_type = "identifier" (seconds_low)
15197 2 jsauermann
;--     load_rr_var seconds_low, (16 bit)
15198
        MOVE    (Cseconds_low), RR
15199 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
15200 2 jsauermann
;--     store_rr_var sl = -2(FP), SP at -6
15201
        MOVE    RR, 4(SP)
15202 7 jsauermann
;;;                                                                             } 38 Expr l = r
15203
;;;                                                                           } 37 ExpressionStatement
15204
;;;                                                                           { 37 ExpressionStatement
15205
;;;                                                                             { 38 Expr l = r
15206
;;;                                                                               { 39 TypeName
15207
;;;                                                                                 { 40 TypeSpecifier (all)
15208
;;;                                                                                   spec = unsigned int (82000)
15209
;;;                                                                                 } 40 TypeSpecifier (all)
15210
;;;                                                                                 { 40 List
15211
;;;                                                                                   { 41 DeclItem
15212
;;;                                                                                     what = DECL_NAME
15213
;;;                                                                                     name = sm
15214
;;;                                                                                   } 41 DeclItem
15215
;;;                                                                                 } 40 List
15216
;;;                                                                               } 39 TypeName
15217
;;;                                                                               { 39 Expression (variable name)
15218
;;;                                                                                 expr_type = "identifier" (seconds_mid)
15219 2 jsauermann
;--     load_rr_var seconds_mid, (16 bit)
15220
        MOVE    (Cseconds_mid), RR
15221 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
15222 2 jsauermann
;--     store_rr_var sm = -4(FP), SP at -6
15223
        MOVE    RR, 2(SP)
15224 7 jsauermann
;;;                                                                             } 38 Expr l = r
15225
;;;                                                                           } 37 ExpressionStatement
15226
;;;                                                                           { 37 ExpressionStatement
15227
;;;                                                                             { 38 Expr l = r
15228
;;;                                                                               { 39 TypeName
15229
;;;                                                                                 { 40 TypeSpecifier (all)
15230
;;;                                                                                   spec = unsigned int (82000)
15231
;;;                                                                                 } 40 TypeSpecifier (all)
15232
;;;                                                                                 { 40 List
15233
;;;                                                                                   { 41 DeclItem
15234
;;;                                                                                     what = DECL_NAME
15235
;;;                                                                                     name = sh
15236
;;;                                                                                   } 41 DeclItem
15237
;;;                                                                                 } 40 List
15238
;;;                                                                               } 39 TypeName
15239
;;;                                                                               { 39 Expression (variable name)
15240
;;;                                                                                 expr_type = "identifier" (seconds_high)
15241 2 jsauermann
;--     load_rr_var seconds_high, (16 bit)
15242
        MOVE    (Cseconds_high), RR
15243 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
15244 2 jsauermann
;--     store_rr_var sh = -6(FP), SP at -6
15245
        MOVE    RR, 0(SP)
15246 7 jsauermann
;;;                                                                             } 38 Expr l = r
15247
;;;                                                                           } 37 ExpressionStatement
15248
;;;                                                                         } 36 List
15249
;--     pop 0 bytes
15250
;;;                                                                       } 35 CompoundStatement
15251 2 jsauermann
L33_cont_99:
15252 7 jsauermann
;;;                                                                       { 35 Expression (variable name)
15253
;;;                                                                         expr_type = "identifier" (seconds_changed)
15254 2 jsauermann
;--     load_rr_var seconds_changed, (8 bit)
15255
        MOVE    (Cseconds_changed), RU
15256 7 jsauermann
;;;                                                                       } 35 Expression (variable name)
15257 2 jsauermann
;--     branch_true
15258
        JMP     RRNZ, L33_loop_99
15259
L33_brk_100:
15260 7 jsauermann
;;;                                                                     } 34 do while Statement
15261
;;;                                                                     { 34 ExpressionStatement
15262
;;;                                                                       { 35 Expr l(r)
15263
;;;                                                                         { 36 TypeName
15264
;;;                                                                           { 37 TypeSpecifier (all)
15265
;;;                                                                             spec = int (80000)
15266
;;;                                                                           } 37 TypeSpecifier (all)
15267
;;;                                                                           { 37 List
15268
;;;                                                                             { 38 DeclItem
15269
;;;                                                                               what = DECL_NAME
15270
;;;                                                                               name = printf
15271
;;;                                                                             } 38 DeclItem
15272
;;;                                                                           } 37 List
15273
;;;                                                                         } 36 TypeName
15274
;;;                                                                         { 36 Expr (l , r)
15275
;;;                                                                           { 37 ParameterDeclaration
15276
;;;                                                                             isEllipsis = true
15277
;;;                                                                             { 38 TypeName
15278
;;;                                                                               { 39 TypeSpecifier (all)
15279
;;;                                                                                 spec = const char (20100)
15280
;;;                                                                               } 39 TypeSpecifier (all)
15281
;;;                                                                               { 39 List
15282
;;;                                                                                 { 40 DeclItem
15283
;;;                                                                                   what = DECL_POINTER
15284
;;;                                                                                   { 41 List
15285
;;;                                                                                     { 42 Ptr
15286
;;;                                                                                     } 42 Ptr
15287
;;;                                                                                   } 41 List
15288
;;;                                                                                 } 40 DeclItem
15289
;;;                                                                                 { 40 DeclItem
15290
;;;                                                                                   what = DECL_NAME
15291
;;;                                                                                   name = format
15292
;;;                                                                                 } 40 DeclItem
15293
;;;                                                                               } 39 List
15294
;;;                                                                             } 38 TypeName
15295
;;;                                                                           } 37 ParameterDeclaration
15296
;;;                                                                           { 37 Expression (variable name)
15297
;;;                                                                             expr_type = "identifier" (sl)
15298 2 jsauermann
;--     load_rr_var sl = -2(FP), SP at -6 (16 bit)
15299
        MOVE    4(SP), RR
15300 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
15301 2 jsauermann
;--     push_rr (16 bit)
15302
        MOVE    RR, -(SP)
15303 7 jsauermann
;;;                                                                           { 37 Expr (l , r)
15304
;;;                                                                             { 38 ParameterDeclaration
15305
;;;                                                                               isEllipsis = true
15306
;;;                                                                               { 39 TypeName
15307
;;;                                                                                 { 40 TypeSpecifier (all)
15308
;;;                                                                                   spec = const char (20100)
15309
;;;                                                                                 } 40 TypeSpecifier (all)
15310
;;;                                                                                 { 40 List
15311
;;;                                                                                   { 41 DeclItem
15312
;;;                                                                                     what = DECL_POINTER
15313
;;;                                                                                     { 42 List
15314
;;;                                                                                       { 43 Ptr
15315
;;;                                                                                       } 43 Ptr
15316
;;;                                                                                     } 42 List
15317
;;;                                                                                   } 41 DeclItem
15318
;;;                                                                                   { 41 DeclItem
15319
;;;                                                                                     what = DECL_NAME
15320
;;;                                                                                     name = format
15321
;;;                                                                                   } 41 DeclItem
15322
;;;                                                                                 } 40 List
15323
;;;                                                                               } 39 TypeName
15324
;;;                                                                             } 38 ParameterDeclaration
15325
;;;                                                                             { 38 Expression (variable name)
15326
;;;                                                                               expr_type = "identifier" (sm)
15327 2 jsauermann
;--     load_rr_var sm = -4(FP), SP at -8 (16 bit)
15328
        MOVE    4(SP), RR
15329 7 jsauermann
;;;                                                                             } 38 Expression (variable name)
15330 2 jsauermann
;--     push_rr (16 bit)
15331
        MOVE    RR, -(SP)
15332 7 jsauermann
;;;                                                                             { 38 Expr (l , r)
15333
;;;                                                                               { 39 ParameterDeclaration
15334
;;;                                                                                 isEllipsis = true
15335
;;;                                                                                 { 40 TypeName
15336
;;;                                                                                   { 41 TypeSpecifier (all)
15337
;;;                                                                                     spec = const char (20100)
15338
;;;                                                                                   } 41 TypeSpecifier (all)
15339
;;;                                                                                   { 41 List
15340
;;;                                                                                     { 42 DeclItem
15341
;;;                                                                                       what = DECL_POINTER
15342
;;;                                                                                       { 43 List
15343
;;;                                                                                         { 44 Ptr
15344
;;;                                                                                         } 44 Ptr
15345
;;;                                                                                       } 43 List
15346
;;;                                                                                     } 42 DeclItem
15347
;;;                                                                                     { 42 DeclItem
15348
;;;                                                                                       what = DECL_NAME
15349
;;;                                                                                       name = format
15350
;;;                                                                                     } 42 DeclItem
15351
;;;                                                                                   } 41 List
15352
;;;                                                                                 } 40 TypeName
15353
;;;                                                                               } 39 ParameterDeclaration
15354
;;;                                                                               { 39 Expression (variable name)
15355
;;;                                                                                 expr_type = "identifier" (sh)
15356 2 jsauermann
;--     load_rr_var sh = -6(FP), SP at -10 (16 bit)
15357
        MOVE    4(SP), RR
15358 7 jsauermann
;;;                                                                               } 39 Expression (variable name)
15359 2 jsauermann
;--     push_rr (16 bit)
15360
        MOVE    RR, -(SP)
15361 7 jsauermann
;;;                                                                               { 39 ParameterDeclaration
15362
;;;                                                                                 isEllipsis = true
15363
;;;                                                                                 { 40 TypeName
15364
;;;                                                                                   { 41 TypeSpecifier (all)
15365
;;;                                                                                     spec = const char (20100)
15366
;;;                                                                                   } 41 TypeSpecifier (all)
15367
;;;                                                                                   { 41 List
15368
;;;                                                                                     { 42 DeclItem
15369
;;;                                                                                       what = DECL_POINTER
15370
;;;                                                                                       { 43 List
15371
;;;                                                                                         { 44 Ptr
15372
;;;                                                                                         } 44 Ptr
15373
;;;                                                                                       } 43 List
15374
;;;                                                                                     } 42 DeclItem
15375
;;;                                                                                     { 42 DeclItem
15376
;;;                                                                                       what = DECL_NAME
15377
;;;                                                                                       name = format
15378
;;;                                                                                     } 42 DeclItem
15379
;;;                                                                                   } 41 List
15380
;;;                                                                                 } 40 TypeName
15381
;;;                                                                               } 39 ParameterDeclaration
15382
;;;                                                                               { 39 StringExpression
15383 2 jsauermann
;--     load_rr_string
15384 10 jsauermann
        MOVE    #Cstr_71, RR
15385 7 jsauermann
;;;                                                                               } 39 StringExpression
15386 2 jsauermann
;--     push_rr (16 bit)
15387
        MOVE    RR, -(SP)
15388 7 jsauermann
;;;                                                                             } 38 Expr (l , r)
15389
;;;                                                                           } 37 Expr (l , r)
15390
;;;                                                                         } 36 Expr (l , r)
15391 2 jsauermann
;--     push 2 bytes
15392
;--     call
15393
        CALL    Cprintf
15394
;--     pop 8 bytes
15395
        ADD     SP, #8
15396 7 jsauermann
;;;                                                                       } 35 Expr l(r)
15397
;;;                                                                     } 34 ExpressionStatement
15398
;;;                                                                   } 33 List
15399 2 jsauermann
;--     pop 6 bytes
15400
        ADD     SP, #6
15401 7 jsauermann
;;;                                                                 } 32 CompoundStatement
15402
;--     ret
15403 2 jsauermann
        RET
15404
;;; ------------------------------------;
15405 7 jsauermann
;;;                                                                 { 32 FunctionDefinition
15406
;;;                                                                   { 33 TypeName
15407
;;;                                                                     { 34 TypeSpecifier (all)
15408
;;;                                                                       spec = void (10000)
15409
;;;                                                                     } 34 TypeSpecifier (all)
15410
;;;                                                                     { 34 List
15411
;;;                                                                       { 35 DeclItem
15412
;;;                                                                         what = DECL_NAME
15413
;;;                                                                         name = display_memory
15414
;;;                                                                       } 35 DeclItem
15415
;;;                                                                     } 34 List
15416
;;;                                                                   } 33 TypeName
15417
;;;                                                                   { 33 List
15418
;;;                                                                     { 34 DeclItem
15419
;;;                                                                       what = DECL_NAME
15420
;;;                                                                       name = display_memory
15421
;;;                                                                     } 34 DeclItem
15422
;;;                                                                     { 34 DeclItem
15423
;;;                                                                       what = DECL_FUN
15424
;;;                                                                       { 35 List
15425
;;;                                                                         { 36 ParameterDeclaration
15426
;;;                                                                           isEllipsis = false
15427
;;;                                                                           { 37 TypeName
15428
;;;                                                                             { 38 TypeSpecifier (all)
15429
;;;                                                                               spec = unsigned char (22000)
15430
;;;                                                                             } 38 TypeSpecifier (all)
15431
;;;                                                                             { 38 List
15432
;;;                                                                               { 39 DeclItem
15433
;;;                                                                                 what = DECL_POINTER
15434
;;;                                                                                 { 40 List
15435
;;;                                                                                   { 41 Ptr
15436
;;;                                                                                   } 41 Ptr
15437
;;;                                                                                 } 40 List
15438
;;;                                                                               } 39 DeclItem
15439
;;;                                                                               { 39 DeclItem
15440
;;;                                                                                 what = DECL_NAME
15441
;;;                                                                                 name = address
15442
;;;                                                                               } 39 DeclItem
15443
;;;                                                                             } 38 List
15444
;;;                                                                           } 37 TypeName
15445
;;;                                                                         } 36 ParameterDeclaration
15446
;;;                                                                       } 35 List
15447
;;;                                                                     } 34 DeclItem
15448
;;;                                                                   } 33 List
15449 2 jsauermann
Cdisplay_memory:
15450 7 jsauermann
;;;                                                                   { 33 CompoundStatement
15451
;;;                                                                     { 34 InitDeclarator
15452
;;;                                                                       { 35 List
15453
;;;                                                                         { 36 DeclItem
15454
;;;                                                                           what = DECL_NAME
15455
;;;                                                                           name = c
15456
;;;                                                                         } 36 DeclItem
15457
;;;                                                                       } 35 List
15458 2 jsauermann
;--     push_zero 1 bytes
15459
        CLRB    -(SP)
15460 7 jsauermann
;;;                                                                     } 34 InitDeclarator
15461
;;;                                                                     { 34 InitDeclarator
15462
;;;                                                                       { 35 List
15463
;;;                                                                         { 36 DeclItem
15464
;;;                                                                           what = DECL_NAME
15465
;;;                                                                           name = row
15466
;;;                                                                         } 36 DeclItem
15467
;;;                                                                       } 35 List
15468 2 jsauermann
;--     push_zero 2 bytes
15469
        CLRW    -(SP)
15470 7 jsauermann
;;;                                                                     } 34 InitDeclarator
15471
;;;                                                                     { 34 InitDeclarator
15472
;;;                                                                       { 35 List
15473
;;;                                                                         { 36 DeclItem
15474
;;;                                                                           what = DECL_NAME
15475
;;;                                                                           name = col
15476
;;;                                                                         } 36 DeclItem
15477
;;;                                                                       } 35 List
15478 2 jsauermann
;--     push_zero 2 bytes
15479
        CLRW    -(SP)
15480 7 jsauermann
;;;                                                                     } 34 InitDeclarator
15481
;;;                                                                     { 34 List
15482
;;;                                                                       { 35 for Statement
15483
;;;                                                                         { 36 ExpressionStatement
15484
;;;                                                                           { 37 Expr l = r
15485
;;;                                                                             { 38 TypeName
15486
;;;                                                                               { 39 TypeSpecifier (all)
15487
;;;                                                                                 spec = int (80000)
15488
;;;                                                                               } 39 TypeSpecifier (all)
15489
;;;                                                                               { 39 List
15490
;;;                                                                                 { 40 DeclItem
15491
;;;                                                                                   what = DECL_NAME
15492
;;;                                                                                   name = row
15493
;;;                                                                                 } 40 DeclItem
15494
;;;                                                                               } 39 List
15495
;;;                                                                             } 38 TypeName
15496
;;;                                                                             { 38 NumericExpression (constant 0 = 0x0)
15497 2 jsauermann
;--     load_rr_constant
15498
        MOVE    #0x0000, RR
15499 7 jsauermann
;;;                                                                             } 38 NumericExpression (constant 0 = 0x0)
15500 2 jsauermann
;--     store_rr_var row = -3(FP), SP at -5
15501
        MOVE    RR, 2(SP)
15502 7 jsauermann
;;;                                                                           } 37 Expr l = r
15503
;;;                                                                         } 36 ExpressionStatement
15504 2 jsauermann
;--     branch
15505
        JMP     L34_tst_101
15506
L34_loop_101:
15507 7 jsauermann
;;;                                                                         { 36 CompoundStatement
15508
;;;                                                                           { 37 List
15509
;;;                                                                             { 38 ExpressionStatement
15510
;;;                                                                               { 39 Expr l(r)
15511
;;;                                                                                 { 40 TypeName
15512
;;;                                                                                   { 41 TypeSpecifier (all)
15513
;;;                                                                                     spec = int (80000)
15514
;;;                                                                                   } 41 TypeSpecifier (all)
15515
;;;                                                                                   { 41 List
15516
;;;                                                                                     { 42 DeclItem
15517
;;;                                                                                       what = DECL_NAME
15518
;;;                                                                                       name = printf
15519
;;;                                                                                     } 42 DeclItem
15520
;;;                                                                                   } 41 List
15521
;;;                                                                                 } 40 TypeName
15522
;;;                                                                                 { 40 Expr (l , r)
15523
;;;                                                                                   { 41 ParameterDeclaration
15524
;;;                                                                                     isEllipsis = true
15525
;;;                                                                                     { 42 TypeName
15526
;;;                                                                                       { 43 TypeSpecifier (all)
15527
;;;                                                                                         spec = const char (20100)
15528
;;;                                                                                       } 43 TypeSpecifier (all)
15529
;;;                                                                                       { 43 List
15530
;;;                                                                                         { 44 DeclItem
15531
;;;                                                                                           what = DECL_POINTER
15532
;;;                                                                                           { 45 List
15533
;;;                                                                                             { 46 Ptr
15534
;;;                                                                                             } 46 Ptr
15535
;;;                                                                                           } 45 List
15536
;;;                                                                                         } 44 DeclItem
15537
;;;                                                                                         { 44 DeclItem
15538
;;;                                                                                           what = DECL_NAME
15539
;;;                                                                                           name = format
15540
;;;                                                                                         } 44 DeclItem
15541
;;;                                                                                       } 43 List
15542
;;;                                                                                     } 42 TypeName
15543
;;;                                                                                   } 41 ParameterDeclaration
15544
;;;                                                                                   { 41 Expression (variable name)
15545
;;;                                                                                     expr_type = "identifier" (address)
15546 2 jsauermann
;--     load_rr_var address = 2(FP), SP at -5 (16 bit)
15547
        MOVE    7(SP), RR
15548 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
15549 2 jsauermann
;--     push_rr (16 bit)
15550
        MOVE    RR, -(SP)
15551 7 jsauermann
;;;                                                                                   { 41 ParameterDeclaration
15552
;;;                                                                                     isEllipsis = true
15553
;;;                                                                                     { 42 TypeName
15554
;;;                                                                                       { 43 TypeSpecifier (all)
15555
;;;                                                                                         spec = const char (20100)
15556
;;;                                                                                       } 43 TypeSpecifier (all)
15557
;;;                                                                                       { 43 List
15558
;;;                                                                                         { 44 DeclItem
15559
;;;                                                                                           what = DECL_POINTER
15560
;;;                                                                                           { 45 List
15561
;;;                                                                                             { 46 Ptr
15562
;;;                                                                                             } 46 Ptr
15563
;;;                                                                                           } 45 List
15564
;;;                                                                                         } 44 DeclItem
15565
;;;                                                                                         { 44 DeclItem
15566
;;;                                                                                           what = DECL_NAME
15567
;;;                                                                                           name = format
15568
;;;                                                                                         } 44 DeclItem
15569
;;;                                                                                       } 43 List
15570
;;;                                                                                     } 42 TypeName
15571
;;;                                                                                   } 41 ParameterDeclaration
15572
;;;                                                                                   { 41 StringExpression
15573 2 jsauermann
;--     load_rr_string
15574 10 jsauermann
        MOVE    #Cstr_72, RR
15575 7 jsauermann
;;;                                                                                   } 41 StringExpression
15576 2 jsauermann
;--     push_rr (16 bit)
15577
        MOVE    RR, -(SP)
15578 7 jsauermann
;;;                                                                                 } 40 Expr (l , r)
15579 2 jsauermann
;--     push 2 bytes
15580
;--     call
15581
        CALL    Cprintf
15582
;--     pop 4 bytes
15583
        ADD     SP, #4
15584 7 jsauermann
;;;                                                                               } 39 Expr l(r)
15585
;;;                                                                             } 38 ExpressionStatement
15586
;;;                                                                             { 38 for Statement
15587
;;;                                                                               { 39 ExpressionStatement
15588
;;;                                                                                 { 40 Expr l = r
15589
;;;                                                                                   { 41 TypeName
15590
;;;                                                                                     { 42 TypeSpecifier (all)
15591
;;;                                                                                       spec = int (80000)
15592
;;;                                                                                     } 42 TypeSpecifier (all)
15593
;;;                                                                                     { 42 List
15594
;;;                                                                                       { 43 DeclItem
15595
;;;                                                                                         what = DECL_NAME
15596
;;;                                                                                         name = col
15597
;;;                                                                                       } 43 DeclItem
15598
;;;                                                                                     } 42 List
15599
;;;                                                                                   } 41 TypeName
15600
;;;                                                                                   { 41 NumericExpression (constant 0 = 0x0)
15601 2 jsauermann
;--     load_rr_constant
15602
        MOVE    #0x0000, RR
15603 7 jsauermann
;;;                                                                                   } 41 NumericExpression (constant 0 = 0x0)
15604 2 jsauermann
;--     store_rr_var col = -5(FP), SP at -5
15605
        MOVE    RR, 0(SP)
15606 7 jsauermann
;;;                                                                                 } 40 Expr l = r
15607
;;;                                                                               } 39 ExpressionStatement
15608 2 jsauermann
;--     branch
15609
        JMP     L34_tst_103
15610
L34_loop_103:
15611 7 jsauermann
;;;                                                                               { 39 ExpressionStatement
15612
;;;                                                                                 { 40 Expr l(r)
15613
;;;                                                                                   { 41 TypeName
15614
;;;                                                                                     { 42 TypeSpecifier (all)
15615
;;;                                                                                       spec = int (80000)
15616
;;;                                                                                     } 42 TypeSpecifier (all)
15617
;;;                                                                                     { 42 List
15618
;;;                                                                                       { 43 DeclItem
15619
;;;                                                                                         what = DECL_NAME
15620
;;;                                                                                         name = printf
15621
;;;                                                                                       } 43 DeclItem
15622
;;;                                                                                     } 42 List
15623
;;;                                                                                   } 41 TypeName
15624
;;;                                                                                   { 41 Expr (l , r)
15625
;;;                                                                                     { 42 ParameterDeclaration
15626
;;;                                                                                       isEllipsis = true
15627
;;;                                                                                       { 43 TypeName
15628
;;;                                                                                         { 44 TypeSpecifier (all)
15629
;;;                                                                                           spec = const char (20100)
15630
;;;                                                                                         } 44 TypeSpecifier (all)
15631
;;;                                                                                         { 44 List
15632
;;;                                                                                           { 45 DeclItem
15633
;;;                                                                                             what = DECL_POINTER
15634
;;;                                                                                             { 46 List
15635
;;;                                                                                               { 47 Ptr
15636
;;;                                                                                               } 47 Ptr
15637
;;;                                                                                             } 46 List
15638
;;;                                                                                           } 45 DeclItem
15639
;;;                                                                                           { 45 DeclItem
15640
;;;                                                                                             what = DECL_NAME
15641
;;;                                                                                             name = format
15642
;;;                                                                                           } 45 DeclItem
15643
;;;                                                                                         } 44 List
15644
;;;                                                                                       } 43 TypeName
15645
;;;                                                                                     } 42 ParameterDeclaration
15646
;;;                                                                                     { 42 Expr * r
15647
;;;                                                                                       { 43 Expr l - r
15648
;;;                                                                                         { 44 Expr ++r
15649
;;;                                                                                           { 45 Expression (variable name)
15650
;;;                                                                                             expr_type = "identifier" (address)
15651 2 jsauermann
;--     load_rr_var address = 2(FP), SP at -5 (16 bit)
15652
        MOVE    7(SP), RR
15653 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
15654 2 jsauermann
;--     ++
15655
        ADD     RR, #0x0001
15656
;--     store_rr_var address = 2(FP), SP at -5
15657
        MOVE    RR, 7(SP)
15658 7 jsauermann
;;;                                                                                         } 44 Expr ++r
15659 2 jsauermann
;--     l - r
15660
        SUB     RR, #0x0001
15661 7 jsauermann
;;;                                                                                       } 43 Expr l - r
15662 2 jsauermann
;--     content
15663
        MOVE    (RR), RU
15664 7 jsauermann
;;;                                                                                     } 42 Expr * r
15665 2 jsauermann
;--     push_rr (16 bit)
15666
        MOVE    RR, -(SP)
15667 7 jsauermann
;;;                                                                                     { 42 ParameterDeclaration
15668
;;;                                                                                       isEllipsis = true
15669
;;;                                                                                       { 43 TypeName
15670
;;;                                                                                         { 44 TypeSpecifier (all)
15671
;;;                                                                                           spec = const char (20100)
15672
;;;                                                                                         } 44 TypeSpecifier (all)
15673
;;;                                                                                         { 44 List
15674
;;;                                                                                           { 45 DeclItem
15675
;;;                                                                                             what = DECL_POINTER
15676
;;;                                                                                             { 46 List
15677
;;;                                                                                               { 47 Ptr
15678
;;;                                                                                               } 47 Ptr
15679
;;;                                                                                             } 46 List
15680
;;;                                                                                           } 45 DeclItem
15681
;;;                                                                                           { 45 DeclItem
15682
;;;                                                                                             what = DECL_NAME
15683
;;;                                                                                             name = format
15684
;;;                                                                                           } 45 DeclItem
15685
;;;                                                                                         } 44 List
15686
;;;                                                                                       } 43 TypeName
15687
;;;                                                                                     } 42 ParameterDeclaration
15688
;;;                                                                                     { 42 StringExpression
15689 2 jsauermann
;--     load_rr_string
15690 10 jsauermann
        MOVE    #Cstr_73, RR
15691 7 jsauermann
;;;                                                                                     } 42 StringExpression
15692 2 jsauermann
;--     push_rr (16 bit)
15693
        MOVE    RR, -(SP)
15694 7 jsauermann
;;;                                                                                   } 41 Expr (l , r)
15695 2 jsauermann
;--     push 2 bytes
15696
;--     call
15697
        CALL    Cprintf
15698
;--     pop 4 bytes
15699
        ADD     SP, #4
15700 7 jsauermann
;;;                                                                                 } 40 Expr l(r)
15701
;;;                                                                               } 39 ExpressionStatement
15702 2 jsauermann
L34_cont_103:
15703 7 jsauermann
;;;                                                                               { 39 Expr l - r
15704
;;;                                                                                 { 40 Expr ++r
15705
;;;                                                                                   { 41 Expression (variable name)
15706
;;;                                                                                     expr_type = "identifier" (col)
15707 2 jsauermann
;--     load_rr_var col = -5(FP), SP at -5 (16 bit)
15708
        MOVE    0(SP), RR
15709 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
15710 2 jsauermann
;--     ++
15711
        ADD     RR, #0x0001
15712
;--     store_rr_var col = -5(FP), SP at -5
15713
        MOVE    RR, 0(SP)
15714 7 jsauermann
;;;                                                                                 } 40 Expr ++r
15715 2 jsauermann
;--     l - r
15716
        SUB     RR, #0x0001
15717 7 jsauermann
;;;                                                                               } 39 Expr l - r
15718 2 jsauermann
L34_tst_103:
15719 7 jsauermann
;;;                                                                               { 39 Expr l < r
15720
;;;                                                                                 { 40 TypeName (internal)
15721
;;;                                                                                   { 41 TypeSpecifier (all)
15722
;;;                                                                                     spec = int (80000)
15723
;;;                                                                                   } 41 TypeSpecifier (all)
15724
;;;                                                                                 } 40 TypeName (internal)
15725
;;;                                                                                 { 40 Expression (variable name)
15726
;;;                                                                                   expr_type = "identifier" (col)
15727 2 jsauermann
;--     load_rr_var col = -5(FP), SP at -5 (16 bit)
15728
        MOVE    0(SP), RR
15729 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
15730 2 jsauermann
;--     l < r
15731
        SLT     RR, #0x0010
15732 7 jsauermann
;;;                                                                               } 39 Expr l < r
15733 2 jsauermann
;--     branch_true
15734
        JMP     RRNZ, L34_loop_103
15735
L34_brk_104:
15736 7 jsauermann
;;;                                                                             } 38 for Statement
15737
;;;                                                                             { 38 ExpressionStatement
15738
;;;                                                                               { 39 Expr l -= r
15739
;;;                                                                                 { 40 TypeName
15740
;;;                                                                                   { 41 TypeSpecifier (all)
15741
;;;                                                                                     spec = unsigned char (22000)
15742
;;;                                                                                   } 41 TypeSpecifier (all)
15743
;;;                                                                                   { 41 List
15744
;;;                                                                                     { 42 DeclItem
15745
;;;                                                                                       what = DECL_POINTER
15746
;;;                                                                                       { 43 List
15747
;;;                                                                                         { 44 Ptr
15748
;;;                                                                                         } 44 Ptr
15749
;;;                                                                                       } 43 List
15750
;;;                                                                                     } 42 DeclItem
15751
;;;                                                                                     { 42 DeclItem
15752
;;;                                                                                       what = DECL_NAME
15753
;;;                                                                                       name = address
15754
;;;                                                                                     } 42 DeclItem
15755
;;;                                                                                   } 41 List
15756
;;;                                                                                 } 40 TypeName
15757
;;;                                                                                 { 40 Expr l - r
15758
;;;                                                                                   { 41 Expression (variable name)
15759
;;;                                                                                     expr_type = "identifier" (address)
15760 2 jsauermann
;--     load_rr_var address = 2(FP), SP at -5 (16 bit)
15761
        MOVE    7(SP), RR
15762 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
15763 2 jsauermann
;--     l - r
15764
        SUB     RR, #0x0010
15765 7 jsauermann
;;;                                                                                 } 40 Expr l - r
15766 2 jsauermann
;--     store_rr_var address = 2(FP), SP at -5
15767
        MOVE    RR, 7(SP)
15768 7 jsauermann
;;;                                                                               } 39 Expr l -= r
15769
;;;                                                                             } 38 ExpressionStatement
15770
;;;                                                                             { 38 ExpressionStatement
15771
;;;                                                                               { 39 Expr l(r)
15772
;;;                                                                                 { 40 TypeName
15773
;;;                                                                                   { 41 TypeSpecifier (all)
15774
;;;                                                                                     spec = int (80000)
15775
;;;                                                                                   } 41 TypeSpecifier (all)
15776
;;;                                                                                   { 41 List
15777
;;;                                                                                     { 42 DeclItem
15778
;;;                                                                                       what = DECL_NAME
15779
;;;                                                                                       name = printf
15780
;;;                                                                                     } 42 DeclItem
15781
;;;                                                                                   } 41 List
15782
;;;                                                                                 } 40 TypeName
15783
;;;                                                                                 { 40 ParameterDeclaration
15784
;;;                                                                                   isEllipsis = true
15785
;;;                                                                                   { 41 TypeName
15786
;;;                                                                                     { 42 TypeSpecifier (all)
15787
;;;                                                                                       spec = const char (20100)
15788
;;;                                                                                     } 42 TypeSpecifier (all)
15789
;;;                                                                                     { 42 List
15790
;;;                                                                                       { 43 DeclItem
15791
;;;                                                                                         what = DECL_POINTER
15792
;;;                                                                                         { 44 List
15793
;;;                                                                                           { 45 Ptr
15794
;;;                                                                                           } 45 Ptr
15795
;;;                                                                                         } 44 List
15796
;;;                                                                                       } 43 DeclItem
15797
;;;                                                                                       { 43 DeclItem
15798
;;;                                                                                         what = DECL_NAME
15799
;;;                                                                                         name = format
15800
;;;                                                                                       } 43 DeclItem
15801
;;;                                                                                     } 42 List
15802
;;;                                                                                   } 41 TypeName
15803
;;;                                                                                 } 40 ParameterDeclaration
15804
;;;                                                                                 { 40 StringExpression
15805 2 jsauermann
;--     load_rr_string
15806 10 jsauermann
        MOVE    #Cstr_74, RR
15807 7 jsauermann
;;;                                                                                 } 40 StringExpression
15808 2 jsauermann
;--     push_rr (16 bit)
15809
        MOVE    RR, -(SP)
15810
;--     push 2 bytes
15811
;--     call
15812
        CALL    Cprintf
15813
;--     pop 2 bytes
15814
        ADD     SP, #2
15815 7 jsauermann
;;;                                                                               } 39 Expr l(r)
15816
;;;                                                                             } 38 ExpressionStatement
15817
;;;                                                                             { 38 for Statement
15818
;;;                                                                               { 39 ExpressionStatement
15819
;;;                                                                                 { 40 Expr l = r
15820
;;;                                                                                   { 41 TypeName
15821
;;;                                                                                     { 42 TypeSpecifier (all)
15822
;;;                                                                                       spec = int (80000)
15823
;;;                                                                                     } 42 TypeSpecifier (all)
15824
;;;                                                                                     { 42 List
15825
;;;                                                                                       { 43 DeclItem
15826
;;;                                                                                         what = DECL_NAME
15827
;;;                                                                                         name = col
15828
;;;                                                                                       } 43 DeclItem
15829
;;;                                                                                     } 42 List
15830
;;;                                                                                   } 41 TypeName
15831
;;;                                                                                   { 41 NumericExpression (constant 0 = 0x0)
15832 2 jsauermann
;--     load_rr_constant
15833
        MOVE    #0x0000, RR
15834 7 jsauermann
;;;                                                                                   } 41 NumericExpression (constant 0 = 0x0)
15835 2 jsauermann
;--     store_rr_var col = -5(FP), SP at -5
15836
        MOVE    RR, 0(SP)
15837 7 jsauermann
;;;                                                                                 } 40 Expr l = r
15838
;;;                                                                               } 39 ExpressionStatement
15839 2 jsauermann
;--     branch
15840
        JMP     L34_tst_105
15841
L34_loop_105:
15842 7 jsauermann
;;;                                                                               { 39 CompoundStatement
15843
;;;                                                                                 { 40 List
15844
;;;                                                                                   { 41 ExpressionStatement
15845
;;;                                                                                     { 42 Expr l = r
15846
;;;                                                                                       { 43 TypeName
15847
;;;                                                                                         { 44 TypeSpecifier (all)
15848
;;;                                                                                           spec = char (20000)
15849
;;;                                                                                         } 44 TypeSpecifier (all)
15850
;;;                                                                                         { 44 List
15851
;;;                                                                                           { 45 DeclItem
15852
;;;                                                                                             what = DECL_NAME
15853
;;;                                                                                             name = c
15854
;;;                                                                                           } 45 DeclItem
15855
;;;                                                                                         } 44 List
15856
;;;                                                                                       } 43 TypeName
15857
;;;                                                                                       { 43 Expr * r
15858
;;;                                                                                         { 44 Expr l - r
15859
;;;                                                                                           { 45 Expr ++r
15860
;;;                                                                                             { 46 Expression (variable name)
15861
;;;                                                                                               expr_type = "identifier" (address)
15862 2 jsauermann
;--     load_rr_var address = 2(FP), SP at -5 (16 bit)
15863
        MOVE    7(SP), RR
15864 7 jsauermann
;;;                                                                                             } 46 Expression (variable name)
15865 2 jsauermann
;--     ++
15866
        ADD     RR, #0x0001
15867
;--     store_rr_var address = 2(FP), SP at -5
15868
        MOVE    RR, 7(SP)
15869 7 jsauermann
;;;                                                                                           } 45 Expr ++r
15870 2 jsauermann
;--     l - r
15871
        SUB     RR, #0x0001
15872 7 jsauermann
;;;                                                                                         } 44 Expr l - r
15873 2 jsauermann
;--     content
15874
        MOVE    (RR), RU
15875 7 jsauermann
;;;                                                                                       } 43 Expr * r
15876 2 jsauermann
;--     store_rr_var c = -1(FP), SP at -5
15877
        MOVE    R, 4(SP)
15878 7 jsauermann
;;;                                                                                     } 42 Expr l = r
15879
;;;                                                                                   } 41 ExpressionStatement
15880
;;;                                                                                   { 41 IfElseStatement
15881
;;;                                                                                     { 42 Expr l < r
15882
;;;                                                                                       { 43 TypeName (internal)
15883
;;;                                                                                         { 44 TypeSpecifier (all)
15884
;;;                                                                                           spec = int (80000)
15885
;;;                                                                                         } 44 TypeSpecifier (all)
15886
;;;                                                                                       } 43 TypeName (internal)
15887
;;;                                                                                       { 43 Expression (variable name)
15888
;;;                                                                                         expr_type = "identifier" (c)
15889 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -5 (8 bit)
15890
        MOVE    4(SP), RS
15891 7 jsauermann
;;;                                                                                       } 43 Expression (variable name)
15892 2 jsauermann
;--     l < r
15893
        SLT     RR, #0x0020
15894 7 jsauermann
;;;                                                                                     } 42 Expr l < r
15895 2 jsauermann
;--     branch_false
15896
        JMP     RRZ, L34_else_107
15897 7 jsauermann
;;;                                                                                     { 42 ExpressionStatement
15898
;;;                                                                                       { 43 Expr l(r)
15899
;;;                                                                                         { 44 TypeName
15900
;;;                                                                                           { 45 TypeSpecifier (all)
15901
;;;                                                                                             spec = int (80000)
15902
;;;                                                                                           } 45 TypeSpecifier (all)
15903
;;;                                                                                           { 45 List
15904
;;;                                                                                             { 46 DeclItem
15905
;;;                                                                                               what = DECL_NAME
15906
;;;                                                                                               name = putchr
15907
;;;                                                                                             } 46 DeclItem
15908
;;;                                                                                           } 45 List
15909
;;;                                                                                         } 44 TypeName
15910
;;;                                                                                         { 44 ParameterDeclaration
15911
;;;                                                                                           isEllipsis = false
15912
;;;                                                                                           { 45 TypeName
15913
;;;                                                                                             { 46 TypeSpecifier (all)
15914
;;;                                                                                               spec = char (20000)
15915
;;;                                                                                             } 46 TypeSpecifier (all)
15916
;;;                                                                                             { 46 List
15917
;;;                                                                                               { 47 DeclItem
15918
;;;                                                                                                 what = DECL_NAME
15919
;;;                                                                                                 name = c
15920
;;;                                                                                               } 47 DeclItem
15921
;;;                                                                                             } 46 List
15922
;;;                                                                                           } 45 TypeName
15923
;;;                                                                                         } 44 ParameterDeclaration
15924
;;;                                                                                         { 44 NumericExpression (constant 46 = 0x2E)
15925 2 jsauermann
;--     load_rr_constant
15926
        MOVE    #0x002E, RR
15927 7 jsauermann
;;;                                                                                         } 44 NumericExpression (constant 46 = 0x2E)
15928 2 jsauermann
;--     push_rr (8 bit)
15929
        MOVE    R, -(SP)
15930
;--     push 2 bytes
15931
;--     call
15932
        CALL    Cputchr
15933
;--     pop 1 bytes
15934
        ADD     SP, #1
15935 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
15936
;;;                                                                                     } 42 ExpressionStatement
15937 2 jsauermann
;--     branch
15938
        JMP     L34_endif_107
15939
L34_else_107:
15940 7 jsauermann
;;;                                                                                     { 42 IfElseStatement
15941
;;;                                                                                       { 43 Expr l < r
15942
;;;                                                                                         { 44 TypeName (internal)
15943
;;;                                                                                           { 45 TypeSpecifier (all)
15944
;;;                                                                                             spec = int (80000)
15945
;;;                                                                                           } 45 TypeSpecifier (all)
15946
;;;                                                                                         } 44 TypeName (internal)
15947
;;;                                                                                         { 44 Expression (variable name)
15948
;;;                                                                                           expr_type = "identifier" (c)
15949 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -5 (8 bit)
15950
        MOVE    4(SP), RS
15951 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
15952 2 jsauermann
;--     l < r
15953
        SLT     RR, #0x007F
15954 7 jsauermann
;;;                                                                                       } 43 Expr l < r
15955 2 jsauermann
;--     branch_false
15956
        JMP     RRZ, L34_else_108
15957 7 jsauermann
;;;                                                                                       { 43 ExpressionStatement
15958
;;;                                                                                         { 44 Expr l(r)
15959
;;;                                                                                           { 45 TypeName
15960
;;;                                                                                             { 46 TypeSpecifier (all)
15961
;;;                                                                                               spec = int (80000)
15962
;;;                                                                                             } 46 TypeSpecifier (all)
15963
;;;                                                                                             { 46 List
15964
;;;                                                                                               { 47 DeclItem
15965
;;;                                                                                                 what = DECL_NAME
15966
;;;                                                                                                 name = putchr
15967
;;;                                                                                               } 47 DeclItem
15968
;;;                                                                                             } 46 List
15969
;;;                                                                                           } 45 TypeName
15970
;;;                                                                                           { 45 ParameterDeclaration
15971
;;;                                                                                             isEllipsis = false
15972
;;;                                                                                             { 46 TypeName
15973
;;;                                                                                               { 47 TypeSpecifier (all)
15974
;;;                                                                                                 spec = char (20000)
15975
;;;                                                                                               } 47 TypeSpecifier (all)
15976
;;;                                                                                               { 47 List
15977
;;;                                                                                                 { 48 DeclItem
15978
;;;                                                                                                   what = DECL_NAME
15979
;;;                                                                                                   name = c
15980
;;;                                                                                                 } 48 DeclItem
15981
;;;                                                                                               } 47 List
15982
;;;                                                                                             } 46 TypeName
15983
;;;                                                                                           } 45 ParameterDeclaration
15984
;;;                                                                                           { 45 Expression (variable name)
15985
;;;                                                                                             expr_type = "identifier" (c)
15986 2 jsauermann
;--     load_rr_var c = -1(FP), SP at -5 (8 bit)
15987
        MOVE    4(SP), RS
15988 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
15989 2 jsauermann
;--     push_rr (8 bit)
15990
        MOVE    R, -(SP)
15991
;--     push 2 bytes
15992
;--     call
15993
        CALL    Cputchr
15994
;--     pop 1 bytes
15995
        ADD     SP, #1
15996 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
15997
;;;                                                                                       } 43 ExpressionStatement
15998 2 jsauermann
;--     branch
15999
        JMP     L34_endif_108
16000
L34_else_108:
16001 7 jsauermann
;;;                                                                                       { 43 ExpressionStatement
16002
;;;                                                                                         { 44 Expr l(r)
16003
;;;                                                                                           { 45 TypeName
16004
;;;                                                                                             { 46 TypeSpecifier (all)
16005
;;;                                                                                               spec = int (80000)
16006
;;;                                                                                             } 46 TypeSpecifier (all)
16007
;;;                                                                                             { 46 List
16008
;;;                                                                                               { 47 DeclItem
16009
;;;                                                                                                 what = DECL_NAME
16010
;;;                                                                                                 name = putchr
16011
;;;                                                                                               } 47 DeclItem
16012
;;;                                                                                             } 46 List
16013
;;;                                                                                           } 45 TypeName
16014
;;;                                                                                           { 45 ParameterDeclaration
16015
;;;                                                                                             isEllipsis = false
16016
;;;                                                                                             { 46 TypeName
16017
;;;                                                                                               { 47 TypeSpecifier (all)
16018
;;;                                                                                                 spec = char (20000)
16019
;;;                                                                                               } 47 TypeSpecifier (all)
16020
;;;                                                                                               { 47 List
16021
;;;                                                                                                 { 48 DeclItem
16022
;;;                                                                                                   what = DECL_NAME
16023
;;;                                                                                                   name = c
16024
;;;                                                                                                 } 48 DeclItem
16025
;;;                                                                                               } 47 List
16026
;;;                                                                                             } 46 TypeName
16027
;;;                                                                                           } 45 ParameterDeclaration
16028
;;;                                                                                           { 45 NumericExpression (constant 46 = 0x2E)
16029 2 jsauermann
;--     load_rr_constant
16030
        MOVE    #0x002E, RR
16031 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 46 = 0x2E)
16032 2 jsauermann
;--     push_rr (8 bit)
16033
        MOVE    R, -(SP)
16034
;--     push 2 bytes
16035
;--     call
16036
        CALL    Cputchr
16037
;--     pop 1 bytes
16038
        ADD     SP, #1
16039 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
16040
;;;                                                                                       } 43 ExpressionStatement
16041 2 jsauermann
L34_endif_108:
16042 7 jsauermann
;;;                                                                                     } 42 IfElseStatement
16043 2 jsauermann
L34_endif_107:
16044 7 jsauermann
;;;                                                                                   } 41 IfElseStatement
16045
;;;                                                                                 } 40 List
16046
;--     pop 0 bytes
16047
;;;                                                                               } 39 CompoundStatement
16048 2 jsauermann
L34_cont_105:
16049 7 jsauermann
;;;                                                                               { 39 Expr l - r
16050
;;;                                                                                 { 40 Expr ++r
16051
;;;                                                                                   { 41 Expression (variable name)
16052
;;;                                                                                     expr_type = "identifier" (col)
16053 2 jsauermann
;--     load_rr_var col = -5(FP), SP at -5 (16 bit)
16054
        MOVE    0(SP), RR
16055 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
16056 2 jsauermann
;--     ++
16057
        ADD     RR, #0x0001
16058
;--     store_rr_var col = -5(FP), SP at -5
16059
        MOVE    RR, 0(SP)
16060 7 jsauermann
;;;                                                                                 } 40 Expr ++r
16061 2 jsauermann
;--     l - r
16062
        SUB     RR, #0x0001
16063 7 jsauermann
;;;                                                                               } 39 Expr l - r
16064 2 jsauermann
L34_tst_105:
16065 7 jsauermann
;;;                                                                               { 39 Expr l < r
16066
;;;                                                                                 { 40 TypeName (internal)
16067
;;;                                                                                   { 41 TypeSpecifier (all)
16068
;;;                                                                                     spec = int (80000)
16069
;;;                                                                                   } 41 TypeSpecifier (all)
16070
;;;                                                                                 } 40 TypeName (internal)
16071
;;;                                                                                 { 40 Expression (variable name)
16072
;;;                                                                                   expr_type = "identifier" (col)
16073 2 jsauermann
;--     load_rr_var col = -5(FP), SP at -5 (16 bit)
16074
        MOVE    0(SP), RR
16075 7 jsauermann
;;;                                                                                 } 40 Expression (variable name)
16076 2 jsauermann
;--     l < r
16077
        SLT     RR, #0x0010
16078 7 jsauermann
;;;                                                                               } 39 Expr l < r
16079 2 jsauermann
;--     branch_true
16080
        JMP     RRNZ, L34_loop_105
16081
L34_brk_106:
16082 7 jsauermann
;;;                                                                             } 38 for Statement
16083
;;;                                                                             { 38 ExpressionStatement
16084
;;;                                                                               { 39 Expr l(r)
16085
;;;                                                                                 { 40 TypeName
16086
;;;                                                                                   { 41 TypeSpecifier (all)
16087
;;;                                                                                     spec = int (80000)
16088
;;;                                                                                   } 41 TypeSpecifier (all)
16089
;;;                                                                                   { 41 List
16090
;;;                                                                                     { 42 DeclItem
16091
;;;                                                                                       what = DECL_NAME
16092
;;;                                                                                       name = printf
16093
;;;                                                                                     } 42 DeclItem
16094
;;;                                                                                   } 41 List
16095
;;;                                                                                 } 40 TypeName
16096
;;;                                                                                 { 40 ParameterDeclaration
16097
;;;                                                                                   isEllipsis = true
16098
;;;                                                                                   { 41 TypeName
16099
;;;                                                                                     { 42 TypeSpecifier (all)
16100
;;;                                                                                       spec = const char (20100)
16101
;;;                                                                                     } 42 TypeSpecifier (all)
16102
;;;                                                                                     { 42 List
16103
;;;                                                                                       { 43 DeclItem
16104
;;;                                                                                         what = DECL_POINTER
16105
;;;                                                                                         { 44 List
16106
;;;                                                                                           { 45 Ptr
16107
;;;                                                                                           } 45 Ptr
16108
;;;                                                                                         } 44 List
16109
;;;                                                                                       } 43 DeclItem
16110
;;;                                                                                       { 43 DeclItem
16111
;;;                                                                                         what = DECL_NAME
16112
;;;                                                                                         name = format
16113
;;;                                                                                       } 43 DeclItem
16114
;;;                                                                                     } 42 List
16115
;;;                                                                                   } 41 TypeName
16116
;;;                                                                                 } 40 ParameterDeclaration
16117
;;;                                                                                 { 40 StringExpression
16118 2 jsauermann
;--     load_rr_string
16119 10 jsauermann
        MOVE    #Cstr_75, RR
16120 7 jsauermann
;;;                                                                                 } 40 StringExpression
16121 2 jsauermann
;--     push_rr (16 bit)
16122
        MOVE    RR, -(SP)
16123
;--     push 2 bytes
16124
;--     call
16125
        CALL    Cprintf
16126
;--     pop 2 bytes
16127
        ADD     SP, #2
16128 7 jsauermann
;;;                                                                               } 39 Expr l(r)
16129
;;;                                                                             } 38 ExpressionStatement
16130
;;;                                                                           } 37 List
16131
;--     pop 0 bytes
16132
;;;                                                                         } 36 CompoundStatement
16133 2 jsauermann
L34_cont_101:
16134 7 jsauermann
;;;                                                                         { 36 Expr l - r
16135
;;;                                                                           { 37 Expr ++r
16136
;;;                                                                             { 38 Expression (variable name)
16137
;;;                                                                               expr_type = "identifier" (row)
16138 2 jsauermann
;--     load_rr_var row = -3(FP), SP at -5 (16 bit)
16139
        MOVE    2(SP), RR
16140 7 jsauermann
;;;                                                                             } 38 Expression (variable name)
16141 2 jsauermann
;--     ++
16142
        ADD     RR, #0x0001
16143
;--     store_rr_var row = -3(FP), SP at -5
16144
        MOVE    RR, 2(SP)
16145 7 jsauermann
;;;                                                                           } 37 Expr ++r
16146 2 jsauermann
;--     l - r
16147
        SUB     RR, #0x0001
16148 7 jsauermann
;;;                                                                         } 36 Expr l - r
16149 2 jsauermann
L34_tst_101:
16150 7 jsauermann
;;;                                                                         { 36 Expr l < r
16151
;;;                                                                           { 37 TypeName (internal)
16152
;;;                                                                             { 38 TypeSpecifier (all)
16153
;;;                                                                               spec = int (80000)
16154
;;;                                                                             } 38 TypeSpecifier (all)
16155
;;;                                                                           } 37 TypeName (internal)
16156
;;;                                                                           { 37 Expression (variable name)
16157
;;;                                                                             expr_type = "identifier" (row)
16158 2 jsauermann
;--     load_rr_var row = -3(FP), SP at -5 (16 bit)
16159
        MOVE    2(SP), RR
16160 7 jsauermann
;;;                                                                           } 37 Expression (variable name)
16161 2 jsauermann
;--     l < r
16162
        SLT     RR, #0x0010
16163 7 jsauermann
;;;                                                                         } 36 Expr l < r
16164 2 jsauermann
;--     branch_true
16165
        JMP     RRNZ, L34_loop_101
16166
L34_brk_102:
16167 7 jsauermann
;;;                                                                       } 35 for Statement
16168
;;;                                                                     } 34 List
16169 2 jsauermann
;--     pop 5 bytes
16170
        ADD     SP, #5
16171 7 jsauermann
;;;                                                                   } 33 CompoundStatement
16172
;--     ret
16173 2 jsauermann
        RET
16174
;;; ------------------------------------;
16175 7 jsauermann
;;;                                                                   { 33 FunctionDefinition
16176
;;;                                                                     { 34 TypeName
16177
;;;                                                                       { 35 TypeSpecifier (all)
16178
;;;                                                                         spec = int (80000)
16179
;;;                                                                       } 35 TypeSpecifier (all)
16180
;;;                                                                       { 35 List
16181
;;;                                                                         { 36 DeclItem
16182
;;;                                                                           what = DECL_NAME
16183
;;;                                                                           name = main
16184
;;;                                                                         } 36 DeclItem
16185
;;;                                                                       } 35 List
16186
;;;                                                                     } 34 TypeName
16187
;;;                                                                     { 34 List
16188
;;;                                                                       { 35 DeclItem
16189
;;;                                                                         what = DECL_NAME
16190
;;;                                                                         name = main
16191
;;;                                                                       } 35 DeclItem
16192
;;;                                                                       { 35 DeclItem
16193
;;;                                                                         what = DECL_FUN
16194
;;;                                                                       } 35 DeclItem
16195
;;;                                                                     } 34 List
16196 2 jsauermann
Cmain:
16197 7 jsauermann
;;;                                                                     { 34 CompoundStatement
16198 16 jsauermann
;;;                                                                       { 35 InitDeclarator
16199
;;;                                                                         { 36 List
16200
;;;                                                                           { 37 DeclItem
16201
;;;                                                                             what = DECL_NAME
16202
;;;                                                                             name = i
16203
;;;                                                                           } 37 DeclItem
16204
;;;                                                                         } 36 List
16205
;--     push_zero 2 bytes
16206
        CLRW    -(SP)
16207
;;;                                                                       } 35 InitDeclarator
16208 7 jsauermann
;;;                                                                       { 35 List
16209
;;;                                                                         { 36 ExpressionStatement
16210
;;;                                                                           { 37 Expr l(r)
16211
;;;                                                                             { 38 TypeName
16212
;;;                                                                               { 39 TypeSpecifier (all)
16213
;;;                                                                                 spec = void (10000)
16214
;;;                                                                               } 39 TypeSpecifier (all)
16215
;;;                                                                               { 39 List
16216
;;;                                                                                 { 40 DeclItem
16217
;;;                                                                                   what = DECL_NAME
16218 16 jsauermann
;;;                                                                                   name = init_unused
16219 7 jsauermann
;;;                                                                                 } 40 DeclItem
16220
;;;                                                                               } 39 List
16221
;;;                                                                             } 38 TypeName
16222 2 jsauermann
;--     push 0 bytes
16223
;--     call
16224 16 jsauermann
        CALL    Cinit_unused
16225 2 jsauermann
;--     pop 0 bytes
16226 7 jsauermann
;;;                                                                           } 37 Expr l(r)
16227
;;;                                                                         } 36 ExpressionStatement
16228
;;;                                                                         { 36 ExpressionStatement
16229
;;;                                                                           { 37 Expr l(r)
16230
;;;                                                                             { 38 TypeName
16231
;;;                                                                               { 39 TypeSpecifier (all)
16232
;;;                                                                                 spec = void (10000)
16233
;;;                                                                               } 39 TypeSpecifier (all)
16234
;;;                                                                               { 39 List
16235
;;;                                                                                 { 40 DeclItem
16236
;;;                                                                                   what = DECL_NAME
16237 16 jsauermann
;;;                                                                                   name = init_stack
16238 7 jsauermann
;;;                                                                                 } 40 DeclItem
16239
;;;                                                                               } 39 List
16240
;;;                                                                             } 38 TypeName
16241 2 jsauermann
;--     push 0 bytes
16242
;--     call
16243 16 jsauermann
        CALL    Cinit_stack
16244 2 jsauermann
;--     pop 0 bytes
16245 7 jsauermann
;;;                                                                           } 37 Expr l(r)
16246
;;;                                                                         } 36 ExpressionStatement
16247
;;;                                                                         { 36 ExpressionStatement
16248 16 jsauermann
        MOVE #0x00, RR
16249
;;;                                                                         } 36 ExpressionStatement
16250
;;;                                                                         { 36 ExpressionStatement
16251
        OUT  R, (OUT_INT_MASK)
16252
;;;                                                                         } 36 ExpressionStatement
16253
;;;                                                                         { 36 for Statement
16254
;;;                                                                           { 37 ExpressionStatement
16255
;;;                                                                             { 38 Expr l = r
16256
;;;                                                                               { 39 TypeName
16257
;;;                                                                                 { 40 TypeSpecifier (all)
16258
;;;                                                                                   spec = int (80000)
16259
;;;                                                                                 } 40 TypeSpecifier (all)
16260
;;;                                                                                 { 40 List
16261
;;;                                                                                   { 41 DeclItem
16262
;;;                                                                                     what = DECL_NAME
16263
;;;                                                                                     name = i
16264
;;;                                                                                   } 41 DeclItem
16265
;;;                                                                                 } 40 List
16266
;;;                                                                               } 39 TypeName
16267
;;;                                                                               { 39 NumericExpression (constant 0 = 0x0)
16268
;--     load_rr_constant
16269
        MOVE    #0x0000, RR
16270
;;;                                                                               } 39 NumericExpression (constant 0 = 0x0)
16271
;--     store_rr_var i = -2(FP), SP at -2
16272
        MOVE    RR, 0(SP)
16273
;;;                                                                             } 38 Expr l = r
16274
;;;                                                                           } 37 ExpressionStatement
16275
;--     branch
16276
        JMP     L35_tst_109
16277
L35_loop_109:
16278
;;;                                                                           { 37 ExpressionStatement
16279
        EI
16280
;;;                                                                           } 37 ExpressionStatement
16281
L35_cont_109:
16282
;;;                                                                           { 37 Expr ++r
16283
;;;                                                                             { 38 Expression (variable name)
16284
;;;                                                                               expr_type = "identifier" (i)
16285
;--     load_rr_var i = -2(FP), SP at -2 (16 bit)
16286
        MOVE    0(SP), RR
16287
;;;                                                                             } 38 Expression (variable name)
16288
;--     ++
16289
        ADD     RR, #0x0001
16290
;--     store_rr_var i = -2(FP), SP at -2
16291
        MOVE    RR, 0(SP)
16292
;;;                                                                           } 37 Expr ++r
16293
L35_tst_109:
16294
;;;                                                                           { 37 Expr l < r
16295
;;;                                                                             { 38 TypeName (internal)
16296
;;;                                                                               { 39 TypeSpecifier (all)
16297
;;;                                                                                 spec = int (80000)
16298
;;;                                                                               } 39 TypeSpecifier (all)
16299
;;;                                                                             } 38 TypeName (internal)
16300
;;;                                                                             { 38 Expression (variable name)
16301
;;;                                                                               expr_type = "identifier" (i)
16302
;--     load_rr_var i = -2(FP), SP at -2 (16 bit)
16303
        MOVE    0(SP), RR
16304
;;;                                                                             } 38 Expression (variable name)
16305
;--     l < r
16306
        SLT     RR, #0x0010
16307
;;;                                                                           } 37 Expr l < r
16308
;--     branch_true
16309
        JMP     RRNZ, L35_loop_109
16310
L35_brk_110:
16311
;;;                                                                         } 36 for Statement
16312
;;;                                                                         { 36 ExpressionStatement
16313
        MOVE #0x05, RR
16314
;;;                                                                         } 36 ExpressionStatement
16315
;;;                                                                         { 36 ExpressionStatement
16316
        OUT  R, (OUT_INT_MASK)
16317
;;;                                                                         } 36 ExpressionStatement
16318
;;;                                                                         { 36 ExpressionStatement
16319 7 jsauermann
;;;                                                                           { 37 Expr l(r)
16320
;;;                                                                             { 38 TypeName
16321
;;;                                                                               { 39 TypeSpecifier (all)
16322
;;;                                                                                 spec = void (10000)
16323
;;;                                                                               } 39 TypeSpecifier (all)
16324
;;;                                                                               { 39 List
16325
;;;                                                                                 { 40 DeclItem
16326
;;;                                                                                   what = DECL_NAME
16327 16 jsauermann
;;;                                                                                   name = deschedule
16328 7 jsauermann
;;;                                                                                 } 40 DeclItem
16329
;;;                                                                               } 39 List
16330
;;;                                                                             } 38 TypeName
16331 2 jsauermann
;--     push 0 bytes
16332
;--     call
16333 16 jsauermann
        CALL    Cdeschedule
16334 2 jsauermann
;--     pop 0 bytes
16335 7 jsauermann
;;;                                                                           } 37 Expr l(r)
16336
;;;                                                                         } 36 ExpressionStatement
16337
;;;                                                                         { 36 for Statement
16338
;;;                                                                           { 37 ExpressionStatement
16339
;;;                                                                           } 37 ExpressionStatement
16340 16 jsauermann
L35_loop_111:
16341 7 jsauermann
;;;                                                                           { 37 ExpressionStatement
16342 2 jsauermann
        HALT
16343 7 jsauermann
;;;                                                                           } 37 ExpressionStatement
16344 16 jsauermann
L35_cont_111:
16345 2 jsauermann
;--     branch
16346 16 jsauermann
        JMP     L35_loop_111
16347
L35_brk_112:
16348 7 jsauermann
;;;                                                                         } 36 for Statement
16349
;;;                                                                       } 35 List
16350 16 jsauermann
;--     pop 2 bytes
16351
        ADD     SP, #2
16352 7 jsauermann
;;;                                                                     } 34 CompoundStatement
16353 2 jsauermann
;--     ret
16354
        RET
16355
;;; ------------------------------------;
16356 7 jsauermann
;;;                                                                     { 34 FunctionDefinition
16357
;;;                                                                       { 35 TypeName
16358
;;;                                                                         { 36 TypeSpecifier (all)
16359
;;;                                                                           spec = int (80000)
16360
;;;                                                                         } 36 TypeSpecifier (all)
16361
;;;                                                                         { 36 List
16362
;;;                                                                           { 37 DeclItem
16363
;;;                                                                             what = DECL_NAME
16364
;;;                                                                             name = main_1
16365
;;;                                                                           } 37 DeclItem
16366
;;;                                                                         } 36 List
16367
;;;                                                                       } 35 TypeName
16368
;;;                                                                       { 35 List
16369
;;;                                                                         { 36 DeclItem
16370
;;;                                                                           what = DECL_NAME
16371
;;;                                                                           name = main_1
16372
;;;                                                                         } 36 DeclItem
16373
;;;                                                                         { 36 DeclItem
16374
;;;                                                                           what = DECL_FUN
16375
;;;                                                                           { 37 List
16376
;;;                                                                             { 38 ParameterDeclaration
16377
;;;                                                                               isEllipsis = false
16378
;;;                                                                               { 39 TypeName
16379
;;;                                                                                 { 40 TypeSpecifier (all)
16380
;;;                                                                                   spec = int (80000)
16381
;;;                                                                                 } 40 TypeSpecifier (all)
16382
;;;                                                                                 { 40 List
16383
;;;                                                                                   { 41 DeclItem
16384
;;;                                                                                     what = DECL_NAME
16385
;;;                                                                                     name = argc
16386
;;;                                                                                   } 41 DeclItem
16387
;;;                                                                                 } 40 List
16388
;;;                                                                               } 39 TypeName
16389
;;;                                                                             } 38 ParameterDeclaration
16390
;;;                                                                             { 38 ParameterDeclaration
16391
;;;                                                                               isEllipsis = false
16392
;;;                                                                               { 39 TypeName
16393
;;;                                                                                 { 40 TypeSpecifier (all)
16394
;;;                                                                                   spec = char (20000)
16395
;;;                                                                                 } 40 TypeSpecifier (all)
16396
;;;                                                                                 { 40 List
16397
;;;                                                                                   { 41 DeclItem
16398
;;;                                                                                     what = DECL_POINTER
16399
;;;                                                                                     { 42 List
16400
;;;                                                                                       { 43 Ptr
16401
;;;                                                                                       } 43 Ptr
16402
;;;                                                                                     } 42 List
16403
;;;                                                                                   } 41 DeclItem
16404
;;;                                                                                   { 41 DeclItem
16405
;;;                                                                                     what = DECL_NAME
16406
;;;                                                                                     name = argv
16407
;;;                                                                                   } 41 DeclItem
16408
;;;                                                                                   { 41 DeclItem
16409
;;;                                                                                     what = DECL_ARRAY
16410
;;;                                                                                   } 41 DeclItem
16411
;;;                                                                                 } 40 List
16412
;;;                                                                               } 39 TypeName
16413
;;;                                                                             } 38 ParameterDeclaration
16414
;;;                                                                           } 37 List
16415
;;;                                                                         } 36 DeclItem
16416
;;;                                                                       } 35 List
16417 2 jsauermann
Cmain_1:
16418 7 jsauermann
;;;                                                                       { 35 CompoundStatement
16419
;;;                                                                         { 36 InitDeclarator
16420
;;;                                                                           { 37 List
16421
;;;                                                                             { 38 DeclItem
16422
;;;                                                                               what = DECL_NAME
16423
;;;                                                                               name = c
16424
;;;                                                                             } 38 DeclItem
16425
;;;                                                                           } 37 List
16426 2 jsauermann
;--     push_zero 2 bytes
16427
        CLRW    -(SP)
16428 7 jsauermann
;;;                                                                         } 36 InitDeclarator
16429
;;;                                                                         { 36 InitDeclarator
16430
;;;                                                                           { 37 List
16431
;;;                                                                             { 38 DeclItem
16432
;;;                                                                               what = DECL_NAME
16433
;;;                                                                               name = last_c
16434
;;;                                                                             } 38 DeclItem
16435
;;;                                                                           } 37 List
16436 2 jsauermann
;--     push_zero 1 bytes
16437
        CLRB    -(SP)
16438 7 jsauermann
;;;                                                                         } 36 InitDeclarator
16439
;;;                                                                         { 36 InitDeclarator
16440
;;;                                                                           { 37 List
16441
;;;                                                                             { 38 DeclItem
16442
;;;                                                                               what = DECL_POINTER
16443
;;;                                                                               { 39 List
16444
;;;                                                                                 { 40 Ptr
16445
;;;                                                                                 } 40 Ptr
16446
;;;                                                                               } 39 List
16447
;;;                                                                             } 38 DeclItem
16448
;;;                                                                             { 38 DeclItem
16449
;;;                                                                               what = DECL_NAME
16450
;;;                                                                               name = address
16451
;;;                                                                             } 38 DeclItem
16452
;;;                                                                           } 37 List
16453 2 jsauermann
;--     push_zero 2 bytes
16454
        CLRW    -(SP)
16455 7 jsauermann
;;;                                                                         } 36 InitDeclarator
16456
;;;                                                                         { 36 InitDeclarator
16457
;;;                                                                           { 37 List
16458
;;;                                                                             { 38 DeclItem
16459
;;;                                                                               what = DECL_NAME
16460
;;;                                                                               name = value
16461
;;;                                                                             } 38 DeclItem
16462
;;;                                                                           } 37 List
16463 2 jsauermann
;--     push_zero 2 bytes
16464
        CLRW    -(SP)
16465 7 jsauermann
;;;                                                                         } 36 InitDeclarator
16466
;;;                                                                         { 36 List
16467
;;;                                                                           { 37 ExpressionStatement
16468 16 jsauermann
        EI
16469
;;;                                                                           } 37 ExpressionStatement
16470
;;;                                                                           { 37 ExpressionStatement
16471 7 jsauermann
;;;                                                                             { 38 Expr l(r)
16472
;;;                                                                               { 39 TypeName
16473
;;;                                                                                 { 40 TypeSpecifier (all)
16474
;;;                                                                                   spec = void (10000)
16475
;;;                                                                                 } 40 TypeSpecifier (all)
16476
;;;                                                                                 { 40 List
16477
;;;                                                                                   { 41 DeclItem
16478
;;;                                                                                     what = DECL_NAME
16479
;;;                                                                                     name = init_stack
16480
;;;                                                                                   } 41 DeclItem
16481
;;;                                                                                 } 40 List
16482
;;;                                                                               } 39 TypeName
16483 2 jsauermann
;--     push 0 bytes
16484
;--     call
16485
        CALL    Cinit_stack
16486
;--     pop 0 bytes
16487 7 jsauermann
;;;                                                                             } 38 Expr l(r)
16488
;;;                                                                           } 37 ExpressionStatement
16489
;;;                                                                           { 37 for Statement
16490
;;;                                                                             { 38 ExpressionStatement
16491
;;;                                                                             } 38 ExpressionStatement
16492 16 jsauermann
L36_loop_113:
16493 7 jsauermann
;;;                                                                             { 38 CompoundStatement
16494
;;;                                                                               { 39 List
16495
;;;                                                                                 { 40 ExpressionStatement
16496
;;;                                                                                   { 41 Expr l(r)
16497
;;;                                                                                     { 42 TypeName
16498
;;;                                                                                       { 43 TypeSpecifier (all)
16499
;;;                                                                                         spec = void (10000)
16500
;;;                                                                                       } 43 TypeSpecifier (all)
16501
;;;                                                                                       { 43 List
16502
;;;                                                                                         { 44 DeclItem
16503
;;;                                                                                           what = DECL_NAME
16504
;;;                                                                                           name = P
16505
;;;                                                                                         } 44 DeclItem
16506
;;;                                                                                       } 43 List
16507
;;;                                                                                     } 42 TypeName
16508
;;;                                                                                     { 42 ParameterDeclaration
16509
;;;                                                                                       isEllipsis = false
16510
;;;                                                                                       { 43 TypeName
16511
;;;                                                                                         { 44 TypeSpecifier (struct/union)
16512
;;;                                                                                           spec = struct '_semaphore' (800000)
16513
;;;                                                                                           name = _semaphore
16514
;;;                                                                                         } 44 TypeSpecifier (struct/union)
16515
;;;                                                                                         { 44 List
16516
;;;                                                                                           { 45 DeclItem
16517
;;;                                                                                             what = DECL_POINTER
16518
;;;                                                                                             { 46 List
16519
;;;                                                                                               { 47 Ptr
16520
;;;                                                                                               } 47 Ptr
16521
;;;                                                                                             } 46 List
16522
;;;                                                                                           } 45 DeclItem
16523
;;;                                                                                           { 45 DeclItem
16524
;;;                                                                                             what = DECL_NAME
16525
;;;                                                                                             name = sema
16526
;;;                                                                                           } 45 DeclItem
16527
;;;                                                                                         } 44 List
16528
;;;                                                                                       } 43 TypeName
16529
;;;                                                                                     } 42 ParameterDeclaration
16530
;;;                                                                                     { 42 Expr & r
16531 2 jsauermann
;--     load_address serial_out
16532
        MOVE    #Cserial_out, RR
16533 7 jsauermann
;;;                                                                                     } 42 Expr & r
16534 2 jsauermann
;--     push_rr (16 bit)
16535
        MOVE    RR, -(SP)
16536
;--     push 0 bytes
16537
;--     call
16538
        CALL    CP
16539
;--     pop 2 bytes
16540
        ADD     SP, #2
16541 7 jsauermann
;;;                                                                                   } 41 Expr l(r)
16542
;;;                                                                                 } 40 ExpressionStatement
16543
;;;                                                                                 { 40 ExpressionStatement
16544
;;;                                                                                   { 41 Expr l(r)
16545
;;;                                                                                     { 42 TypeName
16546
;;;                                                                                       { 43 TypeSpecifier (all)
16547
;;;                                                                                         spec = int (80000)
16548
;;;                                                                                       } 43 TypeSpecifier (all)
16549
;;;                                                                                       { 43 List
16550
;;;                                                                                         { 44 DeclItem
16551
;;;                                                                                           what = DECL_NAME
16552
;;;                                                                                           name = printf
16553
;;;                                                                                         } 44 DeclItem
16554
;;;                                                                                       } 43 List
16555
;;;                                                                                     } 42 TypeName
16556
;;;                                                                                     { 42 ParameterDeclaration
16557
;;;                                                                                       isEllipsis = true
16558
;;;                                                                                       { 43 TypeName
16559
;;;                                                                                         { 44 TypeSpecifier (all)
16560
;;;                                                                                           spec = const char (20100)
16561
;;;                                                                                         } 44 TypeSpecifier (all)
16562
;;;                                                                                         { 44 List
16563
;;;                                                                                           { 45 DeclItem
16564
;;;                                                                                             what = DECL_POINTER
16565
;;;                                                                                             { 46 List
16566
;;;                                                                                               { 47 Ptr
16567
;;;                                                                                               } 47 Ptr
16568
;;;                                                                                             } 46 List
16569
;;;                                                                                           } 45 DeclItem
16570
;;;                                                                                           { 45 DeclItem
16571
;;;                                                                                             what = DECL_NAME
16572
;;;                                                                                             name = format
16573
;;;                                                                                           } 45 DeclItem
16574
;;;                                                                                         } 44 List
16575
;;;                                                                                       } 43 TypeName
16576
;;;                                                                                     } 42 ParameterDeclaration
16577
;;;                                                                                     { 42 StringExpression
16578 2 jsauermann
;--     load_rr_string
16579 16 jsauermann
        MOVE    #Cstr_83, RR
16580 7 jsauermann
;;;                                                                                     } 42 StringExpression
16581 2 jsauermann
;--     push_rr (16 bit)
16582
        MOVE    RR, -(SP)
16583
;--     push 2 bytes
16584
;--     call
16585
        CALL    Cprintf
16586
;--     pop 2 bytes
16587
        ADD     SP, #2
16588 7 jsauermann
;;;                                                                                   } 41 Expr l(r)
16589
;;;                                                                                 } 40 ExpressionStatement
16590
;;;                                                                                 { 40 ExpressionStatement
16591
;;;                                                                                   { 41 Expr l(r)
16592
;;;                                                                                     { 42 TypeName
16593
;;;                                                                                       { 43 TypeSpecifier (all)
16594
;;;                                                                                         spec = void (10000)
16595
;;;                                                                                       } 43 TypeSpecifier (all)
16596
;;;                                                                                       { 43 List
16597
;;;                                                                                         { 44 DeclItem
16598
;;;                                                                                           what = DECL_NAME
16599
;;;                                                                                           name = V
16600
;;;                                                                                         } 44 DeclItem
16601
;;;                                                                                       } 43 List
16602
;;;                                                                                     } 42 TypeName
16603
;;;                                                                                     { 42 ParameterDeclaration
16604
;;;                                                                                       isEllipsis = false
16605
;;;                                                                                       { 43 TypeName
16606
;;;                                                                                         { 44 TypeSpecifier (struct/union)
16607
;;;                                                                                           spec = struct '_semaphore' (800000)
16608
;;;                                                                                           name = _semaphore
16609
;;;                                                                                         } 44 TypeSpecifier (struct/union)
16610
;;;                                                                                         { 44 List
16611
;;;                                                                                           { 45 DeclItem
16612
;;;                                                                                             what = DECL_POINTER
16613
;;;                                                                                             { 46 List
16614
;;;                                                                                               { 47 Ptr
16615
;;;                                                                                               } 47 Ptr
16616
;;;                                                                                             } 46 List
16617
;;;                                                                                           } 45 DeclItem
16618
;;;                                                                                           { 45 DeclItem
16619
;;;                                                                                             what = DECL_NAME
16620
;;;                                                                                             name = sema
16621
;;;                                                                                           } 45 DeclItem
16622
;;;                                                                                         } 44 List
16623
;;;                                                                                       } 43 TypeName
16624
;;;                                                                                     } 42 ParameterDeclaration
16625
;;;                                                                                     { 42 Expr & r
16626 2 jsauermann
;--     load_address serial_out
16627
        MOVE    #Cserial_out, RR
16628 7 jsauermann
;;;                                                                                     } 42 Expr & r
16629 2 jsauermann
;--     push_rr (16 bit)
16630
        MOVE    RR, -(SP)
16631
;--     push 0 bytes
16632
;--     call
16633
        CALL    CV
16634
;--     pop 2 bytes
16635
        ADD     SP, #2
16636 7 jsauermann
;;;                                                                                   } 41 Expr l(r)
16637
;;;                                                                                 } 40 ExpressionStatement
16638
;;;                                                                                 { 40 ExpressionStatement
16639
;;;                                                                                   { 41 Expr l = r
16640
;;;                                                                                     { 42 TypeName
16641
;;;                                                                                       { 43 TypeSpecifier (all)
16642
;;;                                                                                         spec = char (20000)
16643
;;;                                                                                       } 43 TypeSpecifier (all)
16644
;;;                                                                                       { 43 List
16645
;;;                                                                                         { 44 DeclItem
16646
;;;                                                                                           what = DECL_NAME
16647
;;;                                                                                           name = last_c
16648
;;;                                                                                         } 44 DeclItem
16649
;;;                                                                                       } 43 List
16650
;;;                                                                                     } 42 TypeName
16651
;;;                                                                                     { 42 Expression (variable name)
16652
;;;                                                                                       expr_type = "identifier" (c)
16653 2 jsauermann
;--     load_rr_var c = -2(FP), SP at -7 (16 bit)
16654
        MOVE    5(SP), RR
16655 7 jsauermann
;;;                                                                                     } 42 Expression (variable name)
16656 2 jsauermann
;--     store_rr_var last_c = -3(FP), SP at -7
16657
        MOVE    R, 4(SP)
16658 7 jsauermann
;;;                                                                                   } 41 Expr l = r
16659
;;;                                                                                 } 40 ExpressionStatement
16660
;;;                                                                                 { 40 ExpressionStatement
16661
;;;                                                                                   { 41 Expr l = r
16662
;;;                                                                                     { 42 TypeName
16663
;;;                                                                                       { 43 TypeSpecifier (all)
16664
;;;                                                                                         spec = int (80000)
16665
;;;                                                                                       } 43 TypeSpecifier (all)
16666
;;;                                                                                       { 43 List
16667
;;;                                                                                         { 44 DeclItem
16668
;;;                                                                                           what = DECL_NAME
16669
;;;                                                                                           name = c
16670
;;;                                                                                         } 44 DeclItem
16671
;;;                                                                                       } 43 List
16672
;;;                                                                                     } 42 TypeName
16673
;;;                                                                                     { 42 Expr l(r)
16674
;;;                                                                                       { 43 TypeName
16675
;;;                                                                                         { 44 TypeSpecifier (all)
16676
;;;                                                                                           spec = int (80000)
16677
;;;                                                                                         } 44 TypeSpecifier (all)
16678
;;;                                                                                         { 44 List
16679
;;;                                                                                           { 45 DeclItem
16680
;;;                                                                                             what = DECL_NAME
16681
;;;                                                                                             name = getchr_timed
16682
;;;                                                                                           } 45 DeclItem
16683
;;;                                                                                         } 44 List
16684
;;;                                                                                       } 43 TypeName
16685
;;;                                                                                       { 43 ParameterDeclaration
16686
;;;                                                                                         isEllipsis = false
16687
;;;                                                                                         { 44 TypeName
16688
;;;                                                                                           { 45 TypeSpecifier (all)
16689
;;;                                                                                             spec = unsigned int (82000)
16690
;;;                                                                                           } 45 TypeSpecifier (all)
16691
;;;                                                                                           { 45 List
16692
;;;                                                                                             { 46 DeclItem
16693
;;;                                                                                               what = DECL_NAME
16694
;;;                                                                                               name = ticks
16695
;;;                                                                                             } 46 DeclItem
16696
;;;                                                                                           } 45 List
16697
;;;                                                                                         } 44 TypeName
16698
;;;                                                                                       } 43 ParameterDeclaration
16699
;;;                                                                                       { 43 NumericExpression (constant 60000 = 0xEA60)
16700 2 jsauermann
;--     load_rr_constant
16701
        MOVE    #0xEA60, RR
16702 7 jsauermann
;;;                                                                                       } 43 NumericExpression (constant 60000 = 0xEA60)
16703 2 jsauermann
;--     push_rr (16 bit)
16704
        MOVE    RR, -(SP)
16705
;--     push 2 bytes
16706
;--     call
16707
        CALL    Cgetchr_timed
16708
;--     pop 2 bytes
16709
        ADD     SP, #2
16710 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
16711 2 jsauermann
;--     store_rr_var c = -2(FP), SP at -7
16712
        MOVE    RR, 5(SP)
16713 7 jsauermann
;;;                                                                                   } 41 Expr l = r
16714
;;;                                                                                 } 40 ExpressionStatement
16715
;;;                                                                                 { 40 IfElseStatement
16716
;;;                                                                                   { 41 Expr l == r
16717
;;;                                                                                     { 42 TypeName (internal)
16718
;;;                                                                                       { 43 TypeSpecifier (all)
16719
;;;                                                                                         spec = int (80000)
16720
;;;                                                                                       } 43 TypeSpecifier (all)
16721
;;;                                                                                     } 42 TypeName (internal)
16722
;;;                                                                                     { 42 Expression (variable name)
16723
;;;                                                                                       expr_type = "identifier" (c)
16724 2 jsauermann
;--     load_rr_var c = -2(FP), SP at -7 (16 bit)
16725
        MOVE    5(SP), RR
16726 7 jsauermann
;;;                                                                                     } 42 Expression (variable name)
16727 2 jsauermann
;--     l == r
16728
        SEQ     RR, #0xFFFF
16729 7 jsauermann
;;;                                                                                   } 41 Expr l == r
16730 2 jsauermann
;--     branch_false
16731 16 jsauermann
        JMP     RRZ, L36_endif_115
16732 7 jsauermann
;;;                                                                                   { 41 CompoundStatement
16733
;;;                                                                                     { 42 List
16734
;;;                                                                                       { 43 ExpressionStatement
16735
;;;                                                                                         { 44 Expr l(r)
16736
;;;                                                                                           { 45 TypeName
16737
;;;                                                                                             { 46 TypeSpecifier (all)
16738
;;;                                                                                               spec = void (10000)
16739
;;;                                                                                             } 46 TypeSpecifier (all)
16740
;;;                                                                                             { 46 List
16741
;;;                                                                                               { 47 DeclItem
16742
;;;                                                                                                 what = DECL_NAME
16743
;;;                                                                                                 name = P
16744
;;;                                                                                               } 47 DeclItem
16745
;;;                                                                                             } 46 List
16746
;;;                                                                                           } 45 TypeName
16747
;;;                                                                                           { 45 ParameterDeclaration
16748
;;;                                                                                             isEllipsis = false
16749
;;;                                                                                             { 46 TypeName
16750
;;;                                                                                               { 47 TypeSpecifier (struct/union)
16751
;;;                                                                                                 spec = struct '_semaphore' (800000)
16752
;;;                                                                                                 name = _semaphore
16753
;;;                                                                                               } 47 TypeSpecifier (struct/union)
16754
;;;                                                                                               { 47 List
16755
;;;                                                                                                 { 48 DeclItem
16756
;;;                                                                                                   what = DECL_POINTER
16757
;;;                                                                                                   { 49 List
16758
;;;                                                                                                     { 50 Ptr
16759
;;;                                                                                                     } 50 Ptr
16760
;;;                                                                                                   } 49 List
16761
;;;                                                                                                 } 48 DeclItem
16762
;;;                                                                                                 { 48 DeclItem
16763
;;;                                                                                                   what = DECL_NAME
16764
;;;                                                                                                   name = sema
16765
;;;                                                                                                 } 48 DeclItem
16766
;;;                                                                                               } 47 List
16767
;;;                                                                                             } 46 TypeName
16768
;;;                                                                                           } 45 ParameterDeclaration
16769
;;;                                                                                           { 45 Expr & r
16770 2 jsauermann
;--     load_address serial_out
16771
        MOVE    #Cserial_out, RR
16772 7 jsauermann
;;;                                                                                           } 45 Expr & r
16773 2 jsauermann
;--     push_rr (16 bit)
16774
        MOVE    RR, -(SP)
16775
;--     push 0 bytes
16776
;--     call
16777
        CALL    CP
16778
;--     pop 2 bytes
16779
        ADD     SP, #2
16780 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
16781
;;;                                                                                       } 43 ExpressionStatement
16782
;;;                                                                                       { 43 ExpressionStatement
16783
;;;                                                                                         { 44 Expr l(r)
16784
;;;                                                                                           { 45 TypeName
16785
;;;                                                                                             { 46 TypeSpecifier (all)
16786
;;;                                                                                               spec = int (80000)
16787
;;;                                                                                             } 46 TypeSpecifier (all)
16788
;;;                                                                                             { 46 List
16789
;;;                                                                                               { 47 DeclItem
16790
;;;                                                                                                 what = DECL_NAME
16791
;;;                                                                                                 name = printf
16792
;;;                                                                                               } 47 DeclItem
16793
;;;                                                                                             } 46 List
16794
;;;                                                                                           } 45 TypeName
16795
;;;                                                                                           { 45 Expr (l , r)
16796
;;;                                                                                             { 46 ParameterDeclaration
16797
;;;                                                                                               isEllipsis = true
16798
;;;                                                                                               { 47 TypeName
16799
;;;                                                                                                 { 48 TypeSpecifier (all)
16800
;;;                                                                                                   spec = const char (20100)
16801
;;;                                                                                                 } 48 TypeSpecifier (all)
16802
;;;                                                                                                 { 48 List
16803
;;;                                                                                                   { 49 DeclItem
16804
;;;                                                                                                     what = DECL_POINTER
16805
;;;                                                                                                     { 50 List
16806
;;;                                                                                                       { 51 Ptr
16807
;;;                                                                                                       } 51 Ptr
16808
;;;                                                                                                     } 50 List
16809
;;;                                                                                                   } 49 DeclItem
16810
;;;                                                                                                   { 49 DeclItem
16811
;;;                                                                                                     what = DECL_NAME
16812
;;;                                                                                                     name = format
16813
;;;                                                                                                   } 49 DeclItem
16814
;;;                                                                                                 } 48 List
16815
;;;                                                                                               } 47 TypeName
16816
;;;                                                                                             } 46 ParameterDeclaration
16817
;;;                                                                                             { 46 Expr * r
16818
;;;                                                                                               { 47 Expression (variable name)
16819
;;;                                                                                                 expr_type = "identifier" (current_task)
16820 2 jsauermann
;--     load_rr_var current_task, (16 bit)
16821
        MOVE    (Ccurrent_task), RR
16822 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
16823
;;;                                                                                             } 46 Expr * r
16824 2 jsauermann
;--     + (member)
16825
        ADD     RR, #0x0006
16826
;--     content
16827
        MOVE    (RR), RR
16828
;--     push_rr (16 bit)
16829
        MOVE    RR, -(SP)
16830 7 jsauermann
;;;                                                                                             { 46 ParameterDeclaration
16831
;;;                                                                                               isEllipsis = true
16832
;;;                                                                                               { 47 TypeName
16833
;;;                                                                                                 { 48 TypeSpecifier (all)
16834
;;;                                                                                                   spec = const char (20100)
16835
;;;                                                                                                 } 48 TypeSpecifier (all)
16836
;;;                                                                                                 { 48 List
16837
;;;                                                                                                   { 49 DeclItem
16838
;;;                                                                                                     what = DECL_POINTER
16839
;;;                                                                                                     { 50 List
16840
;;;                                                                                                       { 51 Ptr
16841
;;;                                                                                                       } 51 Ptr
16842
;;;                                                                                                     } 50 List
16843
;;;                                                                                                   } 49 DeclItem
16844
;;;                                                                                                   { 49 DeclItem
16845
;;;                                                                                                     what = DECL_NAME
16846
;;;                                                                                                     name = format
16847
;;;                                                                                                   } 49 DeclItem
16848
;;;                                                                                                 } 48 List
16849
;;;                                                                                               } 47 TypeName
16850
;;;                                                                                             } 46 ParameterDeclaration
16851
;;;                                                                                             { 46 StringExpression
16852 2 jsauermann
;--     load_rr_string
16853 16 jsauermann
        MOVE    #Cstr_84, RR
16854 7 jsauermann
;;;                                                                                             } 46 StringExpression
16855 2 jsauermann
;--     push_rr (16 bit)
16856
        MOVE    RR, -(SP)
16857 7 jsauermann
;;;                                                                                           } 45 Expr (l , r)
16858 2 jsauermann
;--     push 2 bytes
16859
;--     call
16860
        CALL    Cprintf
16861
;--     pop 4 bytes
16862
        ADD     SP, #4
16863 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
16864
;;;                                                                                       } 43 ExpressionStatement
16865
;;;                                                                                       { 43 ExpressionStatement
16866
;;;                                                                                         { 44 Expr l(r)
16867
;;;                                                                                           { 45 TypeName
16868
;;;                                                                                             { 46 TypeSpecifier (all)
16869
;;;                                                                                               spec = void (10000)
16870
;;;                                                                                             } 46 TypeSpecifier (all)
16871
;;;                                                                                             { 46 List
16872
;;;                                                                                               { 47 DeclItem
16873
;;;                                                                                                 what = DECL_NAME
16874
;;;                                                                                                 name = V
16875
;;;                                                                                               } 47 DeclItem
16876
;;;                                                                                             } 46 List
16877
;;;                                                                                           } 45 TypeName
16878
;;;                                                                                           { 45 ParameterDeclaration
16879
;;;                                                                                             isEllipsis = false
16880
;;;                                                                                             { 46 TypeName
16881
;;;                                                                                               { 47 TypeSpecifier (struct/union)
16882
;;;                                                                                                 spec = struct '_semaphore' (800000)
16883
;;;                                                                                                 name = _semaphore
16884
;;;                                                                                               } 47 TypeSpecifier (struct/union)
16885
;;;                                                                                               { 47 List
16886
;;;                                                                                                 { 48 DeclItem
16887
;;;                                                                                                   what = DECL_POINTER
16888
;;;                                                                                                   { 49 List
16889
;;;                                                                                                     { 50 Ptr
16890
;;;                                                                                                     } 50 Ptr
16891
;;;                                                                                                   } 49 List
16892
;;;                                                                                                 } 48 DeclItem
16893
;;;                                                                                                 { 48 DeclItem
16894
;;;                                                                                                   what = DECL_NAME
16895
;;;                                                                                                   name = sema
16896
;;;                                                                                                 } 48 DeclItem
16897
;;;                                                                                               } 47 List
16898
;;;                                                                                             } 46 TypeName
16899
;;;                                                                                           } 45 ParameterDeclaration
16900
;;;                                                                                           { 45 Expr & r
16901 2 jsauermann
;--     load_address serial_out
16902
        MOVE    #Cserial_out, RR
16903 7 jsauermann
;;;                                                                                           } 45 Expr & r
16904 2 jsauermann
;--     push_rr (16 bit)
16905
        MOVE    RR, -(SP)
16906
;--     push 0 bytes
16907
;--     call
16908
        CALL    CV
16909
;--     pop 2 bytes
16910
        ADD     SP, #2
16911 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
16912
;;;                                                                                       } 43 ExpressionStatement
16913
;;;                                                                                       { 43 break/continue Statement
16914 2 jsauermann
;--     branch
16915 16 jsauermann
        JMP     L36_cont_113
16916 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
16917
;;;                                                                                     } 42 List
16918
;--     pop 0 bytes
16919
;;;                                                                                   } 41 CompoundStatement
16920 16 jsauermann
L36_endif_115:
16921 7 jsauermann
;;;                                                                                 } 40 IfElseStatement
16922
;;;                                                                                 { 40 ExpressionStatement
16923
;;;                                                                                   { 41 Expr l(r)
16924
;;;                                                                                     { 42 TypeName
16925
;;;                                                                                       { 43 TypeSpecifier (all)
16926
;;;                                                                                         spec = void (10000)
16927
;;;                                                                                       } 43 TypeSpecifier (all)
16928
;;;                                                                                       { 43 List
16929
;;;                                                                                         { 44 DeclItem
16930
;;;                                                                                           what = DECL_NAME
16931
;;;                                                                                           name = P
16932
;;;                                                                                         } 44 DeclItem
16933
;;;                                                                                       } 43 List
16934
;;;                                                                                     } 42 TypeName
16935
;;;                                                                                     { 42 ParameterDeclaration
16936
;;;                                                                                       isEllipsis = false
16937
;;;                                                                                       { 43 TypeName
16938
;;;                                                                                         { 44 TypeSpecifier (struct/union)
16939
;;;                                                                                           spec = struct '_semaphore' (800000)
16940
;;;                                                                                           name = _semaphore
16941
;;;                                                                                         } 44 TypeSpecifier (struct/union)
16942
;;;                                                                                         { 44 List
16943
;;;                                                                                           { 45 DeclItem
16944
;;;                                                                                             what = DECL_POINTER
16945
;;;                                                                                             { 46 List
16946
;;;                                                                                               { 47 Ptr
16947
;;;                                                                                               } 47 Ptr
16948
;;;                                                                                             } 46 List
16949
;;;                                                                                           } 45 DeclItem
16950
;;;                                                                                           { 45 DeclItem
16951
;;;                                                                                             what = DECL_NAME
16952
;;;                                                                                             name = sema
16953
;;;                                                                                           } 45 DeclItem
16954
;;;                                                                                         } 44 List
16955
;;;                                                                                       } 43 TypeName
16956
;;;                                                                                     } 42 ParameterDeclaration
16957
;;;                                                                                     { 42 Expr & r
16958 2 jsauermann
;--     load_address serial_out
16959
        MOVE    #Cserial_out, RR
16960 7 jsauermann
;;;                                                                                     } 42 Expr & r
16961 2 jsauermann
;--     push_rr (16 bit)
16962
        MOVE    RR, -(SP)
16963
;--     push 0 bytes
16964
;--     call
16965
        CALL    CP
16966
;--     pop 2 bytes
16967
        ADD     SP, #2
16968 7 jsauermann
;;;                                                                                   } 41 Expr l(r)
16969
;;;                                                                                 } 40 ExpressionStatement
16970
;;;                                                                                 { 40 SwitchStatement
16971
;;;                                                                                   { 41 Expression (variable name)
16972
;;;                                                                                     expr_type = "identifier" (c)
16973 2 jsauermann
;--     load_rr_var c = -2(FP), SP at -7 (16 bit)
16974
        MOVE    5(SP), RR
16975 7 jsauermann
;;;                                                                                   } 41 Expression (variable name)
16976 2 jsauermann
;--     move_rr_to_ll
16977
        MOVE    RR, LL
16978
;--     branch_case (16 bit)
16979
        SEQ     LL, #0x000D
16980 16 jsauermann
        JMP     RRNZ, L36_case_116_000D
16981 2 jsauermann
;--     branch_case (16 bit)
16982
        SEQ     LL, #0x000A
16983 16 jsauermann
        JMP     RRNZ, L36_case_116_000A
16984 2 jsauermann
;--     branch_case (16 bit)
16985
        SEQ     LL, #0x0032
16986 16 jsauermann
        JMP     RRNZ, L36_case_116_0032
16987 2 jsauermann
;--     branch_case (16 bit)
16988
        SEQ     LL, #0x0033
16989 16 jsauermann
        JMP     RRNZ, L36_case_116_0033
16990 2 jsauermann
;--     branch_case (16 bit)
16991
        SEQ     LL, #0x0062
16992 16 jsauermann
        JMP     RRNZ, L36_case_116_0062
16993 2 jsauermann
;--     branch_case (16 bit)
16994
        SEQ     LL, #0x0063
16995 16 jsauermann
        JMP     RRNZ, L36_case_116_0063
16996 2 jsauermann
;--     branch_case (16 bit)
16997
        SEQ     LL, #0x0064
16998 16 jsauermann
        JMP     RRNZ, L36_case_116_0064
16999 2 jsauermann
;--     branch_case (16 bit)
17000
        SEQ     LL, #0x0065
17001 16 jsauermann
        JMP     RRNZ, L36_case_116_0065
17002 2 jsauermann
;--     branch_case (16 bit)
17003
        SEQ     LL, #0x006D
17004 16 jsauermann
        JMP     RRNZ, L36_case_116_006D
17005 2 jsauermann
;--     branch_case (16 bit)
17006
        SEQ     LL, #0x0073
17007 16 jsauermann
        JMP     RRNZ, L36_case_116_0073
17008 2 jsauermann
;--     branch_case (16 bit)
17009
        SEQ     LL, #0x0074
17010 16 jsauermann
        JMP     RRNZ, L36_case_116_0074
17011 2 jsauermann
;--     branch_case (16 bit)
17012
        SEQ     LL, #0x0048
17013 16 jsauermann
        JMP     RRNZ, L36_case_116_0048
17014 2 jsauermann
;--     branch_case (16 bit)
17015
        SEQ     LL, #0x0049
17016 16 jsauermann
        JMP     RRNZ, L36_case_116_0049
17017 2 jsauermann
;--     branch_case (16 bit)
17018
        SEQ     LL, #0x0053
17019 16 jsauermann
        JMP     RRNZ, L36_case_116_0053
17020 2 jsauermann
;--     branch_case (16 bit)
17021
        SEQ     LL, #0x0054
17022 16 jsauermann
        JMP     RRNZ, L36_case_116_0054
17023 2 jsauermann
;--     branch
17024 16 jsauermann
        JMP     L36_deflt_116
17025 7 jsauermann
;;;                                                                                   { 41 CompoundStatement
17026
;;;                                                                                     { 42 List
17027
;;;                                                                                       { 43 case Statement
17028 16 jsauermann
L36_case_116_000D:
17029 7 jsauermann
;;;                                                                                         { 44 case Statement
17030 16 jsauermann
L36_case_116_000A:
17031 7 jsauermann
;;;                                                                                           { 45 IfElseStatement
17032
;;;                                                                                             { 46 Expr l == r
17033
;;;                                                                                               { 47 TypeName (internal)
17034
;;;                                                                                                 { 48 TypeSpecifier (all)
17035
;;;                                                                                                   spec = int (80000)
17036
;;;                                                                                                 } 48 TypeSpecifier (all)
17037
;;;                                                                                               } 47 TypeName (internal)
17038
;;;                                                                                               { 47 Expression (variable name)
17039
;;;                                                                                                 expr_type = "identifier" (last_c)
17040 2 jsauermann
;--     load_rr_var last_c = -3(FP), SP at -7 (8 bit)
17041
        MOVE    4(SP), RS
17042 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
17043 2 jsauermann
;--     l == r
17044
        SEQ     RR, #0x0064
17045 7 jsauermann
;;;                                                                                             } 46 Expr l == r
17046 2 jsauermann
;--     branch_false
17047 16 jsauermann
        JMP     RRZ, L36_endif_117
17048 7 jsauermann
;;;                                                                                             { 46 CompoundStatement
17049
;;;                                                                                               { 47 List
17050
;;;                                                                                                 { 48 ExpressionStatement
17051
;;;                                                                                                   { 49 Expr l += r
17052
;;;                                                                                                     { 50 TypeName
17053
;;;                                                                                                       { 51 TypeSpecifier (all)
17054
;;;                                                                                                         spec = unsigned char (22000)
17055
;;;                                                                                                       } 51 TypeSpecifier (all)
17056
;;;                                                                                                       { 51 List
17057
;;;                                                                                                         { 52 DeclItem
17058
;;;                                                                                                           what = DECL_POINTER
17059
;;;                                                                                                           { 53 List
17060
;;;                                                                                                             { 54 Ptr
17061
;;;                                                                                                             } 54 Ptr
17062
;;;                                                                                                           } 53 List
17063
;;;                                                                                                         } 52 DeclItem
17064
;;;                                                                                                         { 52 DeclItem
17065
;;;                                                                                                           what = DECL_NAME
17066
;;;                                                                                                           name = address
17067
;;;                                                                                                         } 52 DeclItem
17068
;;;                                                                                                       } 51 List
17069
;;;                                                                                                     } 50 TypeName
17070
;;;                                                                                                     { 50 Expr l + r
17071
;;;                                                                                                       { 51 Expression (variable name)
17072
;;;                                                                                                         expr_type = "identifier" (address)
17073 2 jsauermann
;--     load_rr_var address = -5(FP), SP at -7 (16 bit)
17074
        MOVE    2(SP), RR
17075 7 jsauermann
;;;                                                                                                       } 51 Expression (variable name)
17076 2 jsauermann
;--     l + r
17077
        ADD     RR, #0x0100
17078 7 jsauermann
;;;                                                                                                     } 50 Expr l + r
17079 2 jsauermann
;--     store_rr_var address = -5(FP), SP at -7
17080
        MOVE    RR, 2(SP)
17081 7 jsauermann
;;;                                                                                                   } 49 Expr l += r
17082
;;;                                                                                                 } 48 ExpressionStatement
17083
;;;                                                                                                 { 48 ExpressionStatement
17084
;;;                                                                                                   { 49 Expr l(r)
17085
;;;                                                                                                     { 50 TypeName
17086
;;;                                                                                                       { 51 TypeSpecifier (all)
17087
;;;                                                                                                         spec = int (80000)
17088
;;;                                                                                                       } 51 TypeSpecifier (all)
17089
;;;                                                                                                       { 51 List
17090
;;;                                                                                                         { 52 DeclItem
17091
;;;                                                                                                           what = DECL_NAME
17092
;;;                                                                                                           name = putchr
17093
;;;                                                                                                         } 52 DeclItem
17094
;;;                                                                                                       } 51 List
17095
;;;                                                                                                     } 50 TypeName
17096
;;;                                                                                                     { 50 ParameterDeclaration
17097
;;;                                                                                                       isEllipsis = false
17098
;;;                                                                                                       { 51 TypeName
17099
;;;                                                                                                         { 52 TypeSpecifier (all)
17100
;;;                                                                                                           spec = char (20000)
17101
;;;                                                                                                         } 52 TypeSpecifier (all)
17102
;;;                                                                                                         { 52 List
17103
;;;                                                                                                           { 53 DeclItem
17104
;;;                                                                                                             what = DECL_NAME
17105
;;;                                                                                                             name = c
17106
;;;                                                                                                           } 53 DeclItem
17107
;;;                                                                                                         } 52 List
17108
;;;                                                                                                       } 51 TypeName
17109
;;;                                                                                                     } 50 ParameterDeclaration
17110
;;;                                                                                                     { 50 NumericExpression (constant 13 = 0xD)
17111 2 jsauermann
;--     load_rr_constant
17112
        MOVE    #0x000D, RR
17113 7 jsauermann
;;;                                                                                                     } 50 NumericExpression (constant 13 = 0xD)
17114 2 jsauermann
;--     push_rr (8 bit)
17115
        MOVE    R, -(SP)
17116
;--     push 2 bytes
17117
;--     call
17118
        CALL    Cputchr
17119
;--     pop 1 bytes
17120
        ADD     SP, #1
17121 7 jsauermann
;;;                                                                                                   } 49 Expr l(r)
17122
;;;                                                                                                 } 48 ExpressionStatement
17123
;;;                                                                                                 { 48 ExpressionStatement
17124
;;;                                                                                                   { 49 Expr l(r)
17125
;;;                                                                                                     { 50 TypeName
17126
;;;                                                                                                       { 51 TypeSpecifier (all)
17127
;;;                                                                                                         spec = void (10000)
17128
;;;                                                                                                       } 51 TypeSpecifier (all)
17129
;;;                                                                                                       { 51 List
17130
;;;                                                                                                         { 52 DeclItem
17131
;;;                                                                                                           what = DECL_NAME
17132
;;;                                                                                                           name = display_memory
17133
;;;                                                                                                         } 52 DeclItem
17134
;;;                                                                                                       } 51 List
17135
;;;                                                                                                     } 50 TypeName
17136
;;;                                                                                                     { 50 ParameterDeclaration
17137
;;;                                                                                                       isEllipsis = false
17138
;;;                                                                                                       { 51 TypeName
17139
;;;                                                                                                         { 52 TypeSpecifier (all)
17140
;;;                                                                                                           spec = unsigned char (22000)
17141
;;;                                                                                                         } 52 TypeSpecifier (all)
17142
;;;                                                                                                         { 52 List
17143
;;;                                                                                                           { 53 DeclItem
17144
;;;                                                                                                             what = DECL_POINTER
17145
;;;                                                                                                             { 54 List
17146
;;;                                                                                                               { 55 Ptr
17147
;;;                                                                                                               } 55 Ptr
17148
;;;                                                                                                             } 54 List
17149
;;;                                                                                                           } 53 DeclItem
17150
;;;                                                                                                           { 53 DeclItem
17151
;;;                                                                                                             what = DECL_NAME
17152
;;;                                                                                                             name = address
17153
;;;                                                                                                           } 53 DeclItem
17154
;;;                                                                                                         } 52 List
17155
;;;                                                                                                       } 51 TypeName
17156
;;;                                                                                                     } 50 ParameterDeclaration
17157
;;;                                                                                                     { 50 Expression (variable name)
17158
;;;                                                                                                       expr_type = "identifier" (address)
17159 2 jsauermann
;--     load_rr_var address = -5(FP), SP at -7 (16 bit)
17160
        MOVE    2(SP), RR
17161 7 jsauermann
;;;                                                                                                     } 50 Expression (variable name)
17162 2 jsauermann
;--     push_rr (16 bit)
17163
        MOVE    RR, -(SP)
17164
;--     push 0 bytes
17165
;--     call
17166
        CALL    Cdisplay_memory
17167
;--     pop 2 bytes
17168
        ADD     SP, #2
17169 7 jsauermann
;;;                                                                                                   } 49 Expr l(r)
17170
;;;                                                                                                 } 48 ExpressionStatement
17171
;;;                                                                                                 { 48 ExpressionStatement
17172
;;;                                                                                                   { 49 Expr l = r
17173
;;;                                                                                                     { 50 TypeName
17174
;;;                                                                                                       { 51 TypeSpecifier (all)
17175
;;;                                                                                                         spec = int (80000)
17176
;;;                                                                                                       } 51 TypeSpecifier (all)
17177
;;;                                                                                                       { 51 List
17178
;;;                                                                                                         { 52 DeclItem
17179
;;;                                                                                                           what = DECL_NAME
17180
;;;                                                                                                           name = c
17181
;;;                                                                                                         } 52 DeclItem
17182
;;;                                                                                                       } 51 List
17183
;;;                                                                                                     } 50 TypeName
17184
;;;                                                                                                     { 50 NumericExpression (constant 100 = 0x64)
17185 2 jsauermann
;--     load_rr_constant
17186
        MOVE    #0x0064, RR
17187 7 jsauermann
;;;                                                                                                     } 50 NumericExpression (constant 100 = 0x64)
17188 2 jsauermann
;--     store_rr_var c = -2(FP), SP at -7
17189
        MOVE    RR, 5(SP)
17190 7 jsauermann
;;;                                                                                                   } 49 Expr l = r
17191
;;;                                                                                                 } 48 ExpressionStatement
17192
;;;                                                                                               } 47 List
17193
;--     pop 0 bytes
17194
;;;                                                                                             } 46 CompoundStatement
17195 16 jsauermann
L36_endif_117:
17196 7 jsauermann
;;;                                                                                           } 45 IfElseStatement
17197
;;;                                                                                         } 44 case Statement
17198
;;;                                                                                       } 43 case Statement
17199
;;;                                                                                       { 43 break/continue Statement
17200 2 jsauermann
;--     branch
17201 16 jsauermann
        JMP     L36_brk_116
17202 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
17203
;;;                                                                                       { 43 case Statement
17204 16 jsauermann
L36_case_116_0032:
17205 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
17206
;;;                                                                                           { 45 Expr l(r)
17207
;;;                                                                                             { 46 TypeName
17208
;;;                                                                                               { 47 TypeSpecifier (all)
17209
;;;                                                                                                 spec = void (10000)
17210
;;;                                                                                               } 47 TypeSpecifier (all)
17211
;;;                                                                                               { 47 List
17212
;;;                                                                                                 { 48 DeclItem
17213
;;;                                                                                                   what = DECL_NAME
17214
;;;                                                                                                   name = V
17215
;;;                                                                                                 } 48 DeclItem
17216
;;;                                                                                               } 47 List
17217
;;;                                                                                             } 46 TypeName
17218
;;;                                                                                             { 46 ParameterDeclaration
17219
;;;                                                                                               isEllipsis = false
17220
;;;                                                                                               { 47 TypeName
17221
;;;                                                                                                 { 48 TypeSpecifier (struct/union)
17222
;;;                                                                                                   spec = struct '_semaphore' (800000)
17223
;;;                                                                                                   name = _semaphore
17224
;;;                                                                                                 } 48 TypeSpecifier (struct/union)
17225
;;;                                                                                                 { 48 List
17226
;;;                                                                                                   { 49 DeclItem
17227
;;;                                                                                                     what = DECL_POINTER
17228
;;;                                                                                                     { 50 List
17229
;;;                                                                                                       { 51 Ptr
17230
;;;                                                                                                       } 51 Ptr
17231
;;;                                                                                                     } 50 List
17232
;;;                                                                                                   } 49 DeclItem
17233
;;;                                                                                                   { 49 DeclItem
17234
;;;                                                                                                     what = DECL_NAME
17235
;;;                                                                                                     name = sema
17236
;;;                                                                                                   } 49 DeclItem
17237
;;;                                                                                                 } 48 List
17238
;;;                                                                                               } 47 TypeName
17239
;;;                                                                                             } 46 ParameterDeclaration
17240
;;;                                                                                             { 46 Expr & r
17241 2 jsauermann
;--     load_address t2_control
17242
        MOVE    #Ct2_control, RR
17243 7 jsauermann
;;;                                                                                             } 46 Expr & r
17244 2 jsauermann
;--     push_rr (16 bit)
17245
        MOVE    RR, -(SP)
17246
;--     push 0 bytes
17247
;--     call
17248
        CALL    CV
17249
;--     pop 2 bytes
17250
        ADD     SP, #2
17251 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
17252
;;;                                                                                         } 44 ExpressionStatement
17253
;;;                                                                                       } 43 case Statement
17254
;;;                                                                                       { 43 ExpressionStatement
17255
;;;                                                                                         { 44 Expr l(r)
17256
;;;                                                                                           { 45 TypeName
17257
;;;                                                                                             { 46 TypeSpecifier (all)
17258
;;;                                                                                               spec = int (80000)
17259
;;;                                                                                             } 46 TypeSpecifier (all)
17260
;;;                                                                                             { 46 List
17261
;;;                                                                                               { 47 DeclItem
17262
;;;                                                                                                 what = DECL_NAME
17263
;;;                                                                                                 name = printf
17264
;;;                                                                                               } 47 DeclItem
17265
;;;                                                                                             } 46 List
17266
;;;                                                                                           } 45 TypeName
17267
;;;                                                                                           { 45 ParameterDeclaration
17268
;;;                                                                                             isEllipsis = true
17269
;;;                                                                                             { 46 TypeName
17270
;;;                                                                                               { 47 TypeSpecifier (all)
17271
;;;                                                                                                 spec = const char (20100)
17272
;;;                                                                                               } 47 TypeSpecifier (all)
17273
;;;                                                                                               { 47 List
17274
;;;                                                                                                 { 48 DeclItem
17275
;;;                                                                                                   what = DECL_POINTER
17276
;;;                                                                                                   { 49 List
17277
;;;                                                                                                     { 50 Ptr
17278
;;;                                                                                                     } 50 Ptr
17279
;;;                                                                                                   } 49 List
17280
;;;                                                                                                 } 48 DeclItem
17281
;;;                                                                                                 { 48 DeclItem
17282
;;;                                                                                                   what = DECL_NAME
17283
;;;                                                                                                   name = format
17284
;;;                                                                                                 } 48 DeclItem
17285
;;;                                                                                               } 47 List
17286
;;;                                                                                             } 46 TypeName
17287
;;;                                                                                           } 45 ParameterDeclaration
17288
;;;                                                                                           { 45 StringExpression
17289 2 jsauermann
;--     load_rr_string
17290 16 jsauermann
        MOVE    #Cstr_85, RR
17291 7 jsauermann
;;;                                                                                           } 45 StringExpression
17292 2 jsauermann
;--     push_rr (16 bit)
17293
        MOVE    RR, -(SP)
17294
;--     push 2 bytes
17295
;--     call
17296
        CALL    Cprintf
17297
;--     pop 2 bytes
17298
        ADD     SP, #2
17299 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17300
;;;                                                                                       } 43 ExpressionStatement
17301
;;;                                                                                       { 43 break/continue Statement
17302 2 jsauermann
;--     branch
17303 16 jsauermann
        JMP     L36_brk_116
17304 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
17305
;;;                                                                                       { 43 case Statement
17306 16 jsauermann
L36_case_116_0033:
17307 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
17308
;;;                                                                                           { 45 Expr l(r)
17309
;;;                                                                                             { 46 TypeName
17310
;;;                                                                                               { 47 TypeSpecifier (all)
17311
;;;                                                                                                 spec = void (10000)
17312
;;;                                                                                               } 47 TypeSpecifier (all)
17313
;;;                                                                                               { 47 List
17314
;;;                                                                                                 { 48 DeclItem
17315
;;;                                                                                                   what = DECL_NAME
17316
;;;                                                                                                   name = V
17317
;;;                                                                                                 } 48 DeclItem
17318
;;;                                                                                               } 47 List
17319
;;;                                                                                             } 46 TypeName
17320
;;;                                                                                             { 46 ParameterDeclaration
17321
;;;                                                                                               isEllipsis = false
17322
;;;                                                                                               { 47 TypeName
17323
;;;                                                                                                 { 48 TypeSpecifier (struct/union)
17324
;;;                                                                                                   spec = struct '_semaphore' (800000)
17325
;;;                                                                                                   name = _semaphore
17326
;;;                                                                                                 } 48 TypeSpecifier (struct/union)
17327
;;;                                                                                                 { 48 List
17328
;;;                                                                                                   { 49 DeclItem
17329
;;;                                                                                                     what = DECL_POINTER
17330
;;;                                                                                                     { 50 List
17331
;;;                                                                                                       { 51 Ptr
17332
;;;                                                                                                       } 51 Ptr
17333
;;;                                                                                                     } 50 List
17334
;;;                                                                                                   } 49 DeclItem
17335
;;;                                                                                                   { 49 DeclItem
17336
;;;                                                                                                     what = DECL_NAME
17337
;;;                                                                                                     name = sema
17338
;;;                                                                                                   } 49 DeclItem
17339
;;;                                                                                                 } 48 List
17340
;;;                                                                                               } 47 TypeName
17341
;;;                                                                                             } 46 ParameterDeclaration
17342
;;;                                                                                             { 46 Expr & r
17343 2 jsauermann
;--     load_address t3_control
17344
        MOVE    #Ct3_control, RR
17345 7 jsauermann
;;;                                                                                             } 46 Expr & r
17346 2 jsauermann
;--     push_rr (16 bit)
17347
        MOVE    RR, -(SP)
17348
;--     push 0 bytes
17349
;--     call
17350
        CALL    CV
17351
;--     pop 2 bytes
17352
        ADD     SP, #2
17353 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
17354
;;;                                                                                         } 44 ExpressionStatement
17355
;;;                                                                                       } 43 case Statement
17356
;;;                                                                                       { 43 ExpressionStatement
17357
;;;                                                                                         { 44 Expr l(r)
17358
;;;                                                                                           { 45 TypeName
17359
;;;                                                                                             { 46 TypeSpecifier (all)
17360
;;;                                                                                               spec = void (10000)
17361
;;;                                                                                             } 46 TypeSpecifier (all)
17362
;;;                                                                                             { 46 List
17363
;;;                                                                                               { 47 DeclItem
17364
;;;                                                                                                 what = DECL_NAME
17365
;;;                                                                                                 name = sleep
17366
;;;                                                                                               } 47 DeclItem
17367
;;;                                                                                             } 46 List
17368
;;;                                                                                           } 45 TypeName
17369
;;;                                                                                           { 45 ParameterDeclaration
17370
;;;                                                                                             isEllipsis = false
17371
;;;                                                                                             { 46 TypeName
17372
;;;                                                                                               { 47 TypeSpecifier (all)
17373
;;;                                                                                                 spec = int (80000)
17374
;;;                                                                                               } 47 TypeSpecifier (all)
17375
;;;                                                                                               { 47 List
17376
;;;                                                                                                 { 48 DeclItem
17377
;;;                                                                                                   what = DECL_NAME
17378
;;;                                                                                                   name = millisecs
17379
;;;                                                                                                 } 48 DeclItem
17380
;;;                                                                                               } 47 List
17381
;;;                                                                                             } 46 TypeName
17382
;;;                                                                                           } 45 ParameterDeclaration
17383
;;;                                                                                           { 45 NumericExpression (constant 100 = 0x64)
17384 2 jsauermann
;--     load_rr_constant
17385
        MOVE    #0x0064, RR
17386 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 100 = 0x64)
17387 2 jsauermann
;--     push_rr (16 bit)
17388
        MOVE    RR, -(SP)
17389
;--     push 0 bytes
17390
;--     call
17391
        CALL    Csleep
17392
;--     pop 2 bytes
17393
        ADD     SP, #2
17394 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17395
;;;                                                                                       } 43 ExpressionStatement
17396
;;;                                                                                       { 43 ExpressionStatement
17397
;;;                                                                                         { 44 Expr l(r)
17398
;;;                                                                                           { 45 TypeName
17399
;;;                                                                                             { 46 TypeSpecifier (all)
17400
;;;                                                                                               spec = void (10000)
17401
;;;                                                                                             } 46 TypeSpecifier (all)
17402
;;;                                                                                             { 46 List
17403
;;;                                                                                               { 47 DeclItem
17404
;;;                                                                                                 what = DECL_NAME
17405
;;;                                                                                                 name = P
17406
;;;                                                                                               } 47 DeclItem
17407
;;;                                                                                             } 46 List
17408
;;;                                                                                           } 45 TypeName
17409
;;;                                                                                           { 45 ParameterDeclaration
17410
;;;                                                                                             isEllipsis = false
17411
;;;                                                                                             { 46 TypeName
17412
;;;                                                                                               { 47 TypeSpecifier (struct/union)
17413
;;;                                                                                                 spec = struct '_semaphore' (800000)
17414
;;;                                                                                                 name = _semaphore
17415
;;;                                                                                               } 47 TypeSpecifier (struct/union)
17416
;;;                                                                                               { 47 List
17417
;;;                                                                                                 { 48 DeclItem
17418
;;;                                                                                                   what = DECL_POINTER
17419
;;;                                                                                                   { 49 List
17420
;;;                                                                                                     { 50 Ptr
17421
;;;                                                                                                     } 50 Ptr
17422
;;;                                                                                                   } 49 List
17423
;;;                                                                                                 } 48 DeclItem
17424
;;;                                                                                                 { 48 DeclItem
17425
;;;                                                                                                   what = DECL_NAME
17426
;;;                                                                                                   name = sema
17427
;;;                                                                                                 } 48 DeclItem
17428
;;;                                                                                               } 47 List
17429
;;;                                                                                             } 46 TypeName
17430
;;;                                                                                           } 45 ParameterDeclaration
17431
;;;                                                                                           { 45 Expr & r
17432 2 jsauermann
;--     load_address t3_control
17433
        MOVE    #Ct3_control, RR
17434 7 jsauermann
;;;                                                                                           } 45 Expr & r
17435 2 jsauermann
;--     push_rr (16 bit)
17436
        MOVE    RR, -(SP)
17437
;--     push 0 bytes
17438
;--     call
17439
        CALL    CP
17440
;--     pop 2 bytes
17441
        ADD     SP, #2
17442 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17443
;;;                                                                                       } 43 ExpressionStatement
17444
;;;                                                                                       { 43 ExpressionStatement
17445
;;;                                                                                         { 44 Expr l(r)
17446
;;;                                                                                           { 45 TypeName
17447
;;;                                                                                             { 46 TypeSpecifier (all)
17448
;;;                                                                                               spec = int (80000)
17449
;;;                                                                                             } 46 TypeSpecifier (all)
17450
;;;                                                                                             { 46 List
17451
;;;                                                                                               { 47 DeclItem
17452
;;;                                                                                                 what = DECL_NAME
17453
;;;                                                                                                 name = printf
17454
;;;                                                                                               } 47 DeclItem
17455
;;;                                                                                             } 46 List
17456
;;;                                                                                           } 45 TypeName
17457
;;;                                                                                           { 45 ParameterDeclaration
17458
;;;                                                                                             isEllipsis = true
17459
;;;                                                                                             { 46 TypeName
17460
;;;                                                                                               { 47 TypeSpecifier (all)
17461
;;;                                                                                                 spec = const char (20100)
17462
;;;                                                                                               } 47 TypeSpecifier (all)
17463
;;;                                                                                               { 47 List
17464
;;;                                                                                                 { 48 DeclItem
17465
;;;                                                                                                   what = DECL_POINTER
17466
;;;                                                                                                   { 49 List
17467
;;;                                                                                                     { 50 Ptr
17468
;;;                                                                                                     } 50 Ptr
17469
;;;                                                                                                   } 49 List
17470
;;;                                                                                                 } 48 DeclItem
17471
;;;                                                                                                 { 48 DeclItem
17472
;;;                                                                                                   what = DECL_NAME
17473
;;;                                                                                                   name = format
17474
;;;                                                                                                 } 48 DeclItem
17475
;;;                                                                                               } 47 List
17476
;;;                                                                                             } 46 TypeName
17477
;;;                                                                                           } 45 ParameterDeclaration
17478
;;;                                                                                           { 45 StringExpression
17479 2 jsauermann
;--     load_rr_string
17480 16 jsauermann
        MOVE    #Cstr_86, RR
17481 7 jsauermann
;;;                                                                                           } 45 StringExpression
17482 2 jsauermann
;--     push_rr (16 bit)
17483
        MOVE    RR, -(SP)
17484
;--     push 2 bytes
17485
;--     call
17486
        CALL    Cprintf
17487
;--     pop 2 bytes
17488
        ADD     SP, #2
17489 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17490
;;;                                                                                       } 43 ExpressionStatement
17491
;;;                                                                                       { 43 break/continue Statement
17492 2 jsauermann
;--     branch
17493 16 jsauermann
        JMP     L36_brk_116
17494 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
17495
;;;                                                                                       { 43 case Statement
17496 16 jsauermann
L36_case_116_0062:
17497 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
17498
;;;                                                                                           { 45 NumericExpression (constant 0 = 0x0)
17499 2 jsauermann
;--     load_rr_constant
17500
        MOVE    #0x0000, RR
17501 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 0 = 0x0)
17502
;;;                                                                                         } 44 ExpressionStatement
17503
;;;                                                                                       } 43 case Statement
17504
;;;                                                                                       { 43 ExpressionStatement
17505 2 jsauermann
        OUT  R, (OUT_START_CLK_CTR)
17506 7 jsauermann
;;;                                                                                       } 43 ExpressionStatement
17507
;;;                                                                                       { 43 ExpressionStatement
17508
;;;                                                                                         { 44 Expr l(r)
17509
;;;                                                                                           { 45 TypeName
17510
;;;                                                                                             { 46 TypeSpecifier (all)
17511
;;;                                                                                               spec = void (10000)
17512
;;;                                                                                             } 46 TypeSpecifier (all)
17513
;;;                                                                                             { 46 List
17514
;;;                                                                                               { 47 DeclItem
17515
;;;                                                                                                 what = DECL_NAME
17516
;;;                                                                                                 name = deschedule
17517
;;;                                                                                               } 47 DeclItem
17518
;;;                                                                                             } 46 List
17519
;;;                                                                                           } 45 TypeName
17520 2 jsauermann
;--     push 0 bytes
17521
;--     call
17522
        CALL    Cdeschedule
17523
;--     pop 0 bytes
17524 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17525
;;;                                                                                       } 43 ExpressionStatement
17526
;;;                                                                                       { 43 ExpressionStatement
17527 2 jsauermann
        OUT  R, (OUT_STOP_CLK_CTR)
17528 7 jsauermann
;;;                                                                                       } 43 ExpressionStatement
17529
;;;                                                                                       { 43 ExpressionStatement
17530
;;;                                                                                         { 44 Expr l = r
17531
;;;                                                                                           { 45 TypeName
17532
;;;                                                                                             { 46 TypeSpecifier (all)
17533
;;;                                                                                               spec = int (80000)
17534
;;;                                                                                             } 46 TypeSpecifier (all)
17535
;;;                                                                                             { 46 List
17536
;;;                                                                                               { 47 DeclItem
17537
;;;                                                                                                 what = DECL_NAME
17538
;;;                                                                                                 name = value
17539
;;;                                                                                               } 47 DeclItem
17540
;;;                                                                                             } 46 List
17541
;;;                                                                                           } 45 TypeName
17542
;;;                                                                                           { 45 Expr l | r
17543
;;;                                                                                             { 46 TypeName (internal)
17544
;;;                                                                                               { 47 TypeSpecifier (all)
17545
;;;                                                                                                 spec = int (80000)
17546
;;;                                                                                               } 47 TypeSpecifier (all)
17547
;;;                                                                                             } 46 TypeName (internal)
17548
;;;                                                                                             { 46 Expr l << r
17549
;;;                                                                                               { 47 TypeName (internal)
17550
;;;                                                                                                 { 48 TypeSpecifier (all)
17551
;;;                                                                                                   spec = int (80000)
17552
;;;                                                                                                 } 48 TypeSpecifier (all)
17553
;;;                                                                                               } 47 TypeName (internal)
17554 2 jsauermann
        IN   (IN_CLK_CTR_HIGH), RU
17555
;--     l << r
17556
        LSL     RR, #0x0008
17557 7 jsauermann
;;;                                                                                             } 46 Expr l << r
17558 2 jsauermann
;--     push_rr (16 bit)
17559
        MOVE    RR, -(SP)
17560
        IN   (IN_CLK_CTR_LOW), RU
17561
;--     pop_ll (16 bit)
17562
        MOVE    (SP)+, LL
17563
;--     l | r
17564
        OR      LL, RR
17565 7 jsauermann
;;;                                                                                           } 45 Expr l | r
17566 2 jsauermann
;--     store_rr_var value = -7(FP), SP at -7
17567
        MOVE    RR, 0(SP)
17568 7 jsauermann
;;;                                                                                         } 44 Expr l = r
17569
;;;                                                                                       } 43 ExpressionStatement
17570
;;;                                                                                       { 43 ExpressionStatement
17571
;;;                                                                                         { 44 Expr l(r)
17572
;;;                                                                                           { 45 TypeName
17573
;;;                                                                                             { 46 TypeSpecifier (all)
17574
;;;                                                                                               spec = int (80000)
17575
;;;                                                                                             } 46 TypeSpecifier (all)
17576
;;;                                                                                             { 46 List
17577
;;;                                                                                               { 47 DeclItem
17578
;;;                                                                                                 what = DECL_NAME
17579
;;;                                                                                                 name = printf
17580
;;;                                                                                               } 47 DeclItem
17581
;;;                                                                                             } 46 List
17582
;;;                                                                                           } 45 TypeName
17583
;;;                                                                                           { 45 Expr (l , r)
17584
;;;                                                                                             { 46 ParameterDeclaration
17585
;;;                                                                                               isEllipsis = true
17586
;;;                                                                                               { 47 TypeName
17587
;;;                                                                                                 { 48 TypeSpecifier (all)
17588
;;;                                                                                                   spec = const char (20100)
17589
;;;                                                                                                 } 48 TypeSpecifier (all)
17590
;;;                                                                                                 { 48 List
17591
;;;                                                                                                   { 49 DeclItem
17592
;;;                                                                                                     what = DECL_POINTER
17593
;;;                                                                                                     { 50 List
17594
;;;                                                                                                       { 51 Ptr
17595
;;;                                                                                                       } 51 Ptr
17596
;;;                                                                                                     } 50 List
17597
;;;                                                                                                   } 49 DeclItem
17598
;;;                                                                                                   { 49 DeclItem
17599
;;;                                                                                                     what = DECL_NAME
17600
;;;                                                                                                     name = format
17601
;;;                                                                                                   } 49 DeclItem
17602
;;;                                                                                                 } 48 List
17603
;;;                                                                                               } 47 TypeName
17604
;;;                                                                                             } 46 ParameterDeclaration
17605
;;;                                                                                             { 46 Expr l / r
17606
;;;                                                                                               { 47 TypeName (internal)
17607
;;;                                                                                                 { 48 TypeSpecifier (all)
17608
;;;                                                                                                   spec = int (80000)
17609
;;;                                                                                                 } 48 TypeSpecifier (all)
17610
;;;                                                                                               } 47 TypeName (internal)
17611
;;;                                                                                               { 47 Expr l + r
17612
;;;                                                                                                 { 48 Expression (variable name)
17613
;;;                                                                                                   expr_type = "identifier" (value)
17614 2 jsauermann
;--     load_rr_var value = -7(FP), SP at -7 (16 bit)
17615
        MOVE    0(SP), RR
17616 7 jsauermann
;;;                                                                                                 } 48 Expression (variable name)
17617 2 jsauermann
;--     l + r
17618
        ADD     RR, #0x000A
17619 7 jsauermann
;;;                                                                                               } 47 Expr l + r
17620 2 jsauermann
;--     l / r
17621
        MOVE    RR, LL
17622
        MOVE    #0x0014, RR
17623
;--     l / r
17624
        DI
17625
        DIV_IS
17626
        CALL    mult_div
17627
        MD_FIN
17628
        EI
17629 7 jsauermann
;;;                                                                                             } 46 Expr l / r
17630 2 jsauermann
;--     push_rr (16 bit)
17631
        MOVE    RR, -(SP)
17632 7 jsauermann
;;;                                                                                             { 46 Expr (l , r)
17633
;;;                                                                                               { 47 ParameterDeclaration
17634
;;;                                                                                                 isEllipsis = true
17635
;;;                                                                                                 { 48 TypeName
17636
;;;                                                                                                   { 49 TypeSpecifier (all)
17637
;;;                                                                                                     spec = const char (20100)
17638
;;;                                                                                                   } 49 TypeSpecifier (all)
17639
;;;                                                                                                   { 49 List
17640
;;;                                                                                                     { 50 DeclItem
17641
;;;                                                                                                       what = DECL_POINTER
17642
;;;                                                                                                       { 51 List
17643
;;;                                                                                                         { 52 Ptr
17644
;;;                                                                                                         } 52 Ptr
17645
;;;                                                                                                       } 51 List
17646
;;;                                                                                                     } 50 DeclItem
17647
;;;                                                                                                     { 50 DeclItem
17648
;;;                                                                                                       what = DECL_NAME
17649
;;;                                                                                                       name = format
17650
;;;                                                                                                     } 50 DeclItem
17651
;;;                                                                                                   } 49 List
17652
;;;                                                                                                 } 48 TypeName
17653
;;;                                                                                               } 47 ParameterDeclaration
17654
;;;                                                                                               { 47 Expression (variable name)
17655
;;;                                                                                                 expr_type = "identifier" (value)
17656 2 jsauermann
;--     load_rr_var value = -7(FP), SP at -9 (16 bit)
17657
        MOVE    2(SP), RR
17658 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
17659 2 jsauermann
;--     push_rr (16 bit)
17660
        MOVE    RR, -(SP)
17661 7 jsauermann
;;;                                                                                               { 47 ParameterDeclaration
17662
;;;                                                                                                 isEllipsis = true
17663
;;;                                                                                                 { 48 TypeName
17664
;;;                                                                                                   { 49 TypeSpecifier (all)
17665
;;;                                                                                                     spec = const char (20100)
17666
;;;                                                                                                   } 49 TypeSpecifier (all)
17667
;;;                                                                                                   { 49 List
17668
;;;                                                                                                     { 50 DeclItem
17669
;;;                                                                                                       what = DECL_POINTER
17670
;;;                                                                                                       { 51 List
17671
;;;                                                                                                         { 52 Ptr
17672
;;;                                                                                                         } 52 Ptr
17673
;;;                                                                                                       } 51 List
17674
;;;                                                                                                     } 50 DeclItem
17675
;;;                                                                                                     { 50 DeclItem
17676
;;;                                                                                                       what = DECL_NAME
17677
;;;                                                                                                       name = format
17678
;;;                                                                                                     } 50 DeclItem
17679
;;;                                                                                                   } 49 List
17680
;;;                                                                                                 } 48 TypeName
17681
;;;                                                                                               } 47 ParameterDeclaration
17682
;;;                                                                                               { 47 StringExpression
17683 2 jsauermann
;--     load_rr_string
17684 16 jsauermann
        MOVE    #Cstr_91, RR
17685 7 jsauermann
;;;                                                                                               } 47 StringExpression
17686 2 jsauermann
;--     push_rr (16 bit)
17687
        MOVE    RR, -(SP)
17688 7 jsauermann
;;;                                                                                             } 46 Expr (l , r)
17689
;;;                                                                                           } 45 Expr (l , r)
17690 2 jsauermann
;--     push 2 bytes
17691
;--     call
17692
        CALL    Cprintf
17693
;--     pop 6 bytes
17694
        ADD     SP, #6
17695 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17696
;;;                                                                                       } 43 ExpressionStatement
17697
;;;                                                                                       { 43 break/continue Statement
17698 2 jsauermann
;--     branch
17699 16 jsauermann
        JMP     L36_brk_116
17700 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
17701
;;;                                                                                       { 43 case Statement
17702 16 jsauermann
L36_case_116_0063:
17703 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
17704
;;;                                                                                           { 45 Expr l(r)
17705
;;;                                                                                             { 46 TypeName
17706
;;;                                                                                               { 47 TypeSpecifier (all)
17707
;;;                                                                                                 spec = void (10000)
17708
;;;                                                                                               } 47 TypeSpecifier (all)
17709
;;;                                                                                               { 47 List
17710
;;;                                                                                                 { 48 DeclItem
17711
;;;                                                                                                   what = DECL_NAME
17712
;;;                                                                                                   name = show_time
17713
;;;                                                                                                 } 48 DeclItem
17714
;;;                                                                                               } 47 List
17715
;;;                                                                                             } 46 TypeName
17716 2 jsauermann
;--     push 0 bytes
17717
;--     call
17718
        CALL    Cshow_time
17719
;--     pop 0 bytes
17720 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
17721
;;;                                                                                         } 44 ExpressionStatement
17722
;;;                                                                                       } 43 case Statement
17723
;;;                                                                                       { 43 break/continue Statement
17724 2 jsauermann
;--     branch
17725 16 jsauermann
        JMP     L36_brk_116
17726 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
17727
;;;                                                                                       { 43 case Statement
17728 16 jsauermann
L36_case_116_0064:
17729 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
17730
;;;                                                                                           { 45 Expr l = r
17731
;;;                                                                                             { 46 TypeName
17732
;;;                                                                                               { 47 TypeSpecifier (all)
17733
;;;                                                                                                 spec = char (20000)
17734
;;;                                                                                               } 47 TypeSpecifier (all)
17735
;;;                                                                                               { 47 List
17736
;;;                                                                                                 { 48 DeclItem
17737
;;;                                                                                                   what = DECL_NAME
17738
;;;                                                                                                   name = last_c
17739
;;;                                                                                                 } 48 DeclItem
17740
;;;                                                                                               } 47 List
17741
;;;                                                                                             } 46 TypeName
17742
;;;                                                                                             { 46 NumericExpression (constant 100 = 0x64)
17743 2 jsauermann
;--     load_rr_constant
17744
        MOVE    #0x0064, RR
17745 7 jsauermann
;;;                                                                                             } 46 NumericExpression (constant 100 = 0x64)
17746 2 jsauermann
;--     store_rr_var last_c = -3(FP), SP at -7
17747
        MOVE    R, 4(SP)
17748 7 jsauermann
;;;                                                                                           } 45 Expr l = r
17749
;;;                                                                                         } 44 ExpressionStatement
17750
;;;                                                                                       } 43 case Statement
17751
;;;                                                                                       { 43 ExpressionStatement
17752
;;;                                                                                         { 44 Expr l(r)
17753
;;;                                                                                           { 45 TypeName
17754
;;;                                                                                             { 46 TypeSpecifier (all)
17755
;;;                                                                                               spec = int (80000)
17756
;;;                                                                                             } 46 TypeSpecifier (all)
17757
;;;                                                                                             { 46 List
17758
;;;                                                                                               { 47 DeclItem
17759
;;;                                                                                                 what = DECL_NAME
17760
;;;                                                                                                 name = printf
17761
;;;                                                                                               } 47 DeclItem
17762
;;;                                                                                             } 46 List
17763
;;;                                                                                           } 45 TypeName
17764
;;;                                                                                           { 45 ParameterDeclaration
17765
;;;                                                                                             isEllipsis = true
17766
;;;                                                                                             { 46 TypeName
17767
;;;                                                                                               { 47 TypeSpecifier (all)
17768
;;;                                                                                                 spec = const char (20100)
17769
;;;                                                                                               } 47 TypeSpecifier (all)
17770
;;;                                                                                               { 47 List
17771
;;;                                                                                                 { 48 DeclItem
17772
;;;                                                                                                   what = DECL_POINTER
17773
;;;                                                                                                   { 49 List
17774
;;;                                                                                                     { 50 Ptr
17775
;;;                                                                                                     } 50 Ptr
17776
;;;                                                                                                   } 49 List
17777
;;;                                                                                                 } 48 DeclItem
17778
;;;                                                                                                 { 48 DeclItem
17779
;;;                                                                                                   what = DECL_NAME
17780
;;;                                                                                                   name = format
17781
;;;                                                                                                 } 48 DeclItem
17782
;;;                                                                                               } 47 List
17783
;;;                                                                                             } 46 TypeName
17784
;;;                                                                                           } 45 ParameterDeclaration
17785
;;;                                                                                           { 45 StringExpression
17786 2 jsauermann
;--     load_rr_string
17787 16 jsauermann
        MOVE    #Cstr_92, RR
17788 7 jsauermann
;;;                                                                                           } 45 StringExpression
17789 2 jsauermann
;--     push_rr (16 bit)
17790
        MOVE    RR, -(SP)
17791
;--     push 2 bytes
17792
;--     call
17793
        CALL    Cprintf
17794
;--     pop 2 bytes
17795
        ADD     SP, #2
17796 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17797
;;;                                                                                       } 43 ExpressionStatement
17798
;;;                                                                                       { 43 ExpressionStatement
17799
;;;                                                                                         { 44 Expr l = r
17800
;;;                                                                                           { 45 TypeName
17801
;;;                                                                                             { 46 TypeSpecifier (all)
17802
;;;                                                                                               spec = unsigned char (22000)
17803
;;;                                                                                             } 46 TypeSpecifier (all)
17804
;;;                                                                                             { 46 List
17805
;;;                                                                                               { 47 DeclItem
17806
;;;                                                                                                 what = DECL_POINTER
17807
;;;                                                                                                 { 48 List
17808
;;;                                                                                                   { 49 Ptr
17809
;;;                                                                                                   } 49 Ptr
17810
;;;                                                                                                 } 48 List
17811
;;;                                                                                               } 47 DeclItem
17812
;;;                                                                                               { 47 DeclItem
17813
;;;                                                                                                 what = DECL_NAME
17814
;;;                                                                                                 name = address
17815
;;;                                                                                               } 47 DeclItem
17816
;;;                                                                                             } 46 List
17817
;;;                                                                                           } 45 TypeName
17818
;;;                                                                                           { 45 Expression (cast)r
17819
;;;                                                                                             { 46 Expr l(r)
17820
;;;                                                                                               { 47 TypeName
17821
;;;                                                                                                 { 48 TypeSpecifier (all)
17822
;;;                                                                                                   spec = int (80000)
17823
;;;                                                                                                 } 48 TypeSpecifier (all)
17824
;;;                                                                                                 { 48 List
17825
;;;                                                                                                   { 49 DeclItem
17826
;;;                                                                                                     what = DECL_NAME
17827
;;;                                                                                                     name = gethex
17828
;;;                                                                                                   } 49 DeclItem
17829
;;;                                                                                                 } 48 List
17830
;;;                                                                                               } 47 TypeName
17831
;;;                                                                                               { 47 ParameterDeclaration
17832
;;;                                                                                                 isEllipsis = false
17833
;;;                                                                                                 { 48 TypeName
17834
;;;                                                                                                   { 49 TypeSpecifier (all)
17835
;;;                                                                                                     spec = char (20000)
17836
;;;                                                                                                   } 49 TypeSpecifier (all)
17837
;;;                                                                                                   { 49 List
17838
;;;                                                                                                     { 50 DeclItem
17839
;;;                                                                                                       what = DECL_NAME
17840
;;;                                                                                                       name = echo
17841
;;;                                                                                                     } 50 DeclItem
17842
;;;                                                                                                   } 49 List
17843
;;;                                                                                                 } 48 TypeName
17844
;;;                                                                                               } 47 ParameterDeclaration
17845
;;;                                                                                               { 47 NumericExpression (constant 1 = 0x1)
17846 2 jsauermann
;--     load_rr_constant
17847
        MOVE    #0x0001, RR
17848 7 jsauermann
;;;                                                                                               } 47 NumericExpression (constant 1 = 0x1)
17849 2 jsauermann
;--     push_rr (8 bit)
17850
        MOVE    R, -(SP)
17851
;--     push 2 bytes
17852
;--     call
17853
        CALL    Cgethex
17854
;--     pop 1 bytes
17855
        ADD     SP, #1
17856 7 jsauermann
;;;                                                                                             } 46 Expr l(r)
17857
;;;                                                                                           } 45 Expression (cast)r
17858 2 jsauermann
;--     store_rr_var address = -5(FP), SP at -7
17859
        MOVE    RR, 2(SP)
17860 7 jsauermann
;;;                                                                                         } 44 Expr l = r
17861
;;;                                                                                       } 43 ExpressionStatement
17862
;;;                                                                                       { 43 ExpressionStatement
17863
;;;                                                                                         { 44 Expr l(r)
17864
;;;                                                                                           { 45 TypeName
17865
;;;                                                                                             { 46 TypeSpecifier (all)
17866
;;;                                                                                               spec = int (80000)
17867
;;;                                                                                             } 46 TypeSpecifier (all)
17868
;;;                                                                                             { 46 List
17869
;;;                                                                                               { 47 DeclItem
17870
;;;                                                                                                 what = DECL_NAME
17871
;;;                                                                                                 name = printf
17872
;;;                                                                                               } 47 DeclItem
17873
;;;                                                                                             } 46 List
17874
;;;                                                                                           } 45 TypeName
17875
;;;                                                                                           { 45 ParameterDeclaration
17876
;;;                                                                                             isEllipsis = true
17877
;;;                                                                                             { 46 TypeName
17878
;;;                                                                                               { 47 TypeSpecifier (all)
17879
;;;                                                                                                 spec = const char (20100)
17880
;;;                                                                                               } 47 TypeSpecifier (all)
17881
;;;                                                                                               { 47 List
17882
;;;                                                                                                 { 48 DeclItem
17883
;;;                                                                                                   what = DECL_POINTER
17884
;;;                                                                                                   { 49 List
17885
;;;                                                                                                     { 50 Ptr
17886
;;;                                                                                                     } 50 Ptr
17887
;;;                                                                                                   } 49 List
17888
;;;                                                                                                 } 48 DeclItem
17889
;;;                                                                                                 { 48 DeclItem
17890
;;;                                                                                                   what = DECL_NAME
17891
;;;                                                                                                   name = format
17892
;;;                                                                                                 } 48 DeclItem
17893
;;;                                                                                               } 47 List
17894
;;;                                                                                             } 46 TypeName
17895
;;;                                                                                           } 45 ParameterDeclaration
17896
;;;                                                                                           { 45 StringExpression
17897 2 jsauermann
;--     load_rr_string
17898 16 jsauermann
        MOVE    #Cstr_93, RR
17899 7 jsauermann
;;;                                                                                           } 45 StringExpression
17900 2 jsauermann
;--     push_rr (16 bit)
17901
        MOVE    RR, -(SP)
17902
;--     push 2 bytes
17903
;--     call
17904
        CALL    Cprintf
17905
;--     pop 2 bytes
17906
        ADD     SP, #2
17907 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17908
;;;                                                                                       } 43 ExpressionStatement
17909
;;;                                                                                       { 43 ExpressionStatement
17910
;;;                                                                                         { 44 Expr l(r)
17911
;;;                                                                                           { 45 TypeName
17912
;;;                                                                                             { 46 TypeSpecifier (all)
17913
;;;                                                                                               spec = int (80000)
17914
;;;                                                                                             } 46 TypeSpecifier (all)
17915
;;;                                                                                             { 46 List
17916
;;;                                                                                               { 47 DeclItem
17917
;;;                                                                                                 what = DECL_NAME
17918
;;;                                                                                                 name = getchr
17919
;;;                                                                                               } 47 DeclItem
17920
;;;                                                                                             } 46 List
17921
;;;                                                                                           } 45 TypeName
17922 2 jsauermann
;--     push 2 bytes
17923
;--     call
17924
        CALL    Cgetchr
17925
;--     pop 0 bytes
17926 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17927
;;;                                                                                       } 43 ExpressionStatement
17928
;;;                                                                                       { 43 ExpressionStatement
17929
;;;                                                                                         { 44 Expr l(r)
17930
;;;                                                                                           { 45 TypeName
17931
;;;                                                                                             { 46 TypeSpecifier (all)
17932
;;;                                                                                               spec = void (10000)
17933
;;;                                                                                             } 46 TypeSpecifier (all)
17934
;;;                                                                                             { 46 List
17935
;;;                                                                                               { 47 DeclItem
17936
;;;                                                                                                 what = DECL_NAME
17937
;;;                                                                                                 name = display_memory
17938
;;;                                                                                               } 47 DeclItem
17939
;;;                                                                                             } 46 List
17940
;;;                                                                                           } 45 TypeName
17941
;;;                                                                                           { 45 ParameterDeclaration
17942
;;;                                                                                             isEllipsis = false
17943
;;;                                                                                             { 46 TypeName
17944
;;;                                                                                               { 47 TypeSpecifier (all)
17945
;;;                                                                                                 spec = unsigned char (22000)
17946
;;;                                                                                               } 47 TypeSpecifier (all)
17947
;;;                                                                                               { 47 List
17948
;;;                                                                                                 { 48 DeclItem
17949
;;;                                                                                                   what = DECL_POINTER
17950
;;;                                                                                                   { 49 List
17951
;;;                                                                                                     { 50 Ptr
17952
;;;                                                                                                     } 50 Ptr
17953
;;;                                                                                                   } 49 List
17954
;;;                                                                                                 } 48 DeclItem
17955
;;;                                                                                                 { 48 DeclItem
17956
;;;                                                                                                   what = DECL_NAME
17957
;;;                                                                                                   name = address
17958
;;;                                                                                                 } 48 DeclItem
17959
;;;                                                                                               } 47 List
17960
;;;                                                                                             } 46 TypeName
17961
;;;                                                                                           } 45 ParameterDeclaration
17962
;;;                                                                                           { 45 Expression (variable name)
17963
;;;                                                                                             expr_type = "identifier" (address)
17964 2 jsauermann
;--     load_rr_var address = -5(FP), SP at -7 (16 bit)
17965
        MOVE    2(SP), RR
17966 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
17967 2 jsauermann
;--     push_rr (16 bit)
17968
        MOVE    RR, -(SP)
17969
;--     push 0 bytes
17970
;--     call
17971
        CALL    Cdisplay_memory
17972
;--     pop 2 bytes
17973
        ADD     SP, #2
17974 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
17975
;;;                                                                                       } 43 ExpressionStatement
17976
;;;                                                                                       { 43 break/continue Statement
17977 2 jsauermann
;--     branch
17978 16 jsauermann
        JMP     L36_brk_116
17979 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
17980
;;;                                                                                       { 43 case Statement
17981 16 jsauermann
L36_case_116_0065:
17982 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
17983
;;;                                                                                           { 45 Expr l(r)
17984
;;;                                                                                             { 46 TypeName
17985
;;;                                                                                               { 47 TypeSpecifier (all)
17986
;;;                                                                                                 spec = int (80000)
17987
;;;                                                                                               } 47 TypeSpecifier (all)
17988
;;;                                                                                               { 47 List
17989
;;;                                                                                                 { 48 DeclItem
17990
;;;                                                                                                   what = DECL_NAME
17991
;;;                                                                                                   name = printf
17992
;;;                                                                                                 } 48 DeclItem
17993
;;;                                                                                               } 47 List
17994
;;;                                                                                             } 46 TypeName
17995
;;;                                                                                             { 46 ParameterDeclaration
17996
;;;                                                                                               isEllipsis = true
17997
;;;                                                                                               { 47 TypeName
17998
;;;                                                                                                 { 48 TypeSpecifier (all)
17999
;;;                                                                                                   spec = const char (20100)
18000
;;;                                                                                                 } 48 TypeSpecifier (all)
18001
;;;                                                                                                 { 48 List
18002
;;;                                                                                                   { 49 DeclItem
18003
;;;                                                                                                     what = DECL_POINTER
18004
;;;                                                                                                     { 50 List
18005
;;;                                                                                                       { 51 Ptr
18006
;;;                                                                                                       } 51 Ptr
18007
;;;                                                                                                     } 50 List
18008
;;;                                                                                                   } 49 DeclItem
18009
;;;                                                                                                   { 49 DeclItem
18010
;;;                                                                                                     what = DECL_NAME
18011
;;;                                                                                                     name = format
18012
;;;                                                                                                   } 49 DeclItem
18013
;;;                                                                                                 } 48 List
18014
;;;                                                                                               } 47 TypeName
18015
;;;                                                                                             } 46 ParameterDeclaration
18016
;;;                                                                                             { 46 StringExpression
18017 2 jsauermann
;--     load_rr_string
18018 16 jsauermann
        MOVE    #Cstr_94, RR
18019 7 jsauermann
;;;                                                                                             } 46 StringExpression
18020 2 jsauermann
;--     push_rr (16 bit)
18021
        MOVE    RR, -(SP)
18022
;--     push 2 bytes
18023
;--     call
18024
        CALL    Cprintf
18025
;--     pop 2 bytes
18026
        ADD     SP, #2
18027 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18028
;;;                                                                                         } 44 ExpressionStatement
18029
;;;                                                                                       } 43 case Statement
18030
;;;                                                                                       { 43 ExpressionStatement
18031
;;;                                                                                         { 44 Expr l(r)
18032
;;;                                                                                           { 45 TypeName
18033
;;;                                                                                             { 46 TypeSpecifier (all)
18034
;;;                                                                                               spec = int (80000)
18035
;;;                                                                                             } 46 TypeSpecifier (all)
18036
;;;                                                                                             { 46 List
18037
;;;                                                                                               { 47 DeclItem
18038
;;;                                                                                                 what = DECL_NAME
18039
;;;                                                                                                 name = gethex
18040
;;;                                                                                               } 47 DeclItem
18041
;;;                                                                                             } 46 List
18042
;;;                                                                                           } 45 TypeName
18043
;;;                                                                                           { 45 ParameterDeclaration
18044
;;;                                                                                             isEllipsis = false
18045
;;;                                                                                             { 46 TypeName
18046
;;;                                                                                               { 47 TypeSpecifier (all)
18047
;;;                                                                                                 spec = char (20000)
18048
;;;                                                                                               } 47 TypeSpecifier (all)
18049
;;;                                                                                               { 47 List
18050
;;;                                                                                                 { 48 DeclItem
18051
;;;                                                                                                   what = DECL_NAME
18052
;;;                                                                                                   name = echo
18053
;;;                                                                                                 } 48 DeclItem
18054
;;;                                                                                               } 47 List
18055
;;;                                                                                             } 46 TypeName
18056
;;;                                                                                           } 45 ParameterDeclaration
18057
;;;                                                                                           { 45 NumericExpression (constant 1 = 0x1)
18058 2 jsauermann
;--     load_rr_constant
18059
        MOVE    #0x0001, RR
18060 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 1 = 0x1)
18061 2 jsauermann
;--     push_rr (8 bit)
18062
        MOVE    R, -(SP)
18063
;--     push 2 bytes
18064
;--     call
18065
        CALL    Cgethex
18066
;--     pop 1 bytes
18067
        ADD     SP, #1
18068 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18069
;;;                                                                                       } 43 ExpressionStatement
18070
;;;                                                                                       { 43 ExpressionStatement
18071 2 jsauermann
        OUT R, (OUT_LEDS)
18072 7 jsauermann
;;;                                                                                       } 43 ExpressionStatement
18073
;;;                                                                                       { 43 ExpressionStatement
18074
;;;                                                                                         { 44 Expr l(r)
18075
;;;                                                                                           { 45 TypeName
18076
;;;                                                                                             { 46 TypeSpecifier (all)
18077
;;;                                                                                               spec = int (80000)
18078
;;;                                                                                             } 46 TypeSpecifier (all)
18079
;;;                                                                                             { 46 List
18080
;;;                                                                                               { 47 DeclItem
18081
;;;                                                                                                 what = DECL_NAME
18082
;;;                                                                                                 name = printf
18083
;;;                                                                                               } 47 DeclItem
18084
;;;                                                                                             } 46 List
18085
;;;                                                                                           } 45 TypeName
18086
;;;                                                                                           { 45 ParameterDeclaration
18087
;;;                                                                                             isEllipsis = true
18088
;;;                                                                                             { 46 TypeName
18089
;;;                                                                                               { 47 TypeSpecifier (all)
18090
;;;                                                                                                 spec = const char (20100)
18091
;;;                                                                                               } 47 TypeSpecifier (all)
18092
;;;                                                                                               { 47 List
18093
;;;                                                                                                 { 48 DeclItem
18094
;;;                                                                                                   what = DECL_POINTER
18095
;;;                                                                                                   { 49 List
18096
;;;                                                                                                     { 50 Ptr
18097
;;;                                                                                                     } 50 Ptr
18098
;;;                                                                                                   } 49 List
18099
;;;                                                                                                 } 48 DeclItem
18100
;;;                                                                                                 { 48 DeclItem
18101
;;;                                                                                                   what = DECL_NAME
18102
;;;                                                                                                   name = format
18103
;;;                                                                                                 } 48 DeclItem
18104
;;;                                                                                               } 47 List
18105
;;;                                                                                             } 46 TypeName
18106
;;;                                                                                           } 45 ParameterDeclaration
18107
;;;                                                                                           { 45 StringExpression
18108 2 jsauermann
;--     load_rr_string
18109 16 jsauermann
        MOVE    #Cstr_96, RR
18110 7 jsauermann
;;;                                                                                           } 45 StringExpression
18111 2 jsauermann
;--     push_rr (16 bit)
18112
        MOVE    RR, -(SP)
18113
;--     push 2 bytes
18114
;--     call
18115
        CALL    Cprintf
18116
;--     pop 2 bytes
18117
        ADD     SP, #2
18118 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18119
;;;                                                                                       } 43 ExpressionStatement
18120
;;;                                                                                       { 43 ExpressionStatement
18121
;;;                                                                                         { 44 Expr l(r)
18122
;;;                                                                                           { 45 TypeName
18123
;;;                                                                                             { 46 TypeSpecifier (all)
18124
;;;                                                                                               spec = int (80000)
18125
;;;                                                                                             } 46 TypeSpecifier (all)
18126
;;;                                                                                             { 46 List
18127
;;;                                                                                               { 47 DeclItem
18128
;;;                                                                                                 what = DECL_NAME
18129
;;;                                                                                                 name = getchr
18130
;;;                                                                                               } 47 DeclItem
18131
;;;                                                                                             } 46 List
18132
;;;                                                                                           } 45 TypeName
18133 2 jsauermann
;--     push 2 bytes
18134
;--     call
18135
        CALL    Cgetchr
18136
;--     pop 0 bytes
18137 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18138
;;;                                                                                       } 43 ExpressionStatement
18139
;;;                                                                                       { 43 break/continue Statement
18140 2 jsauermann
;--     branch
18141 16 jsauermann
        JMP     L36_brk_116
18142 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18143
;;;                                                                                       { 43 case Statement
18144 16 jsauermann
L36_case_116_006D:
18145 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18146
;;;                                                                                           { 45 Expr l(r)
18147
;;;                                                                                             { 46 TypeName
18148
;;;                                                                                               { 47 TypeSpecifier (all)
18149
;;;                                                                                                 spec = int (80000)
18150
;;;                                                                                               } 47 TypeSpecifier (all)
18151
;;;                                                                                               { 47 List
18152
;;;                                                                                                 { 48 DeclItem
18153
;;;                                                                                                   what = DECL_NAME
18154
;;;                                                                                                   name = printf
18155
;;;                                                                                                 } 48 DeclItem
18156
;;;                                                                                               } 47 List
18157
;;;                                                                                             } 46 TypeName
18158
;;;                                                                                             { 46 ParameterDeclaration
18159
;;;                                                                                               isEllipsis = true
18160
;;;                                                                                               { 47 TypeName
18161
;;;                                                                                                 { 48 TypeSpecifier (all)
18162
;;;                                                                                                   spec = const char (20100)
18163
;;;                                                                                                 } 48 TypeSpecifier (all)
18164
;;;                                                                                                 { 48 List
18165
;;;                                                                                                   { 49 DeclItem
18166
;;;                                                                                                     what = DECL_POINTER
18167
;;;                                                                                                     { 50 List
18168
;;;                                                                                                       { 51 Ptr
18169
;;;                                                                                                       } 51 Ptr
18170
;;;                                                                                                     } 50 List
18171
;;;                                                                                                   } 49 DeclItem
18172
;;;                                                                                                   { 49 DeclItem
18173
;;;                                                                                                     what = DECL_NAME
18174
;;;                                                                                                     name = format
18175
;;;                                                                                                   } 49 DeclItem
18176
;;;                                                                                                 } 48 List
18177
;;;                                                                                               } 47 TypeName
18178
;;;                                                                                             } 46 ParameterDeclaration
18179
;;;                                                                                             { 46 StringExpression
18180 2 jsauermann
;--     load_rr_string
18181 16 jsauermann
        MOVE    #Cstr_97, RR
18182 7 jsauermann
;;;                                                                                             } 46 StringExpression
18183 2 jsauermann
;--     push_rr (16 bit)
18184
        MOVE    RR, -(SP)
18185
;--     push 2 bytes
18186
;--     call
18187
        CALL    Cprintf
18188
;--     pop 2 bytes
18189
        ADD     SP, #2
18190 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18191
;;;                                                                                         } 44 ExpressionStatement
18192
;;;                                                                                       } 43 case Statement
18193
;;;                                                                                       { 43 ExpressionStatement
18194
;;;                                                                                         { 44 Expr l = r
18195
;;;                                                                                           { 45 TypeName
18196
;;;                                                                                             { 46 TypeSpecifier (all)
18197
;;;                                                                                               spec = unsigned char (22000)
18198
;;;                                                                                             } 46 TypeSpecifier (all)
18199
;;;                                                                                             { 46 List
18200
;;;                                                                                               { 47 DeclItem
18201
;;;                                                                                                 what = DECL_POINTER
18202
;;;                                                                                                 { 48 List
18203
;;;                                                                                                   { 49 Ptr
18204
;;;                                                                                                   } 49 Ptr
18205
;;;                                                                                                 } 48 List
18206
;;;                                                                                               } 47 DeclItem
18207
;;;                                                                                               { 47 DeclItem
18208
;;;                                                                                                 what = DECL_NAME
18209
;;;                                                                                                 name = address
18210
;;;                                                                                               } 47 DeclItem
18211
;;;                                                                                             } 46 List
18212
;;;                                                                                           } 45 TypeName
18213
;;;                                                                                           { 45 Expression (cast)r
18214
;;;                                                                                             { 46 Expr l(r)
18215
;;;                                                                                               { 47 TypeName
18216
;;;                                                                                                 { 48 TypeSpecifier (all)
18217
;;;                                                                                                   spec = int (80000)
18218
;;;                                                                                                 } 48 TypeSpecifier (all)
18219
;;;                                                                                                 { 48 List
18220
;;;                                                                                                   { 49 DeclItem
18221
;;;                                                                                                     what = DECL_NAME
18222
;;;                                                                                                     name = gethex
18223
;;;                                                                                                   } 49 DeclItem
18224
;;;                                                                                                 } 48 List
18225
;;;                                                                                               } 47 TypeName
18226
;;;                                                                                               { 47 ParameterDeclaration
18227
;;;                                                                                                 isEllipsis = false
18228
;;;                                                                                                 { 48 TypeName
18229
;;;                                                                                                   { 49 TypeSpecifier (all)
18230
;;;                                                                                                     spec = char (20000)
18231
;;;                                                                                                   } 49 TypeSpecifier (all)
18232
;;;                                                                                                   { 49 List
18233
;;;                                                                                                     { 50 DeclItem
18234
;;;                                                                                                       what = DECL_NAME
18235
;;;                                                                                                       name = echo
18236
;;;                                                                                                     } 50 DeclItem
18237
;;;                                                                                                   } 49 List
18238
;;;                                                                                                 } 48 TypeName
18239
;;;                                                                                               } 47 ParameterDeclaration
18240
;;;                                                                                               { 47 NumericExpression (constant 1 = 0x1)
18241 2 jsauermann
;--     load_rr_constant
18242
        MOVE    #0x0001, RR
18243 7 jsauermann
;;;                                                                                               } 47 NumericExpression (constant 1 = 0x1)
18244 2 jsauermann
;--     push_rr (8 bit)
18245
        MOVE    R, -(SP)
18246
;--     push 2 bytes
18247
;--     call
18248
        CALL    Cgethex
18249
;--     pop 1 bytes
18250
        ADD     SP, #1
18251 7 jsauermann
;;;                                                                                             } 46 Expr l(r)
18252
;;;                                                                                           } 45 Expression (cast)r
18253 2 jsauermann
;--     store_rr_var address = -5(FP), SP at -7
18254
        MOVE    RR, 2(SP)
18255 7 jsauermann
;;;                                                                                         } 44 Expr l = r
18256
;;;                                                                                       } 43 ExpressionStatement
18257
;;;                                                                                       { 43 ExpressionStatement
18258
;;;                                                                                         { 44 Expr l(r)
18259
;;;                                                                                           { 45 TypeName
18260
;;;                                                                                             { 46 TypeSpecifier (all)
18261
;;;                                                                                               spec = int (80000)
18262
;;;                                                                                             } 46 TypeSpecifier (all)
18263
;;;                                                                                             { 46 List
18264
;;;                                                                                               { 47 DeclItem
18265
;;;                                                                                                 what = DECL_NAME
18266
;;;                                                                                                 name = printf
18267
;;;                                                                                               } 47 DeclItem
18268
;;;                                                                                             } 46 List
18269
;;;                                                                                           } 45 TypeName
18270
;;;                                                                                           { 45 ParameterDeclaration
18271
;;;                                                                                             isEllipsis = true
18272
;;;                                                                                             { 46 TypeName
18273
;;;                                                                                               { 47 TypeSpecifier (all)
18274
;;;                                                                                                 spec = const char (20100)
18275
;;;                                                                                               } 47 TypeSpecifier (all)
18276
;;;                                                                                               { 47 List
18277
;;;                                                                                                 { 48 DeclItem
18278
;;;                                                                                                   what = DECL_POINTER
18279
;;;                                                                                                   { 49 List
18280
;;;                                                                                                     { 50 Ptr
18281
;;;                                                                                                     } 50 Ptr
18282
;;;                                                                                                   } 49 List
18283
;;;                                                                                                 } 48 DeclItem
18284
;;;                                                                                                 { 48 DeclItem
18285
;;;                                                                                                   what = DECL_NAME
18286
;;;                                                                                                   name = format
18287
;;;                                                                                                 } 48 DeclItem
18288
;;;                                                                                               } 47 List
18289
;;;                                                                                             } 46 TypeName
18290
;;;                                                                                           } 45 ParameterDeclaration
18291
;;;                                                                                           { 45 StringExpression
18292 2 jsauermann
;--     load_rr_string
18293 16 jsauermann
        MOVE    #Cstr_98, RR
18294 7 jsauermann
;;;                                                                                           } 45 StringExpression
18295 2 jsauermann
;--     push_rr (16 bit)
18296
        MOVE    RR, -(SP)
18297
;--     push 2 bytes
18298
;--     call
18299
        CALL    Cprintf
18300
;--     pop 2 bytes
18301
        ADD     SP, #2
18302 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18303
;;;                                                                                       } 43 ExpressionStatement
18304
;;;                                                                                       { 43 ExpressionStatement
18305
;;;                                                                                         { 44 Expr l(r)
18306
;;;                                                                                           { 45 TypeName
18307
;;;                                                                                             { 46 TypeSpecifier (all)
18308
;;;                                                                                               spec = int (80000)
18309
;;;                                                                                             } 46 TypeSpecifier (all)
18310
;;;                                                                                             { 46 List
18311
;;;                                                                                               { 47 DeclItem
18312
;;;                                                                                                 what = DECL_NAME
18313
;;;                                                                                                 name = getchr
18314
;;;                                                                                               } 47 DeclItem
18315
;;;                                                                                             } 46 List
18316
;;;                                                                                           } 45 TypeName
18317 2 jsauermann
;--     push 2 bytes
18318
;--     call
18319
        CALL    Cgetchr
18320
;--     pop 0 bytes
18321 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18322
;;;                                                                                       } 43 ExpressionStatement
18323
;;;                                                                                       { 43 ExpressionStatement
18324
;;;                                                                                         { 44 Expr l = r
18325
;;;                                                                                           { 45 TypeName
18326
;;;                                                                                             { 46 TypeSpecifier (all)
18327
;;;                                                                                               spec = unsigned char (22000)
18328
;;;                                                                                             } 46 TypeSpecifier (all)
18329
;;;                                                                                             { 46 List
18330
;;;                                                                                               { 47 DeclItem
18331
;;;                                                                                                 what = DECL_NAME
18332
;;;                                                                                                 name = address
18333
;;;                                                                                               } 47 DeclItem
18334
;;;                                                                                             } 46 List
18335
;;;                                                                                           } 45 TypeName
18336
;;;                                                                                           { 45 Expr l(r)
18337
;;;                                                                                             { 46 TypeName
18338
;;;                                                                                               { 47 TypeSpecifier (all)
18339
;;;                                                                                                 spec = int (80000)
18340
;;;                                                                                               } 47 TypeSpecifier (all)
18341
;;;                                                                                               { 47 List
18342
;;;                                                                                                 { 48 DeclItem
18343
;;;                                                                                                   what = DECL_NAME
18344
;;;                                                                                                   name = gethex
18345
;;;                                                                                                 } 48 DeclItem
18346
;;;                                                                                               } 47 List
18347
;;;                                                                                             } 46 TypeName
18348
;;;                                                                                             { 46 ParameterDeclaration
18349
;;;                                                                                               isEllipsis = false
18350
;;;                                                                                               { 47 TypeName
18351
;;;                                                                                                 { 48 TypeSpecifier (all)
18352
;;;                                                                                                   spec = char (20000)
18353
;;;                                                                                                 } 48 TypeSpecifier (all)
18354
;;;                                                                                                 { 48 List
18355
;;;                                                                                                   { 49 DeclItem
18356
;;;                                                                                                     what = DECL_NAME
18357
;;;                                                                                                     name = echo
18358
;;;                                                                                                   } 49 DeclItem
18359
;;;                                                                                                 } 48 List
18360
;;;                                                                                               } 47 TypeName
18361
;;;                                                                                             } 46 ParameterDeclaration
18362
;;;                                                                                             { 46 NumericExpression (constant 1 = 0x1)
18363 2 jsauermann
;--     load_rr_constant
18364
        MOVE    #0x0001, RR
18365 7 jsauermann
;;;                                                                                             } 46 NumericExpression (constant 1 = 0x1)
18366 2 jsauermann
;--     push_rr (8 bit)
18367
        MOVE    R, -(SP)
18368
;--     push 2 bytes
18369
;--     call
18370
        CALL    Cgethex
18371
;--     pop 1 bytes
18372
        ADD     SP, #1
18373 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18374 2 jsauermann
;--     push_rr (8 bit)
18375
        MOVE    R, -(SP)
18376 7 jsauermann
;;;                                                                                           { 45 Expr * r
18377
;;;                                                                                             { 46 Expression (variable name)
18378
;;;                                                                                               expr_type = "identifier" (address)
18379 2 jsauermann
;--     load_rr_var address = -5(FP), SP at -8 (16 bit)
18380
        MOVE    3(SP), RR
18381 7 jsauermann
;;;                                                                                             } 46 Expression (variable name)
18382
;;;                                                                                           } 45 Expr * r
18383 2 jsauermann
;--     move_rr_to_ll
18384
        MOVE    RR, LL
18385
;--     pop_rr (8 bit)
18386
        MOVE    (SP)+, RU
18387
;--     assign (8 bit)
18388
        MOVE    R, (LL)
18389 7 jsauermann
;;;                                                                                         } 44 Expr l = r
18390
;;;                                                                                       } 43 ExpressionStatement
18391
;;;                                                                                       { 43 ExpressionStatement
18392
;;;                                                                                         { 44 Expr l(r)
18393
;;;                                                                                           { 45 TypeName
18394
;;;                                                                                             { 46 TypeSpecifier (all)
18395
;;;                                                                                               spec = int (80000)
18396
;;;                                                                                             } 46 TypeSpecifier (all)
18397
;;;                                                                                             { 46 List
18398
;;;                                                                                               { 47 DeclItem
18399
;;;                                                                                                 what = DECL_NAME
18400
;;;                                                                                                 name = getchr
18401
;;;                                                                                               } 47 DeclItem
18402
;;;                                                                                             } 46 List
18403
;;;                                                                                           } 45 TypeName
18404 2 jsauermann
;--     push 2 bytes
18405
;--     call
18406
        CALL    Cgetchr
18407
;--     pop 0 bytes
18408 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18409
;;;                                                                                       } 43 ExpressionStatement
18410
;;;                                                                                       { 43 ExpressionStatement
18411
;;;                                                                                         { 44 Expr l(r)
18412
;;;                                                                                           { 45 TypeName
18413
;;;                                                                                             { 46 TypeSpecifier (all)
18414
;;;                                                                                               spec = int (80000)
18415
;;;                                                                                             } 46 TypeSpecifier (all)
18416
;;;                                                                                             { 46 List
18417
;;;                                                                                               { 47 DeclItem
18418
;;;                                                                                                 what = DECL_NAME
18419
;;;                                                                                                 name = printf
18420
;;;                                                                                               } 47 DeclItem
18421
;;;                                                                                             } 46 List
18422
;;;                                                                                           } 45 TypeName
18423
;;;                                                                                           { 45 ParameterDeclaration
18424
;;;                                                                                             isEllipsis = true
18425
;;;                                                                                             { 46 TypeName
18426
;;;                                                                                               { 47 TypeSpecifier (all)
18427
;;;                                                                                                 spec = const char (20100)
18428
;;;                                                                                               } 47 TypeSpecifier (all)
18429
;;;                                                                                               { 47 List
18430
;;;                                                                                                 { 48 DeclItem
18431
;;;                                                                                                   what = DECL_POINTER
18432
;;;                                                                                                   { 49 List
18433
;;;                                                                                                     { 50 Ptr
18434
;;;                                                                                                     } 50 Ptr
18435
;;;                                                                                                   } 49 List
18436
;;;                                                                                                 } 48 DeclItem
18437
;;;                                                                                                 { 48 DeclItem
18438
;;;                                                                                                   what = DECL_NAME
18439
;;;                                                                                                   name = format
18440
;;;                                                                                                 } 48 DeclItem
18441
;;;                                                                                               } 47 List
18442
;;;                                                                                             } 46 TypeName
18443
;;;                                                                                           } 45 ParameterDeclaration
18444
;;;                                                                                           { 45 StringExpression
18445 2 jsauermann
;--     load_rr_string
18446 16 jsauermann
        MOVE    #Cstr_99, RR
18447 7 jsauermann
;;;                                                                                           } 45 StringExpression
18448 2 jsauermann
;--     push_rr (16 bit)
18449
        MOVE    RR, -(SP)
18450
;--     push 2 bytes
18451
;--     call
18452
        CALL    Cprintf
18453
;--     pop 2 bytes
18454
        ADD     SP, #2
18455 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
18456
;;;                                                                                       } 43 ExpressionStatement
18457
;;;                                                                                       { 43 break/continue Statement
18458 2 jsauermann
;--     branch
18459 16 jsauermann
        JMP     L36_brk_116
18460 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18461
;;;                                                                                       { 43 case Statement
18462 16 jsauermann
L36_case_116_0073:
18463 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18464
;;;                                                                                           { 45 Expr l(r)
18465
;;;                                                                                             { 46 TypeName
18466
;;;                                                                                               { 47 TypeSpecifier (all)
18467
;;;                                                                                                 spec = int (80000)
18468
;;;                                                                                               } 47 TypeSpecifier (all)
18469
;;;                                                                                               { 47 List
18470
;;;                                                                                                 { 48 DeclItem
18471
;;;                                                                                                   what = DECL_NAME
18472
;;;                                                                                                   name = printf
18473
;;;                                                                                                 } 48 DeclItem
18474
;;;                                                                                               } 47 List
18475
;;;                                                                                             } 46 TypeName
18476
;;;                                                                                             { 46 Expr (l , r)
18477
;;;                                                                                               { 47 ParameterDeclaration
18478
;;;                                                                                                 isEllipsis = true
18479
;;;                                                                                                 { 48 TypeName
18480
;;;                                                                                                   { 49 TypeSpecifier (all)
18481
;;;                                                                                                     spec = const char (20100)
18482
;;;                                                                                                   } 49 TypeSpecifier (all)
18483
;;;                                                                                                   { 49 List
18484
;;;                                                                                                     { 50 DeclItem
18485
;;;                                                                                                       what = DECL_POINTER
18486
;;;                                                                                                       { 51 List
18487
;;;                                                                                                         { 52 Ptr
18488
;;;                                                                                                         } 52 Ptr
18489
;;;                                                                                                       } 51 List
18490
;;;                                                                                                     } 50 DeclItem
18491
;;;                                                                                                     { 50 DeclItem
18492
;;;                                                                                                       what = DECL_NAME
18493
;;;                                                                                                       name = format
18494
;;;                                                                                                     } 50 DeclItem
18495
;;;                                                                                                   } 49 List
18496
;;;                                                                                                 } 48 TypeName
18497
;;;                                                                                               } 47 ParameterDeclaration
18498 2 jsauermann
        IN (IN_DIP_SWITCH), RU
18499
;--     push_rr (16 bit)
18500
        MOVE    RR, -(SP)
18501 7 jsauermann
;;;                                                                                               { 47 ParameterDeclaration
18502
;;;                                                                                                 isEllipsis = true
18503
;;;                                                                                                 { 48 TypeName
18504
;;;                                                                                                   { 49 TypeSpecifier (all)
18505
;;;                                                                                                     spec = const char (20100)
18506
;;;                                                                                                   } 49 TypeSpecifier (all)
18507
;;;                                                                                                   { 49 List
18508
;;;                                                                                                     { 50 DeclItem
18509
;;;                                                                                                       what = DECL_POINTER
18510
;;;                                                                                                       { 51 List
18511
;;;                                                                                                         { 52 Ptr
18512
;;;                                                                                                         } 52 Ptr
18513
;;;                                                                                                       } 51 List
18514
;;;                                                                                                     } 50 DeclItem
18515
;;;                                                                                                     { 50 DeclItem
18516
;;;                                                                                                       what = DECL_NAME
18517
;;;                                                                                                       name = format
18518
;;;                                                                                                     } 50 DeclItem
18519
;;;                                                                                                   } 49 List
18520
;;;                                                                                                 } 48 TypeName
18521
;;;                                                                                               } 47 ParameterDeclaration
18522
;;;                                                                                               { 47 StringExpression
18523 2 jsauermann
;--     load_rr_string
18524 16 jsauermann
        MOVE    #Cstr_100, RR
18525 7 jsauermann
;;;                                                                                               } 47 StringExpression
18526 2 jsauermann
;--     push_rr (16 bit)
18527
        MOVE    RR, -(SP)
18528 7 jsauermann
;;;                                                                                             } 46 Expr (l , r)
18529 2 jsauermann
;--     push 2 bytes
18530
;--     call
18531
        CALL    Cprintf
18532
;--     pop 4 bytes
18533
        ADD     SP, #4
18534 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18535
;;;                                                                                         } 44 ExpressionStatement
18536
;;;                                                                                       } 43 case Statement
18537
;;;                                                                                       { 43 break/continue Statement
18538 2 jsauermann
;--     branch
18539 16 jsauermann
        JMP     L36_brk_116
18540 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18541
;;;                                                                                       { 43 case Statement
18542 16 jsauermann
L36_case_116_0074:
18543 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18544
;;;                                                                                           { 45 Expr l(r)
18545
;;;                                                                                             { 46 TypeName
18546
;;;                                                                                               { 47 TypeSpecifier (all)
18547
;;;                                                                                                 spec = int (80000)
18548
;;;                                                                                               } 47 TypeSpecifier (all)
18549
;;;                                                                                               { 47 List
18550
;;;                                                                                                 { 48 DeclItem
18551
;;;                                                                                                   what = DECL_NAME
18552
;;;                                                                                                   name = printf
18553
;;;                                                                                                 } 48 DeclItem
18554
;;;                                                                                               } 47 List
18555
;;;                                                                                             } 46 TypeName
18556
;;;                                                                                             { 46 Expr (l , r)
18557
;;;                                                                                               { 47 ParameterDeclaration
18558
;;;                                                                                                 isEllipsis = true
18559
;;;                                                                                                 { 48 TypeName
18560
;;;                                                                                                   { 49 TypeSpecifier (all)
18561
;;;                                                                                                     spec = const char (20100)
18562
;;;                                                                                                   } 49 TypeSpecifier (all)
18563
;;;                                                                                                   { 49 List
18564
;;;                                                                                                     { 50 DeclItem
18565
;;;                                                                                                       what = DECL_POINTER
18566
;;;                                                                                                       { 51 List
18567
;;;                                                                                                         { 52 Ptr
18568
;;;                                                                                                         } 52 Ptr
18569
;;;                                                                                                       } 51 List
18570
;;;                                                                                                     } 50 DeclItem
18571
;;;                                                                                                     { 50 DeclItem
18572
;;;                                                                                                       what = DECL_NAME
18573
;;;                                                                                                       name = format
18574
;;;                                                                                                     } 50 DeclItem
18575
;;;                                                                                                   } 49 List
18576
;;;                                                                                                 } 48 TypeName
18577
;;;                                                                                               } 47 ParameterDeclaration
18578 2 jsauermann
        IN (IN_TEMPERAT), RU
18579
;--     push_rr (16 bit)
18580
        MOVE    RR, -(SP)
18581 7 jsauermann
;;;                                                                                               { 47 ParameterDeclaration
18582
;;;                                                                                                 isEllipsis = true
18583
;;;                                                                                                 { 48 TypeName
18584
;;;                                                                                                   { 49 TypeSpecifier (all)
18585
;;;                                                                                                     spec = const char (20100)
18586
;;;                                                                                                   } 49 TypeSpecifier (all)
18587
;;;                                                                                                   { 49 List
18588
;;;                                                                                                     { 50 DeclItem
18589
;;;                                                                                                       what = DECL_POINTER
18590
;;;                                                                                                       { 51 List
18591
;;;                                                                                                         { 52 Ptr
18592
;;;                                                                                                         } 52 Ptr
18593
;;;                                                                                                       } 51 List
18594
;;;                                                                                                     } 50 DeclItem
18595
;;;                                                                                                     { 50 DeclItem
18596
;;;                                                                                                       what = DECL_NAME
18597
;;;                                                                                                       name = format
18598
;;;                                                                                                     } 50 DeclItem
18599
;;;                                                                                                   } 49 List
18600
;;;                                                                                                 } 48 TypeName
18601
;;;                                                                                               } 47 ParameterDeclaration
18602
;;;                                                                                               { 47 StringExpression
18603 2 jsauermann
;--     load_rr_string
18604 16 jsauermann
        MOVE    #Cstr_102, RR
18605 7 jsauermann
;;;                                                                                               } 47 StringExpression
18606 2 jsauermann
;--     push_rr (16 bit)
18607
        MOVE    RR, -(SP)
18608 7 jsauermann
;;;                                                                                             } 46 Expr (l , r)
18609 2 jsauermann
;--     push 2 bytes
18610
;--     call
18611
        CALL    Cprintf
18612
;--     pop 4 bytes
18613
        ADD     SP, #4
18614 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18615
;;;                                                                                         } 44 ExpressionStatement
18616
;;;                                                                                       } 43 case Statement
18617
;;;                                                                                       { 43 break/continue Statement
18618 2 jsauermann
;--     branch
18619 16 jsauermann
        JMP     L36_brk_116
18620 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18621
;;;                                                                                       { 43 case Statement
18622 16 jsauermann
L36_case_116_0048:
18623 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18624
;;;                                                                                           { 45 Expr l(r)
18625
;;;                                                                                             { 46 TypeName
18626
;;;                                                                                               { 47 TypeSpecifier (all)
18627
;;;                                                                                                 spec = int (80000)
18628
;;;                                                                                               } 47 TypeSpecifier (all)
18629
;;;                                                                                               { 47 List
18630
;;;                                                                                                 { 48 DeclItem
18631
;;;                                                                                                   what = DECL_NAME
18632
;;;                                                                                                   name = printf
18633
;;;                                                                                                 } 48 DeclItem
18634
;;;                                                                                               } 47 List
18635
;;;                                                                                             } 46 TypeName
18636
;;;                                                                                             { 46 ParameterDeclaration
18637
;;;                                                                                               isEllipsis = true
18638
;;;                                                                                               { 47 TypeName
18639
;;;                                                                                                 { 48 TypeSpecifier (all)
18640
;;;                                                                                                   spec = const char (20100)
18641
;;;                                                                                                 } 48 TypeSpecifier (all)
18642
;;;                                                                                                 { 48 List
18643
;;;                                                                                                   { 49 DeclItem
18644
;;;                                                                                                     what = DECL_POINTER
18645
;;;                                                                                                     { 50 List
18646
;;;                                                                                                       { 51 Ptr
18647
;;;                                                                                                       } 51 Ptr
18648
;;;                                                                                                     } 50 List
18649
;;;                                                                                                   } 49 DeclItem
18650
;;;                                                                                                   { 49 DeclItem
18651
;;;                                                                                                     what = DECL_NAME
18652
;;;                                                                                                     name = format
18653
;;;                                                                                                   } 49 DeclItem
18654
;;;                                                                                                 } 48 List
18655
;;;                                                                                               } 47 TypeName
18656
;;;                                                                                             } 46 ParameterDeclaration
18657
;;;                                                                                             { 46 StringExpression
18658 2 jsauermann
;--     load_rr_string
18659 16 jsauermann
        MOVE    #Cstr_104, RR
18660 7 jsauermann
;;;                                                                                             } 46 StringExpression
18661 2 jsauermann
;--     push_rr (16 bit)
18662
        MOVE    RR, -(SP)
18663
;--     push 2 bytes
18664
;--     call
18665
        CALL    Cprintf
18666
;--     pop 2 bytes
18667
        ADD     SP, #2
18668 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18669
;;;                                                                                         } 44 ExpressionStatement
18670
;;;                                                                                       } 43 case Statement
18671
;;;                                                                                       { 43 while Statement
18672 16 jsauermann
L36_loop_118:
18673 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18674
;;;                                                                                         } 44 ExpressionStatement
18675 16 jsauermann
L36_cont_118:
18676 7 jsauermann
;;;                                                                                         { 44 Expr l < r
18677
;;;                                                                                           { 45 TypeName (internal)
18678
;;;                                                                                             { 46 TypeSpecifier (all)
18679
;;;                                                                                               spec = int (80000)
18680
;;;                                                                                             } 46 TypeSpecifier (all)
18681
;;;                                                                                           } 45 TypeName (internal)
18682 2 jsauermann
;--     load_address tx_sema
18683
        MOVE    #Ctx_sema, RR
18684
;--     + (member)
18685
;--     content
18686
        MOVE    (RR), RR
18687
;--     l < r
18688
        SLT     RR, #0x0010
18689 7 jsauermann
;;;                                                                                         } 44 Expr l < r
18690 2 jsauermann
;--     branch_true
18691 16 jsauermann
        JMP     RRNZ, L36_loop_118
18692
L36_brk_119:
18693 7 jsauermann
;;;                                                                                       } 43 while Statement
18694
;;;                                                                                       { 43 ExpressionStatement
18695 2 jsauermann
        DI
18696 7 jsauermann
;;;                                                                                       } 43 ExpressionStatement
18697
;;;                                                                                       { 43 ExpressionStatement
18698 2 jsauermann
        HALT
18699 7 jsauermann
;;;                                                                                       } 43 ExpressionStatement
18700
;;;                                                                                       { 43 break/continue Statement
18701 2 jsauermann
;--     branch
18702 16 jsauermann
        JMP     L36_brk_116
18703 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18704
;;;                                                                                       { 43 case Statement
18705 16 jsauermann
L36_case_116_0049:
18706 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18707
;;;                                                                                           { 45 Expr l(r)
18708
;;;                                                                                             { 46 TypeName
18709
;;;                                                                                               { 47 TypeSpecifier (all)
18710
;;;                                                                                                 spec = void (10000)
18711
;;;                                                                                               } 47 TypeSpecifier (all)
18712
;;;                                                                                               { 47 List
18713
;;;                                                                                                 { 48 DeclItem
18714
;;;                                                                                                   what = DECL_NAME
18715
;;;                                                                                                   name = load_image
18716
;;;                                                                                                 } 48 DeclItem
18717
;;;                                                                                               } 47 List
18718
;;;                                                                                             } 46 TypeName
18719 2 jsauermann
;--     push 0 bytes
18720
;--     call
18721
        CALL    Cload_image
18722
;--     pop 0 bytes
18723 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18724
;;;                                                                                         } 44 ExpressionStatement
18725
;;;                                                                                       } 43 case Statement
18726
;;;                                                                                       { 43 break/continue Statement
18727 2 jsauermann
;--     branch
18728 16 jsauermann
        JMP     L36_brk_116
18729 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18730
;;;                                                                                       { 43 case Statement
18731 16 jsauermann
L36_case_116_0053:
18732 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18733
;;;                                                                                           { 45 Expr l(r)
18734
;;;                                                                                             { 46 TypeName
18735
;;;                                                                                               { 47 TypeSpecifier (all)
18736
;;;                                                                                                 spec = void (10000)
18737
;;;                                                                                               } 47 TypeSpecifier (all)
18738
;;;                                                                                               { 47 List
18739
;;;                                                                                                 { 48 DeclItem
18740
;;;                                                                                                   what = DECL_NAME
18741
;;;                                                                                                   name = show_semas
18742
;;;                                                                                                 } 48 DeclItem
18743
;;;                                                                                               } 47 List
18744
;;;                                                                                             } 46 TypeName
18745 2 jsauermann
;--     push 0 bytes
18746
;--     call
18747
        CALL    Cshow_semas
18748
;--     pop 0 bytes
18749 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18750
;;;                                                                                         } 44 ExpressionStatement
18751
;;;                                                                                       } 43 case Statement
18752
;;;                                                                                       { 43 break/continue Statement
18753 2 jsauermann
;--     branch
18754 16 jsauermann
        JMP     L36_brk_116
18755 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18756
;;;                                                                                       { 43 case Statement
18757 16 jsauermann
L36_case_116_0054:
18758 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18759
;;;                                                                                           { 45 Expr l(r)
18760
;;;                                                                                             { 46 TypeName
18761
;;;                                                                                               { 47 TypeSpecifier (all)
18762
;;;                                                                                                 spec = void (10000)
18763
;;;                                                                                               } 47 TypeSpecifier (all)
18764
;;;                                                                                               { 47 List
18765
;;;                                                                                                 { 48 DeclItem
18766
;;;                                                                                                   what = DECL_NAME
18767
;;;                                                                                                   name = show_tasks
18768
;;;                                                                                                 } 48 DeclItem
18769
;;;                                                                                               } 47 List
18770
;;;                                                                                             } 46 TypeName
18771 2 jsauermann
;--     push 0 bytes
18772
;--     call
18773
        CALL    Cshow_tasks
18774
;--     pop 0 bytes
18775 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18776
;;;                                                                                         } 44 ExpressionStatement
18777
;;;                                                                                       } 43 case Statement
18778
;;;                                                                                       { 43 break/continue Statement
18779 2 jsauermann
;--     branch
18780 16 jsauermann
        JMP     L36_brk_116
18781 7 jsauermann
;;;                                                                                       } 43 break/continue Statement
18782
;;;                                                                                       { 43 case Statement
18783 16 jsauermann
L36_deflt_116:
18784 7 jsauermann
;;;                                                                                         { 44 ExpressionStatement
18785
;;;                                                                                           { 45 Expr l(r)
18786
;;;                                                                                             { 46 TypeName
18787
;;;                                                                                               { 47 TypeSpecifier (all)
18788
;;;                                                                                                 spec = int (80000)
18789
;;;                                                                                               } 47 TypeSpecifier (all)
18790
;;;                                                                                               { 47 List
18791
;;;                                                                                                 { 48 DeclItem
18792
;;;                                                                                                   what = DECL_NAME
18793
;;;                                                                                                   name = printf
18794
;;;                                                                                                 } 48 DeclItem
18795
;;;                                                                                               } 47 List
18796
;;;                                                                                             } 46 TypeName
18797
;;;                                                                                             { 46 ParameterDeclaration
18798
;;;                                                                                               isEllipsis = true
18799
;;;                                                                                               { 47 TypeName
18800
;;;                                                                                                 { 48 TypeSpecifier (all)
18801
;;;                                                                                                   spec = const char (20100)
18802
;;;                                                                                                 } 48 TypeSpecifier (all)
18803
;;;                                                                                                 { 48 List
18804
;;;                                                                                                   { 49 DeclItem
18805
;;;                                                                                                     what = DECL_POINTER
18806
;;;                                                                                                     { 50 List
18807
;;;                                                                                                       { 51 Ptr
18808
;;;                                                                                                       } 51 Ptr
18809
;;;                                                                                                     } 50 List
18810
;;;                                                                                                   } 49 DeclItem
18811
;;;                                                                                                   { 49 DeclItem
18812
;;;                                                                                                     what = DECL_NAME
18813
;;;                                                                                                     name = format
18814
;;;                                                                                                   } 49 DeclItem
18815
;;;                                                                                                 } 48 List
18816
;;;                                                                                               } 47 TypeName
18817
;;;                                                                                             } 46 ParameterDeclaration
18818
;;;                                                                                             { 46 StringExpression
18819 2 jsauermann
;--     load_rr_string
18820 16 jsauermann
        MOVE    #Cstr_107, RR
18821 7 jsauermann
;;;                                                                                             } 46 StringExpression
18822 2 jsauermann
;--     push_rr (16 bit)
18823
        MOVE    RR, -(SP)
18824
;--     push 2 bytes
18825
;--     call
18826
        CALL    Cprintf
18827
;--     pop 2 bytes
18828
        ADD     SP, #2
18829 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
18830
;;;                                                                                         } 44 ExpressionStatement
18831
;;;                                                                                       } 43 case Statement
18832
;;;                                                                                     } 42 List
18833
;--     pop 0 bytes
18834
;;;                                                                                   } 41 CompoundStatement
18835 16 jsauermann
L36_brk_116:
18836 7 jsauermann
;;;                                                                                 } 40 SwitchStatement
18837
;;;                                                                                 { 40 ExpressionStatement
18838
;;;                                                                                   { 41 Expr l(r)
18839
;;;                                                                                     { 42 TypeName
18840
;;;                                                                                       { 43 TypeSpecifier (all)
18841
;;;                                                                                         spec = void (10000)
18842
;;;                                                                                       } 43 TypeSpecifier (all)
18843
;;;                                                                                       { 43 List
18844
;;;                                                                                         { 44 DeclItem
18845
;;;                                                                                           what = DECL_NAME
18846
;;;                                                                                           name = V
18847
;;;                                                                                         } 44 DeclItem
18848
;;;                                                                                       } 43 List
18849
;;;                                                                                     } 42 TypeName
18850
;;;                                                                                     { 42 ParameterDeclaration
18851
;;;                                                                                       isEllipsis = false
18852
;;;                                                                                       { 43 TypeName
18853
;;;                                                                                         { 44 TypeSpecifier (struct/union)
18854
;;;                                                                                           spec = struct '_semaphore' (800000)
18855
;;;                                                                                           name = _semaphore
18856
;;;                                                                                         } 44 TypeSpecifier (struct/union)
18857
;;;                                                                                         { 44 List
18858
;;;                                                                                           { 45 DeclItem
18859
;;;                                                                                             what = DECL_POINTER
18860
;;;                                                                                             { 46 List
18861
;;;                                                                                               { 47 Ptr
18862
;;;                                                                                               } 47 Ptr
18863
;;;                                                                                             } 46 List
18864
;;;                                                                                           } 45 DeclItem
18865
;;;                                                                                           { 45 DeclItem
18866
;;;                                                                                             what = DECL_NAME
18867
;;;                                                                                             name = sema
18868
;;;                                                                                           } 45 DeclItem
18869
;;;                                                                                         } 44 List
18870
;;;                                                                                       } 43 TypeName
18871
;;;                                                                                     } 42 ParameterDeclaration
18872
;;;                                                                                     { 42 Expr & r
18873 2 jsauermann
;--     load_address serial_out
18874
        MOVE    #Cserial_out, RR
18875 7 jsauermann
;;;                                                                                     } 42 Expr & r
18876 2 jsauermann
;--     push_rr (16 bit)
18877
        MOVE    RR, -(SP)
18878
;--     push 0 bytes
18879
;--     call
18880
        CALL    CV
18881
;--     pop 2 bytes
18882
        ADD     SP, #2
18883 7 jsauermann
;;;                                                                                   } 41 Expr l(r)
18884
;;;                                                                                 } 40 ExpressionStatement
18885
;;;                                                                               } 39 List
18886
;--     pop 0 bytes
18887
;;;                                                                             } 38 CompoundStatement
18888 16 jsauermann
L36_cont_113:
18889 2 jsauermann
;--     branch
18890 16 jsauermann
        JMP     L36_loop_113
18891
L36_brk_114:
18892 7 jsauermann
;;;                                                                           } 37 for Statement
18893
;;;                                                                         } 36 List
18894 2 jsauermann
;--     pop 7 bytes
18895
        ADD     SP, #7
18896 7 jsauermann
;;;                                                                       } 35 CompoundStatement
18897
;--     ret
18898 2 jsauermann
        RET
18899
;;; ------------------------------------;
18900 7 jsauermann
;;;                                                                       { 35 FunctionDefinition
18901
;;;                                                                         { 36 TypeName
18902
;;;                                                                           { 37 TypeSpecifier (all)
18903
;;;                                                                             spec = void (10000)
18904
;;;                                                                           } 37 TypeSpecifier (all)
18905
;;;                                                                           { 37 List
18906
;;;                                                                             { 38 DeclItem
18907
;;;                                                                               what = DECL_NAME
18908
;;;                                                                               name = main_2
18909
;;;                                                                             } 38 DeclItem
18910
;;;                                                                           } 37 List
18911
;;;                                                                         } 36 TypeName
18912
;;;                                                                         { 36 List
18913
;;;                                                                           { 37 DeclItem
18914
;;;                                                                             what = DECL_NAME
18915
;;;                                                                             name = main_2
18916
;;;                                                                           } 37 DeclItem
18917
;;;                                                                           { 37 DeclItem
18918
;;;                                                                             what = DECL_FUN
18919
;;;                                                                           } 37 DeclItem
18920
;;;                                                                         } 36 List
18921 2 jsauermann
Cmain_2:
18922 7 jsauermann
;;;                                                                         { 36 CompoundStatement
18923
;;;                                                                           { 37 InitDeclarator
18924
;;;                                                                             { 38 List
18925
;;;                                                                               { 39 DeclItem
18926
;;;                                                                                 what = DECL_NAME
18927
;;;                                                                                 name = all_value
18928
;;;                                                                               } 39 DeclItem
18929
;;;                                                                             } 38 List
18930 2 jsauermann
;--     push_zero 2 bytes
18931
        CLRW    -(SP)
18932 7 jsauermann
;;;                                                                           } 37 InitDeclarator
18933
;;;                                                                           { 37 InitDeclarator
18934
;;;                                                                             { 38 List
18935
;;;                                                                               { 39 DeclItem
18936
;;;                                                                                 what = DECL_NAME
18937
;;;                                                                                 name = halt_value
18938
;;;                                                                               } 39 DeclItem
18939
;;;                                                                             } 38 List
18940 2 jsauermann
;--     push_zero 2 bytes
18941
        CLRW    -(SP)
18942 7 jsauermann
;;;                                                                           } 37 InitDeclarator
18943
;;;                                                                           { 37 InitDeclarator
18944
;;;                                                                             { 38 List
18945
;;;                                                                               { 39 DeclItem
18946
;;;                                                                                 what = DECL_NAME
18947
;;;                                                                                 name = all_total
18948
;;;                                                                               } 39 DeclItem
18949
;;;                                                                             } 38 List
18950 2 jsauermann
;--     push_zero 2 bytes
18951
        CLRW    -(SP)
18952 7 jsauermann
;;;                                                                           } 37 InitDeclarator
18953
;;;                                                                           { 37 InitDeclarator
18954
;;;                                                                             { 38 List
18955
;;;                                                                               { 39 DeclItem
18956
;;;                                                                                 what = DECL_NAME
18957
;;;                                                                                 name = halt_total
18958
;;;                                                                               } 39 DeclItem
18959
;;;                                                                             } 38 List
18960 2 jsauermann
;--     push_zero 2 bytes
18961
        CLRW    -(SP)
18962 7 jsauermann
;;;                                                                           } 37 InitDeclarator
18963
;;;                                                                           { 37 InitDeclarator
18964
;;;                                                                             { 38 List
18965
;;;                                                                               { 39 DeclItem
18966
;;;                                                                                 what = DECL_NAME
18967
;;;                                                                                 name = n
18968
;;;                                                                               } 39 DeclItem
18969
;;;                                                                             } 38 List
18970 2 jsauermann
;--     push_zero 2 bytes
18971
        CLRW    -(SP)
18972 7 jsauermann
;;;                                                                           } 37 InitDeclarator
18973
;;;                                                                           { 37 InitDeclarator
18974
;;;                                                                             { 38 List
18975
;;;                                                                               { 39 DeclItem
18976
;;;                                                                                 what = DECL_NAME
18977
;;;                                                                                 name = idle
18978
;;;                                                                               } 39 DeclItem
18979
;;;                                                                             } 38 List
18980 2 jsauermann
;--     push_zero 2 bytes
18981
        CLRW    -(SP)
18982 7 jsauermann
;;;                                                                           } 37 InitDeclarator
18983
;;;                                                                           { 37 List
18984
;;;                                                                             { 38 ExpressionStatement
18985 16 jsauermann
        EI
18986
;;;                                                                             } 38 ExpressionStatement
18987
;;;                                                                             { 38 ExpressionStatement
18988 7 jsauermann
;;;                                                                               { 39 Expr l(r)
18989
;;;                                                                                 { 40 TypeName
18990
;;;                                                                                   { 41 TypeSpecifier (all)
18991
;;;                                                                                     spec = void (10000)
18992
;;;                                                                                   } 41 TypeSpecifier (all)
18993
;;;                                                                                   { 41 List
18994
;;;                                                                                     { 42 DeclItem
18995
;;;                                                                                       what = DECL_NAME
18996
;;;                                                                                       name = init_stack
18997
;;;                                                                                     } 42 DeclItem
18998
;;;                                                                                   } 41 List
18999
;;;                                                                                 } 40 TypeName
19000 2 jsauermann
;--     push 0 bytes
19001
;--     call
19002
        CALL    Cinit_stack
19003
;--     pop 0 bytes
19004 7 jsauermann
;;;                                                                               } 39 Expr l(r)
19005
;;;                                                                             } 38 ExpressionStatement
19006
;;;                                                                             { 38 for Statement
19007
;;;                                                                               { 39 ExpressionStatement
19008
;;;                                                                               } 39 ExpressionStatement
19009 16 jsauermann
L37_loop_120:
19010 7 jsauermann
;;;                                                                               { 39 CompoundStatement
19011
;;;                                                                                 { 40 List
19012
;;;                                                                                   { 41 ExpressionStatement
19013
;;;                                                                                     { 42 Expr l(r)
19014
;;;                                                                                       { 43 TypeName
19015
;;;                                                                                         { 44 TypeSpecifier (all)
19016
;;;                                                                                           spec = void (10000)
19017
;;;                                                                                         } 44 TypeSpecifier (all)
19018
;;;                                                                                         { 44 List
19019
;;;                                                                                           { 45 DeclItem
19020
;;;                                                                                             what = DECL_NAME
19021
;;;                                                                                             name = P
19022
;;;                                                                                           } 45 DeclItem
19023
;;;                                                                                         } 44 List
19024
;;;                                                                                       } 43 TypeName
19025
;;;                                                                                       { 43 ParameterDeclaration
19026
;;;                                                                                         isEllipsis = false
19027
;;;                                                                                         { 44 TypeName
19028
;;;                                                                                           { 45 TypeSpecifier (struct/union)
19029
;;;                                                                                             spec = struct '_semaphore' (800000)
19030
;;;                                                                                             name = _semaphore
19031
;;;                                                                                           } 45 TypeSpecifier (struct/union)
19032
;;;                                                                                           { 45 List
19033
;;;                                                                                             { 46 DeclItem
19034
;;;                                                                                               what = DECL_POINTER
19035
;;;                                                                                               { 47 List
19036
;;;                                                                                                 { 48 Ptr
19037
;;;                                                                                                 } 48 Ptr
19038
;;;                                                                                               } 47 List
19039
;;;                                                                                             } 46 DeclItem
19040
;;;                                                                                             { 46 DeclItem
19041
;;;                                                                                               what = DECL_NAME
19042
;;;                                                                                               name = sema
19043
;;;                                                                                             } 46 DeclItem
19044
;;;                                                                                           } 45 List
19045
;;;                                                                                         } 44 TypeName
19046
;;;                                                                                       } 43 ParameterDeclaration
19047
;;;                                                                                       { 43 Expr & r
19048 2 jsauermann
;--     load_address t2_control
19049
        MOVE    #Ct2_control, RR
19050 7 jsauermann
;;;                                                                                       } 43 Expr & r
19051 2 jsauermann
;--     push_rr (16 bit)
19052
        MOVE    RR, -(SP)
19053
;--     push 0 bytes
19054
;--     call
19055
        CALL    CP
19056
;--     pop 2 bytes
19057
        ADD     SP, #2
19058 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19059
;;;                                                                                   } 41 ExpressionStatement
19060
;;;                                                                                   { 41 ExpressionStatement
19061
;;;                                                                                     { 42 Expr l = r
19062
;;;                                                                                       { 43 TypeName
19063
;;;                                                                                         { 44 TypeSpecifier (all)
19064
;;;                                                                                           spec = unsigned int (82000)
19065
;;;                                                                                         } 44 TypeSpecifier (all)
19066
;;;                                                                                         { 44 List
19067
;;;                                                                                           { 45 DeclItem
19068
;;;                                                                                             what = DECL_NAME
19069
;;;                                                                                             name = all_value
19070
;;;                                                                                           } 45 DeclItem
19071
;;;                                                                                         } 44 List
19072
;;;                                                                                       } 43 TypeName
19073
;;;                                                                                       { 43 NumericExpression (constant 0 = 0x0)
19074 2 jsauermann
;--     load_rr_constant
19075
        MOVE    #0x0000, RR
19076 7 jsauermann
;;;                                                                                       } 43 NumericExpression (constant 0 = 0x0)
19077 2 jsauermann
;--     store_rr_var all_value = -2(FP), SP at -12
19078
        MOVE    RR, 10(SP)
19079 7 jsauermann
;;;                                                                                     } 42 Expr l = r
19080
;;;                                                                                   } 41 ExpressionStatement
19081
;;;                                                                                   { 41 ExpressionStatement
19082
;;;                                                                                     { 42 Expr l = r
19083
;;;                                                                                       { 43 TypeName
19084
;;;                                                                                         { 44 TypeSpecifier (all)
19085
;;;                                                                                           spec = unsigned int (82000)
19086
;;;                                                                                         } 44 TypeSpecifier (all)
19087
;;;                                                                                         { 44 List
19088
;;;                                                                                           { 45 DeclItem
19089
;;;                                                                                             what = DECL_NAME
19090
;;;                                                                                             name = halt_value
19091
;;;                                                                                           } 45 DeclItem
19092
;;;                                                                                         } 44 List
19093
;;;                                                                                       } 43 TypeName
19094
;;;                                                                                       { 43 NumericExpression (constant 0 = 0x0)
19095 2 jsauermann
;--     load_rr_constant
19096
        MOVE    #0x0000, RR
19097 7 jsauermann
;;;                                                                                       } 43 NumericExpression (constant 0 = 0x0)
19098 2 jsauermann
;--     store_rr_var halt_value = -4(FP), SP at -12
19099
        MOVE    RR, 8(SP)
19100 7 jsauermann
;;;                                                                                     } 42 Expr l = r
19101
;;;                                                                                   } 41 ExpressionStatement
19102
;;;                                                                                   { 41 ExpressionStatement
19103
;;;                                                                                     { 42 Expr l = r
19104
;;;                                                                                       { 43 TypeName
19105
;;;                                                                                         { 44 TypeSpecifier (all)
19106
;;;                                                                                           spec = unsigned int (82000)
19107
;;;                                                                                         } 44 TypeSpecifier (all)
19108
;;;                                                                                         { 44 List
19109
;;;                                                                                           { 45 DeclItem
19110
;;;                                                                                             what = DECL_NAME
19111
;;;                                                                                             name = all_total
19112
;;;                                                                                           } 45 DeclItem
19113
;;;                                                                                         } 44 List
19114
;;;                                                                                       } 43 TypeName
19115
;;;                                                                                       { 43 NumericExpression (constant 0 = 0x0)
19116 2 jsauermann
;--     load_rr_constant
19117
        MOVE    #0x0000, RR
19118 7 jsauermann
;;;                                                                                       } 43 NumericExpression (constant 0 = 0x0)
19119 2 jsauermann
;--     store_rr_var all_total = -6(FP), SP at -12
19120
        MOVE    RR, 6(SP)
19121 7 jsauermann
;;;                                                                                     } 42 Expr l = r
19122
;;;                                                                                   } 41 ExpressionStatement
19123
;;;                                                                                   { 41 ExpressionStatement
19124
;;;                                                                                     { 42 Expr l = r
19125
;;;                                                                                       { 43 TypeName
19126
;;;                                                                                         { 44 TypeSpecifier (all)
19127
;;;                                                                                           spec = unsigned int (82000)
19128
;;;                                                                                         } 44 TypeSpecifier (all)
19129
;;;                                                                                         { 44 List
19130
;;;                                                                                           { 45 DeclItem
19131
;;;                                                                                             what = DECL_NAME
19132
;;;                                                                                             name = halt_total
19133
;;;                                                                                           } 45 DeclItem
19134
;;;                                                                                         } 44 List
19135
;;;                                                                                       } 43 TypeName
19136
;;;                                                                                       { 43 NumericExpression (constant 0 = 0x0)
19137 2 jsauermann
;--     load_rr_constant
19138
        MOVE    #0x0000, RR
19139 7 jsauermann
;;;                                                                                       } 43 NumericExpression (constant 0 = 0x0)
19140 2 jsauermann
;--     store_rr_var halt_total = -8(FP), SP at -12
19141
        MOVE    RR, 4(SP)
19142 7 jsauermann
;;;                                                                                     } 42 Expr l = r
19143
;;;                                                                                   } 41 ExpressionStatement
19144
;;;                                                                                   { 41 ExpressionStatement
19145
;;;                                                                                     { 42 Expr l(r)
19146
;;;                                                                                       { 43 TypeName
19147
;;;                                                                                         { 44 TypeSpecifier (all)
19148
;;;                                                                                           spec = void (10000)
19149
;;;                                                                                         } 44 TypeSpecifier (all)
19150
;;;                                                                                         { 44 List
19151
;;;                                                                                           { 45 DeclItem
19152
;;;                                                                                             what = DECL_NAME
19153
;;;                                                                                             name = P
19154
;;;                                                                                           } 45 DeclItem
19155
;;;                                                                                         } 44 List
19156
;;;                                                                                       } 43 TypeName
19157
;;;                                                                                       { 43 ParameterDeclaration
19158
;;;                                                                                         isEllipsis = false
19159
;;;                                                                                         { 44 TypeName
19160
;;;                                                                                           { 45 TypeSpecifier (struct/union)
19161
;;;                                                                                             spec = struct '_semaphore' (800000)
19162
;;;                                                                                             name = _semaphore
19163
;;;                                                                                           } 45 TypeSpecifier (struct/union)
19164
;;;                                                                                           { 45 List
19165
;;;                                                                                             { 46 DeclItem
19166
;;;                                                                                               what = DECL_POINTER
19167
;;;                                                                                               { 47 List
19168
;;;                                                                                                 { 48 Ptr
19169
;;;                                                                                                 } 48 Ptr
19170
;;;                                                                                               } 47 List
19171
;;;                                                                                             } 46 DeclItem
19172
;;;                                                                                             { 46 DeclItem
19173
;;;                                                                                               what = DECL_NAME
19174
;;;                                                                                               name = sema
19175
;;;                                                                                             } 46 DeclItem
19176
;;;                                                                                           } 45 List
19177
;;;                                                                                         } 44 TypeName
19178
;;;                                                                                       } 43 ParameterDeclaration
19179
;;;                                                                                       { 43 Expr & r
19180 2 jsauermann
;--     load_address serial_out
19181
        MOVE    #Cserial_out, RR
19182 7 jsauermann
;;;                                                                                       } 43 Expr & r
19183 2 jsauermann
;--     push_rr (16 bit)
19184
        MOVE    RR, -(SP)
19185
;--     push 0 bytes
19186
;--     call
19187
        CALL    CP
19188
;--     pop 2 bytes
19189
        ADD     SP, #2
19190 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19191
;;;                                                                                   } 41 ExpressionStatement
19192
;;;                                                                                   { 41 ExpressionStatement
19193
;;;                                                                                     { 42 Expr l(r)
19194
;;;                                                                                       { 43 TypeName
19195
;;;                                                                                         { 44 TypeSpecifier (all)
19196
;;;                                                                                           spec = int (80000)
19197
;;;                                                                                         } 44 TypeSpecifier (all)
19198
;;;                                                                                         { 44 List
19199
;;;                                                                                           { 45 DeclItem
19200
;;;                                                                                             what = DECL_NAME
19201
;;;                                                                                             name = printf
19202
;;;                                                                                           } 45 DeclItem
19203
;;;                                                                                         } 44 List
19204
;;;                                                                                       } 43 TypeName
19205
;;;                                                                                       { 43 ParameterDeclaration
19206
;;;                                                                                         isEllipsis = true
19207
;;;                                                                                         { 44 TypeName
19208
;;;                                                                                           { 45 TypeSpecifier (all)
19209
;;;                                                                                             spec = const char (20100)
19210
;;;                                                                                           } 45 TypeSpecifier (all)
19211
;;;                                                                                           { 45 List
19212
;;;                                                                                             { 46 DeclItem
19213
;;;                                                                                               what = DECL_POINTER
19214
;;;                                                                                               { 47 List
19215
;;;                                                                                                 { 48 Ptr
19216
;;;                                                                                                 } 48 Ptr
19217
;;;                                                                                               } 47 List
19218
;;;                                                                                             } 46 DeclItem
19219
;;;                                                                                             { 46 DeclItem
19220
;;;                                                                                               what = DECL_NAME
19221
;;;                                                                                               name = format
19222
;;;                                                                                             } 46 DeclItem
19223
;;;                                                                                           } 45 List
19224
;;;                                                                                         } 44 TypeName
19225
;;;                                                                                       } 43 ParameterDeclaration
19226
;;;                                                                                       { 43 StringExpression
19227 2 jsauermann
;--     load_rr_string
19228 16 jsauermann
        MOVE    #Cstr_123, RR
19229 7 jsauermann
;;;                                                                                       } 43 StringExpression
19230 2 jsauermann
;--     push_rr (16 bit)
19231
        MOVE    RR, -(SP)
19232
;--     push 2 bytes
19233
;--     call
19234
        CALL    Cprintf
19235
;--     pop 2 bytes
19236
        ADD     SP, #2
19237 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19238
;;;                                                                                   } 41 ExpressionStatement
19239
;;;                                                                                   { 41 ExpressionStatement
19240
;;;                                                                                     { 42 Expr l(r)
19241
;;;                                                                                       { 43 TypeName
19242
;;;                                                                                         { 44 TypeSpecifier (all)
19243
;;;                                                                                           spec = void (10000)
19244
;;;                                                                                         } 44 TypeSpecifier (all)
19245
;;;                                                                                         { 44 List
19246
;;;                                                                                           { 45 DeclItem
19247
;;;                                                                                             what = DECL_NAME
19248
;;;                                                                                             name = V
19249
;;;                                                                                           } 45 DeclItem
19250
;;;                                                                                         } 44 List
19251
;;;                                                                                       } 43 TypeName
19252
;;;                                                                                       { 43 ParameterDeclaration
19253
;;;                                                                                         isEllipsis = false
19254
;;;                                                                                         { 44 TypeName
19255
;;;                                                                                           { 45 TypeSpecifier (struct/union)
19256
;;;                                                                                             spec = struct '_semaphore' (800000)
19257
;;;                                                                                             name = _semaphore
19258
;;;                                                                                           } 45 TypeSpecifier (struct/union)
19259
;;;                                                                                           { 45 List
19260
;;;                                                                                             { 46 DeclItem
19261
;;;                                                                                               what = DECL_POINTER
19262
;;;                                                                                               { 47 List
19263
;;;                                                                                                 { 48 Ptr
19264
;;;                                                                                                 } 48 Ptr
19265
;;;                                                                                               } 47 List
19266
;;;                                                                                             } 46 DeclItem
19267
;;;                                                                                             { 46 DeclItem
19268
;;;                                                                                               what = DECL_NAME
19269
;;;                                                                                               name = sema
19270
;;;                                                                                             } 46 DeclItem
19271
;;;                                                                                           } 45 List
19272
;;;                                                                                         } 44 TypeName
19273
;;;                                                                                       } 43 ParameterDeclaration
19274
;;;                                                                                       { 43 Expr & r
19275 2 jsauermann
;--     load_address serial_out
19276
        MOVE    #Cserial_out, RR
19277 7 jsauermann
;;;                                                                                       } 43 Expr & r
19278 2 jsauermann
;--     push_rr (16 bit)
19279
        MOVE    RR, -(SP)
19280
;--     push 0 bytes
19281
;--     call
19282
        CALL    CV
19283
;--     pop 2 bytes
19284
        ADD     SP, #2
19285 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19286
;;;                                                                                   } 41 ExpressionStatement
19287
;;;                                                                                   { 41 ExpressionStatement
19288
;;;                                                                                     { 42 Expr l(r)
19289
;;;                                                                                       { 43 TypeName
19290
;;;                                                                                         { 44 TypeSpecifier (all)
19291
;;;                                                                                           spec = void (10000)
19292
;;;                                                                                         } 44 TypeSpecifier (all)
19293
;;;                                                                                         { 44 List
19294
;;;                                                                                           { 45 DeclItem
19295
;;;                                                                                             what = DECL_NAME
19296
;;;                                                                                             name = V
19297
;;;                                                                                           } 45 DeclItem
19298
;;;                                                                                         } 44 List
19299
;;;                                                                                       } 43 TypeName
19300
;;;                                                                                       { 43 ParameterDeclaration
19301
;;;                                                                                         isEllipsis = false
19302
;;;                                                                                         { 44 TypeName
19303
;;;                                                                                           { 45 TypeSpecifier (struct/union)
19304
;;;                                                                                             spec = struct '_semaphore' (800000)
19305
;;;                                                                                             name = _semaphore
19306
;;;                                                                                           } 45 TypeSpecifier (struct/union)
19307
;;;                                                                                           { 45 List
19308
;;;                                                                                             { 46 DeclItem
19309
;;;                                                                                               what = DECL_POINTER
19310
;;;                                                                                               { 47 List
19311
;;;                                                                                                 { 48 Ptr
19312
;;;                                                                                                 } 48 Ptr
19313
;;;                                                                                               } 47 List
19314
;;;                                                                                             } 46 DeclItem
19315
;;;                                                                                             { 46 DeclItem
19316
;;;                                                                                               what = DECL_NAME
19317
;;;                                                                                               name = sema
19318
;;;                                                                                             } 46 DeclItem
19319
;;;                                                                                           } 45 List
19320
;;;                                                                                         } 44 TypeName
19321
;;;                                                                                       } 43 ParameterDeclaration
19322
;;;                                                                                       { 43 Expr & r
19323 2 jsauermann
;--     load_address t3_control
19324
        MOVE    #Ct3_control, RR
19325 7 jsauermann
;;;                                                                                       } 43 Expr & r
19326 2 jsauermann
;--     push_rr (16 bit)
19327
        MOVE    RR, -(SP)
19328
;--     push 0 bytes
19329
;--     call
19330
        CALL    CV
19331
;--     pop 2 bytes
19332
        ADD     SP, #2
19333 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19334
;;;                                                                                   } 41 ExpressionStatement
19335
;;;                                                                                   { 41 for Statement
19336
;;;                                                                                     { 42 ExpressionStatement
19337
;;;                                                                                       { 43 Expr l = r
19338
;;;                                                                                         { 44 TypeName
19339
;;;                                                                                           { 45 TypeSpecifier (all)
19340
;;;                                                                                             spec = int (80000)
19341
;;;                                                                                           } 45 TypeSpecifier (all)
19342
;;;                                                                                           { 45 List
19343
;;;                                                                                             { 46 DeclItem
19344
;;;                                                                                               what = DECL_NAME
19345
;;;                                                                                               name = n
19346
;;;                                                                                             } 46 DeclItem
19347
;;;                                                                                           } 45 List
19348
;;;                                                                                         } 44 TypeName
19349
;;;                                                                                         { 44 NumericExpression (constant 0 = 0x0)
19350 2 jsauermann
;--     load_rr_constant
19351
        MOVE    #0x0000, RR
19352 7 jsauermann
;;;                                                                                         } 44 NumericExpression (constant 0 = 0x0)
19353 2 jsauermann
;--     store_rr_var n = -10(FP), SP at -12
19354
        MOVE    RR, 2(SP)
19355 7 jsauermann
;;;                                                                                       } 43 Expr l = r
19356
;;;                                                                                     } 42 ExpressionStatement
19357 2 jsauermann
;--     branch
19358 16 jsauermann
        JMP     L37_tst_122
19359
L37_loop_122:
19360 7 jsauermann
;;;                                                                                     { 42 CompoundStatement
19361
;;;                                                                                       { 43 List
19362
;;;                                                                                         { 44 ExpressionStatement
19363
;;;                                                                                           { 45 Expr l(r)
19364
;;;                                                                                             { 46 TypeName
19365
;;;                                                                                               { 47 TypeSpecifier (all)
19366
;;;                                                                                                 spec = void (10000)
19367
;;;                                                                                               } 47 TypeSpecifier (all)
19368
;;;                                                                                               { 47 List
19369
;;;                                                                                                 { 48 DeclItem
19370
;;;                                                                                                   what = DECL_NAME
19371
;;;                                                                                                   name = sleep
19372
;;;                                                                                                 } 48 DeclItem
19373
;;;                                                                                               } 47 List
19374
;;;                                                                                             } 46 TypeName
19375
;;;                                                                                             { 46 ParameterDeclaration
19376
;;;                                                                                               isEllipsis = false
19377
;;;                                                                                               { 47 TypeName
19378
;;;                                                                                                 { 48 TypeSpecifier (all)
19379
;;;                                                                                                   spec = int (80000)
19380
;;;                                                                                                 } 48 TypeSpecifier (all)
19381
;;;                                                                                                 { 48 List
19382
;;;                                                                                                   { 49 DeclItem
19383
;;;                                                                                                     what = DECL_NAME
19384
;;;                                                                                                     name = millisecs
19385
;;;                                                                                                   } 49 DeclItem
19386
;;;                                                                                                 } 48 List
19387
;;;                                                                                               } 47 TypeName
19388
;;;                                                                                             } 46 ParameterDeclaration
19389
;;;                                                                                             { 46 NumericExpression (constant 1 = 0x1)
19390 2 jsauermann
;--     load_rr_constant
19391
        MOVE    #0x0001, RR
19392 7 jsauermann
;;;                                                                                             } 46 NumericExpression (constant 1 = 0x1)
19393 2 jsauermann
;--     push_rr (16 bit)
19394
        MOVE    RR, -(SP)
19395
;--     push 0 bytes
19396
;--     call
19397
        CALL    Csleep
19398
;--     pop 2 bytes
19399
        ADD     SP, #2
19400 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
19401
;;;                                                                                         } 44 ExpressionStatement
19402
;;;                                                                                         { 44 ExpressionStatement
19403
;;;                                                                                           { 45 NumericExpression (constant 0 = 0x0)
19404 2 jsauermann
;--     load_rr_constant
19405
        MOVE    #0x0000, RR
19406 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 0 = 0x0)
19407
;;;                                                                                         } 44 ExpressionStatement
19408
;;;                                                                                         { 44 ExpressionStatement
19409 2 jsauermann
        OUT  R, (OUT_START_CLK_CTR)
19410 7 jsauermann
;;;                                                                                         } 44 ExpressionStatement
19411
;;;                                                                                         { 44 ExpressionStatement
19412
;;;                                                                                           { 45 Expr l(r)
19413
;;;                                                                                             { 46 TypeName
19414
;;;                                                                                               { 47 TypeSpecifier (all)
19415
;;;                                                                                                 spec = void (10000)
19416
;;;                                                                                               } 47 TypeSpecifier (all)
19417
;;;                                                                                               { 47 List
19418
;;;                                                                                                 { 48 DeclItem
19419
;;;                                                                                                   what = DECL_NAME
19420
;;;                                                                                                   name = sleep
19421
;;;                                                                                                 } 48 DeclItem
19422
;;;                                                                                               } 47 List
19423
;;;                                                                                             } 46 TypeName
19424
;;;                                                                                             { 46 ParameterDeclaration
19425
;;;                                                                                               isEllipsis = false
19426
;;;                                                                                               { 47 TypeName
19427
;;;                                                                                                 { 48 TypeSpecifier (all)
19428
;;;                                                                                                   spec = int (80000)
19429
;;;                                                                                                 } 48 TypeSpecifier (all)
19430
;;;                                                                                                 { 48 List
19431
;;;                                                                                                   { 49 DeclItem
19432
;;;                                                                                                     what = DECL_NAME
19433
;;;                                                                                                     name = millisecs
19434
;;;                                                                                                   } 49 DeclItem
19435
;;;                                                                                                 } 48 List
19436
;;;                                                                                               } 47 TypeName
19437
;;;                                                                                             } 46 ParameterDeclaration
19438
;;;                                                                                             { 46 NumericExpression (constant 1 = 0x1)
19439 2 jsauermann
;--     load_rr_constant
19440
        MOVE    #0x0001, RR
19441 7 jsauermann
;;;                                                                                             } 46 NumericExpression (constant 1 = 0x1)
19442 2 jsauermann
;--     push_rr (16 bit)
19443
        MOVE    RR, -(SP)
19444
;--     push 0 bytes
19445
;--     call
19446
        CALL    Csleep
19447
;--     pop 2 bytes
19448
        ADD     SP, #2
19449 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
19450
;;;                                                                                         } 44 ExpressionStatement
19451
;;;                                                                                         { 44 ExpressionStatement
19452 2 jsauermann
        OUT  R, (OUT_STOP_CLK_CTR)
19453 7 jsauermann
;;;                                                                                         } 44 ExpressionStatement
19454
;;;                                                                                         { 44 ExpressionStatement
19455
;;;                                                                                           { 45 Expr l += r
19456
;;;                                                                                             { 46 TypeName
19457
;;;                                                                                               { 47 TypeSpecifier (all)
19458
;;;                                                                                                 spec = unsigned int (82000)
19459
;;;                                                                                               } 47 TypeSpecifier (all)
19460
;;;                                                                                               { 47 List
19461
;;;                                                                                                 { 48 DeclItem
19462
;;;                                                                                                   what = DECL_NAME
19463
;;;                                                                                                   name = all_value
19464
;;;                                                                                                 } 48 DeclItem
19465
;;;                                                                                               } 47 List
19466
;;;                                                                                             } 46 TypeName
19467
;;;                                                                                             { 46 Expr l + r
19468
;;;                                                                                               { 47 Expr l | r
19469
;;;                                                                                                 { 48 TypeName (internal)
19470
;;;                                                                                                   { 49 TypeSpecifier (all)
19471
;;;                                                                                                     spec = int (80000)
19472
;;;                                                                                                   } 49 TypeSpecifier (all)
19473
;;;                                                                                                 } 48 TypeName (internal)
19474
;;;                                                                                                 { 48 Expr l << r
19475
;;;                                                                                                   { 49 TypeName (internal)
19476
;;;                                                                                                     { 50 TypeSpecifier (all)
19477
;;;                                                                                                       spec = int (80000)
19478
;;;                                                                                                     } 50 TypeSpecifier (all)
19479
;;;                                                                                                   } 49 TypeName (internal)
19480 2 jsauermann
        IN   (IN_CLK_CTR_HIGH), RU
19481
;--     l << r
19482
        LSL     RR, #0x0008
19483 7 jsauermann
;;;                                                                                                 } 48 Expr l << r
19484 2 jsauermann
;--     push_rr (16 bit)
19485
        MOVE    RR, -(SP)
19486
        IN   (IN_CLK_CTR_LOW), RU
19487
;--     pop_ll (16 bit)
19488
        MOVE    (SP)+, LL
19489
;--     l | r
19490
        OR      LL, RR
19491 7 jsauermann
;;;                                                                                               } 47 Expr l | r
19492
;;;                                                                                               { 47 Expression (variable name)
19493
;;;                                                                                                 expr_type = "identifier" (all_value)
19494 2 jsauermann
;--     load_ll_var all_value = -2(FP), SP at -12 (16 bit)
19495
        MOVE    10(SP), LL
19496 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
19497 2 jsauermann
;--     scale_rr *1
19498
;--     l + r
19499
        ADD     LL, RR
19500 7 jsauermann
;;;                                                                                             } 46 Expr l + r
19501 2 jsauermann
;--     store_rr_var all_value = -2(FP), SP at -12
19502
        MOVE    RR, 10(SP)
19503 7 jsauermann
;;;                                                                                           } 45 Expr l += r
19504
;;;                                                                                         } 44 ExpressionStatement
19505
;;;                                                                                         { 44 ExpressionStatement
19506
;;;                                                                                           { 45 Expr l += r
19507
;;;                                                                                             { 46 TypeName
19508
;;;                                                                                               { 47 TypeSpecifier (all)
19509
;;;                                                                                                 spec = unsigned int (82000)
19510
;;;                                                                                               } 47 TypeSpecifier (all)
19511
;;;                                                                                               { 47 List
19512
;;;                                                                                                 { 48 DeclItem
19513
;;;                                                                                                   what = DECL_NAME
19514
;;;                                                                                                   name = all_total
19515
;;;                                                                                                 } 48 DeclItem
19516
;;;                                                                                               } 47 List
19517
;;;                                                                                             } 46 TypeName
19518
;;;                                                                                             { 46 Expr l + r
19519
;;;                                                                                               { 47 Expr l >> r
19520
;;;                                                                                                 { 48 TypeName (internal)
19521
;;;                                                                                                   { 49 TypeSpecifier (all)
19522
;;;                                                                                                     spec = int (80000)
19523
;;;                                                                                                   } 49 TypeSpecifier (all)
19524
;;;                                                                                                 } 48 TypeName (internal)
19525
;;;                                                                                                 { 48 Expression (variable name)
19526
;;;                                                                                                   expr_type = "identifier" (all_value)
19527 2 jsauermann
;--     load_rr_var all_value = -2(FP), SP at -12 (16 bit)
19528
        MOVE    10(SP), RR
19529 7 jsauermann
;;;                                                                                                 } 48 Expression (variable name)
19530 2 jsauermann
;--     l >> r
19531
        ASR     RR, #0x0008
19532 7 jsauermann
;;;                                                                                               } 47 Expr l >> r
19533
;;;                                                                                               { 47 Expression (variable name)
19534
;;;                                                                                                 expr_type = "identifier" (all_total)
19535 2 jsauermann
;--     load_ll_var all_total = -6(FP), SP at -12 (16 bit)
19536
        MOVE    6(SP), LL
19537 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
19538 2 jsauermann
;--     scale_rr *1
19539
;--     l + r
19540
        ADD     LL, RR
19541 7 jsauermann
;;;                                                                                             } 46 Expr l + r
19542 2 jsauermann
;--     store_rr_var all_total = -6(FP), SP at -12
19543
        MOVE    RR, 6(SP)
19544 7 jsauermann
;;;                                                                                           } 45 Expr l += r
19545
;;;                                                                                         } 44 ExpressionStatement
19546
;;;                                                                                         { 44 ExpressionStatement
19547
;;;                                                                                           { 45 Expr l & r
19548
;;;                                                                                             { 46 TypeName
19549
;;;                                                                                               { 47 TypeSpecifier (all)
19550
;;;                                                                                                 spec = unsigned int (82000)
19551
;;;                                                                                               } 47 TypeSpecifier (all)
19552
;;;                                                                                               { 47 List
19553
;;;                                                                                                 { 48 DeclItem
19554
;;;                                                                                                   what = DECL_NAME
19555
;;;                                                                                                   name = all_value
19556
;;;                                                                                                 } 48 DeclItem
19557
;;;                                                                                               } 47 List
19558
;;;                                                                                             } 46 TypeName
19559
;;;                                                                                             { 46 Expr l & r
19560
;;;                                                                                               { 47 TypeName (internal)
19561
;;;                                                                                                 { 48 TypeSpecifier (all)
19562
;;;                                                                                                   spec = unsigned int (82000)
19563
;;;                                                                                                 } 48 TypeSpecifier (all)
19564
;;;                                                                                               } 47 TypeName (internal)
19565
;;;                                                                                               { 47 Expression (variable name)
19566
;;;                                                                                                 expr_type = "identifier" (all_value)
19567 2 jsauermann
;--     load_rr_var all_value = -2(FP), SP at -12 (16 bit)
19568
        MOVE    10(SP), RR
19569 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
19570 2 jsauermann
;--     l & r
19571
        AND     RR, #0x00FF
19572 7 jsauermann
;;;                                                                                             } 46 Expr l & r
19573 2 jsauermann
;--     store_rr_var all_value = -2(FP), SP at -12
19574
        MOVE    RR, 10(SP)
19575 7 jsauermann
;;;                                                                                           } 45 Expr l & r
19576
;;;                                                                                         } 44 ExpressionStatement
19577
;;;                                                                                         { 44 ExpressionStatement
19578
;;;                                                                                           { 45 Expr l(r)
19579
;;;                                                                                             { 46 TypeName
19580
;;;                                                                                               { 47 TypeSpecifier (all)
19581
;;;                                                                                                 spec = void (10000)
19582
;;;                                                                                               } 47 TypeSpecifier (all)
19583
;;;                                                                                               { 47 List
19584
;;;                                                                                                 { 48 DeclItem
19585
;;;                                                                                                   what = DECL_NAME
19586
;;;                                                                                                   name = sleep
19587
;;;                                                                                                 } 48 DeclItem
19588
;;;                                                                                               } 47 List
19589
;;;                                                                                             } 46 TypeName
19590
;;;                                                                                             { 46 ParameterDeclaration
19591
;;;                                                                                               isEllipsis = false
19592
;;;                                                                                               { 47 TypeName
19593
;;;                                                                                                 { 48 TypeSpecifier (all)
19594
;;;                                                                                                   spec = int (80000)
19595
;;;                                                                                                 } 48 TypeSpecifier (all)
19596
;;;                                                                                                 { 48 List
19597
;;;                                                                                                   { 49 DeclItem
19598
;;;                                                                                                     what = DECL_NAME
19599
;;;                                                                                                     name = millisecs
19600
;;;                                                                                                   } 49 DeclItem
19601
;;;                                                                                                 } 48 List
19602
;;;                                                                                               } 47 TypeName
19603
;;;                                                                                             } 46 ParameterDeclaration
19604
;;;                                                                                             { 46 NumericExpression (constant 1 = 0x1)
19605 2 jsauermann
;--     load_rr_constant
19606
        MOVE    #0x0001, RR
19607 7 jsauermann
;;;                                                                                             } 46 NumericExpression (constant 1 = 0x1)
19608 2 jsauermann
;--     push_rr (16 bit)
19609
        MOVE    RR, -(SP)
19610
;--     push 0 bytes
19611
;--     call
19612
        CALL    Csleep
19613
;--     pop 2 bytes
19614
        ADD     SP, #2
19615 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
19616
;;;                                                                                         } 44 ExpressionStatement
19617
;;;                                                                                         { 44 ExpressionStatement
19618
;;;                                                                                           { 45 NumericExpression (constant 3 = 0x3)
19619 2 jsauermann
;--     load_rr_constant
19620
        MOVE    #0x0003, RR
19621 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 3 = 0x3)
19622
;;;                                                                                         } 44 ExpressionStatement
19623
;;;                                                                                         { 44 ExpressionStatement
19624 2 jsauermann
        OUT  R, (OUT_START_CLK_CTR)
19625 7 jsauermann
;;;                                                                                         } 44 ExpressionStatement
19626
;;;                                                                                         { 44 ExpressionStatement
19627
;;;                                                                                           { 45 Expr l(r)
19628
;;;                                                                                             { 46 TypeName
19629
;;;                                                                                               { 47 TypeSpecifier (all)
19630
;;;                                                                                                 spec = void (10000)
19631
;;;                                                                                               } 47 TypeSpecifier (all)
19632
;;;                                                                                               { 47 List
19633
;;;                                                                                                 { 48 DeclItem
19634
;;;                                                                                                   what = DECL_NAME
19635
;;;                                                                                                   name = sleep
19636
;;;                                                                                                 } 48 DeclItem
19637
;;;                                                                                               } 47 List
19638
;;;                                                                                             } 46 TypeName
19639
;;;                                                                                             { 46 ParameterDeclaration
19640
;;;                                                                                               isEllipsis = false
19641
;;;                                                                                               { 47 TypeName
19642
;;;                                                                                                 { 48 TypeSpecifier (all)
19643
;;;                                                                                                   spec = int (80000)
19644
;;;                                                                                                 } 48 TypeSpecifier (all)
19645
;;;                                                                                                 { 48 List
19646
;;;                                                                                                   { 49 DeclItem
19647
;;;                                                                                                     what = DECL_NAME
19648
;;;                                                                                                     name = millisecs
19649
;;;                                                                                                   } 49 DeclItem
19650
;;;                                                                                                 } 48 List
19651
;;;                                                                                               } 47 TypeName
19652
;;;                                                                                             } 46 ParameterDeclaration
19653
;;;                                                                                             { 46 NumericExpression (constant 1 = 0x1)
19654 2 jsauermann
;--     load_rr_constant
19655
        MOVE    #0x0001, RR
19656 7 jsauermann
;;;                                                                                             } 46 NumericExpression (constant 1 = 0x1)
19657 2 jsauermann
;--     push_rr (16 bit)
19658
        MOVE    RR, -(SP)
19659
;--     push 0 bytes
19660
;--     call
19661
        CALL    Csleep
19662
;--     pop 2 bytes
19663
        ADD     SP, #2
19664 7 jsauermann
;;;                                                                                           } 45 Expr l(r)
19665
;;;                                                                                         } 44 ExpressionStatement
19666
;;;                                                                                         { 44 ExpressionStatement
19667 2 jsauermann
        OUT  R, (OUT_STOP_CLK_CTR)
19668 7 jsauermann
;;;                                                                                         } 44 ExpressionStatement
19669
;;;                                                                                         { 44 ExpressionStatement
19670
;;;                                                                                           { 45 Expr l += r
19671
;;;                                                                                             { 46 TypeName
19672
;;;                                                                                               { 47 TypeSpecifier (all)
19673
;;;                                                                                                 spec = unsigned int (82000)
19674
;;;                                                                                               } 47 TypeSpecifier (all)
19675
;;;                                                                                               { 47 List
19676
;;;                                                                                                 { 48 DeclItem
19677
;;;                                                                                                   what = DECL_NAME
19678
;;;                                                                                                   name = halt_value
19679
;;;                                                                                                 } 48 DeclItem
19680
;;;                                                                                               } 47 List
19681
;;;                                                                                             } 46 TypeName
19682
;;;                                                                                             { 46 Expr l + r
19683
;;;                                                                                               { 47 Expr l | r
19684
;;;                                                                                                 { 48 TypeName (internal)
19685
;;;                                                                                                   { 49 TypeSpecifier (all)
19686
;;;                                                                                                     spec = int (80000)
19687
;;;                                                                                                   } 49 TypeSpecifier (all)
19688
;;;                                                                                                 } 48 TypeName (internal)
19689
;;;                                                                                                 { 48 Expr l << r
19690
;;;                                                                                                   { 49 TypeName (internal)
19691
;;;                                                                                                     { 50 TypeSpecifier (all)
19692
;;;                                                                                                       spec = int (80000)
19693
;;;                                                                                                     } 50 TypeSpecifier (all)
19694
;;;                                                                                                   } 49 TypeName (internal)
19695 2 jsauermann
        IN   (IN_CLK_CTR_HIGH), RU
19696
;--     l << r
19697
        LSL     RR, #0x0008
19698 7 jsauermann
;;;                                                                                                 } 48 Expr l << r
19699 2 jsauermann
;--     push_rr (16 bit)
19700
        MOVE    RR, -(SP)
19701
        IN   (IN_CLK_CTR_LOW), RU
19702
;--     pop_ll (16 bit)
19703
        MOVE    (SP)+, LL
19704
;--     l | r
19705
        OR      LL, RR
19706 7 jsauermann
;;;                                                                                               } 47 Expr l | r
19707
;;;                                                                                               { 47 Expression (variable name)
19708
;;;                                                                                                 expr_type = "identifier" (halt_value)
19709 2 jsauermann
;--     load_ll_var halt_value = -4(FP), SP at -12 (16 bit)
19710
        MOVE    8(SP), LL
19711 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
19712 2 jsauermann
;--     scale_rr *1
19713
;--     l + r
19714
        ADD     LL, RR
19715 7 jsauermann
;;;                                                                                             } 46 Expr l + r
19716 2 jsauermann
;--     store_rr_var halt_value = -4(FP), SP at -12
19717
        MOVE    RR, 8(SP)
19718 7 jsauermann
;;;                                                                                           } 45 Expr l += r
19719
;;;                                                                                         } 44 ExpressionStatement
19720
;;;                                                                                         { 44 ExpressionStatement
19721
;;;                                                                                           { 45 Expr l += r
19722
;;;                                                                                             { 46 TypeName
19723
;;;                                                                                               { 47 TypeSpecifier (all)
19724
;;;                                                                                                 spec = unsigned int (82000)
19725
;;;                                                                                               } 47 TypeSpecifier (all)
19726
;;;                                                                                               { 47 List
19727
;;;                                                                                                 { 48 DeclItem
19728
;;;                                                                                                   what = DECL_NAME
19729
;;;                                                                                                   name = halt_total
19730
;;;                                                                                                 } 48 DeclItem
19731
;;;                                                                                               } 47 List
19732
;;;                                                                                             } 46 TypeName
19733
;;;                                                                                             { 46 Expr l + r
19734
;;;                                                                                               { 47 Expr l >> r
19735
;;;                                                                                                 { 48 TypeName (internal)
19736
;;;                                                                                                   { 49 TypeSpecifier (all)
19737
;;;                                                                                                     spec = int (80000)
19738
;;;                                                                                                   } 49 TypeSpecifier (all)
19739
;;;                                                                                                 } 48 TypeName (internal)
19740
;;;                                                                                                 { 48 Expression (variable name)
19741
;;;                                                                                                   expr_type = "identifier" (halt_value)
19742 2 jsauermann
;--     load_rr_var halt_value = -4(FP), SP at -12 (16 bit)
19743
        MOVE    8(SP), RR
19744 7 jsauermann
;;;                                                                                                 } 48 Expression (variable name)
19745 2 jsauermann
;--     l >> r
19746
        ASR     RR, #0x0008
19747 7 jsauermann
;;;                                                                                               } 47 Expr l >> r
19748
;;;                                                                                               { 47 Expression (variable name)
19749
;;;                                                                                                 expr_type = "identifier" (halt_total)
19750 2 jsauermann
;--     load_ll_var halt_total = -8(FP), SP at -12 (16 bit)
19751
        MOVE    4(SP), LL
19752 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
19753 2 jsauermann
;--     scale_rr *1
19754
;--     l + r
19755
        ADD     LL, RR
19756 7 jsauermann
;;;                                                                                             } 46 Expr l + r
19757 2 jsauermann
;--     store_rr_var halt_total = -8(FP), SP at -12
19758
        MOVE    RR, 4(SP)
19759 7 jsauermann
;;;                                                                                           } 45 Expr l += r
19760
;;;                                                                                         } 44 ExpressionStatement
19761
;;;                                                                                         { 44 ExpressionStatement
19762
;;;                                                                                           { 45 Expr l & r
19763
;;;                                                                                             { 46 TypeName
19764
;;;                                                                                               { 47 TypeSpecifier (all)
19765
;;;                                                                                                 spec = unsigned int (82000)
19766
;;;                                                                                               } 47 TypeSpecifier (all)
19767
;;;                                                                                               { 47 List
19768
;;;                                                                                                 { 48 DeclItem
19769
;;;                                                                                                   what = DECL_NAME
19770
;;;                                                                                                   name = halt_value
19771
;;;                                                                                                 } 48 DeclItem
19772
;;;                                                                                               } 47 List
19773
;;;                                                                                             } 46 TypeName
19774
;;;                                                                                             { 46 Expr l & r
19775
;;;                                                                                               { 47 TypeName (internal)
19776
;;;                                                                                                 { 48 TypeSpecifier (all)
19777
;;;                                                                                                   spec = unsigned int (82000)
19778
;;;                                                                                                 } 48 TypeSpecifier (all)
19779
;;;                                                                                               } 47 TypeName (internal)
19780
;;;                                                                                               { 47 Expression (variable name)
19781
;;;                                                                                                 expr_type = "identifier" (halt_value)
19782 2 jsauermann
;--     load_rr_var halt_value = -4(FP), SP at -12 (16 bit)
19783
        MOVE    8(SP), RR
19784 7 jsauermann
;;;                                                                                               } 47 Expression (variable name)
19785 2 jsauermann
;--     l & r
19786
        AND     RR, #0x00FF
19787 7 jsauermann
;;;                                                                                             } 46 Expr l & r
19788 2 jsauermann
;--     store_rr_var halt_value = -4(FP), SP at -12
19789
        MOVE    RR, 8(SP)
19790 7 jsauermann
;;;                                                                                           } 45 Expr l & r
19791
;;;                                                                                         } 44 ExpressionStatement
19792
;;;                                                                                       } 43 List
19793
;--     pop 0 bytes
19794
;;;                                                                                     } 42 CompoundStatement
19795 16 jsauermann
L37_cont_122:
19796 7 jsauermann
;;;                                                                                     { 42 Expr l - r
19797
;;;                                                                                       { 43 Expr ++r
19798
;;;                                                                                         { 44 Expression (variable name)
19799
;;;                                                                                           expr_type = "identifier" (n)
19800 2 jsauermann
;--     load_rr_var n = -10(FP), SP at -12 (16 bit)
19801
        MOVE    2(SP), RR
19802 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
19803 2 jsauermann
;--     ++
19804
        ADD     RR, #0x0001
19805
;--     store_rr_var n = -10(FP), SP at -12
19806
        MOVE    RR, 2(SP)
19807 7 jsauermann
;;;                                                                                       } 43 Expr ++r
19808 2 jsauermann
;--     l - r
19809
        SUB     RR, #0x0001
19810 7 jsauermann
;;;                                                                                     } 42 Expr l - r
19811 16 jsauermann
L37_tst_122:
19812 7 jsauermann
;;;                                                                                     { 42 Expr l < r
19813
;;;                                                                                       { 43 TypeName (internal)
19814
;;;                                                                                         { 44 TypeSpecifier (all)
19815
;;;                                                                                           spec = int (80000)
19816
;;;                                                                                         } 44 TypeSpecifier (all)
19817
;;;                                                                                       } 43 TypeName (internal)
19818
;;;                                                                                       { 43 Expression (variable name)
19819
;;;                                                                                         expr_type = "identifier" (n)
19820 2 jsauermann
;--     load_rr_var n = -10(FP), SP at -12 (16 bit)
19821
        MOVE    2(SP), RR
19822 7 jsauermann
;;;                                                                                       } 43 Expression (variable name)
19823 2 jsauermann
;--     l < r
19824
        SLT     RR, #0x0064
19825 7 jsauermann
;;;                                                                                     } 42 Expr l < r
19826 2 jsauermann
;--     branch_true
19827 16 jsauermann
        JMP     RRNZ, L37_loop_122
19828
L37_brk_123:
19829 7 jsauermann
;;;                                                                                   } 41 for Statement
19830
;;;                                                                                   { 41 ExpressionStatement
19831
;;;                                                                                     { 42 Expr l(r)
19832
;;;                                                                                       { 43 TypeName
19833
;;;                                                                                         { 44 TypeSpecifier (all)
19834
;;;                                                                                           spec = void (10000)
19835
;;;                                                                                         } 44 TypeSpecifier (all)
19836
;;;                                                                                         { 44 List
19837
;;;                                                                                           { 45 DeclItem
19838
;;;                                                                                             what = DECL_NAME
19839
;;;                                                                                             name = P
19840
;;;                                                                                           } 45 DeclItem
19841
;;;                                                                                         } 44 List
19842
;;;                                                                                       } 43 TypeName
19843
;;;                                                                                       { 43 ParameterDeclaration
19844
;;;                                                                                         isEllipsis = false
19845
;;;                                                                                         { 44 TypeName
19846
;;;                                                                                           { 45 TypeSpecifier (struct/union)
19847
;;;                                                                                             spec = struct '_semaphore' (800000)
19848
;;;                                                                                             name = _semaphore
19849
;;;                                                                                           } 45 TypeSpecifier (struct/union)
19850
;;;                                                                                           { 45 List
19851
;;;                                                                                             { 46 DeclItem
19852
;;;                                                                                               what = DECL_POINTER
19853
;;;                                                                                               { 47 List
19854
;;;                                                                                                 { 48 Ptr
19855
;;;                                                                                                 } 48 Ptr
19856
;;;                                                                                               } 47 List
19857
;;;                                                                                             } 46 DeclItem
19858
;;;                                                                                             { 46 DeclItem
19859
;;;                                                                                               what = DECL_NAME
19860
;;;                                                                                               name = sema
19861
;;;                                                                                             } 46 DeclItem
19862
;;;                                                                                           } 45 List
19863
;;;                                                                                         } 44 TypeName
19864
;;;                                                                                       } 43 ParameterDeclaration
19865
;;;                                                                                       { 43 Expr & r
19866 2 jsauermann
;--     load_address t3_control
19867
        MOVE    #Ct3_control, RR
19868 7 jsauermann
;;;                                                                                       } 43 Expr & r
19869 2 jsauermann
;--     push_rr (16 bit)
19870
        MOVE    RR, -(SP)
19871
;--     push 0 bytes
19872
;--     call
19873
        CALL    CP
19874
;--     pop 2 bytes
19875
        ADD     SP, #2
19876 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19877
;;;                                                                                   } 41 ExpressionStatement
19878
;;;                                                                                   { 41 ExpressionStatement
19879
;;;                                                                                     { 42 Expr l(r)
19880
;;;                                                                                       { 43 TypeName
19881
;;;                                                                                         { 44 TypeSpecifier (all)
19882
;;;                                                                                           spec = void (10000)
19883
;;;                                                                                         } 44 TypeSpecifier (all)
19884
;;;                                                                                         { 44 List
19885
;;;                                                                                           { 45 DeclItem
19886
;;;                                                                                             what = DECL_NAME
19887
;;;                                                                                             name = P
19888
;;;                                                                                           } 45 DeclItem
19889
;;;                                                                                         } 44 List
19890
;;;                                                                                       } 43 TypeName
19891
;;;                                                                                       { 43 ParameterDeclaration
19892
;;;                                                                                         isEllipsis = false
19893
;;;                                                                                         { 44 TypeName
19894
;;;                                                                                           { 45 TypeSpecifier (struct/union)
19895
;;;                                                                                             spec = struct '_semaphore' (800000)
19896
;;;                                                                                             name = _semaphore
19897
;;;                                                                                           } 45 TypeSpecifier (struct/union)
19898
;;;                                                                                           { 45 List
19899
;;;                                                                                             { 46 DeclItem
19900
;;;                                                                                               what = DECL_POINTER
19901
;;;                                                                                               { 47 List
19902
;;;                                                                                                 { 48 Ptr
19903
;;;                                                                                                 } 48 Ptr
19904
;;;                                                                                               } 47 List
19905
;;;                                                                                             } 46 DeclItem
19906
;;;                                                                                             { 46 DeclItem
19907
;;;                                                                                               what = DECL_NAME
19908
;;;                                                                                               name = sema
19909
;;;                                                                                             } 46 DeclItem
19910
;;;                                                                                           } 45 List
19911
;;;                                                                                         } 44 TypeName
19912
;;;                                                                                       } 43 ParameterDeclaration
19913
;;;                                                                                       { 43 Expr & r
19914 2 jsauermann
;--     load_address serial_out
19915
        MOVE    #Cserial_out, RR
19916 7 jsauermann
;;;                                                                                       } 43 Expr & r
19917 2 jsauermann
;--     push_rr (16 bit)
19918
        MOVE    RR, -(SP)
19919
;--     push 0 bytes
19920
;--     call
19921
        CALL    CP
19922
;--     pop 2 bytes
19923
        ADD     SP, #2
19924 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
19925
;;;                                                                                   } 41 ExpressionStatement
19926
;;;                                                                                   { 41 ExpressionStatement
19927
;;;                                                                                     { 42 Expr l(r)
19928
;;;                                                                                       { 43 TypeName
19929
;;;                                                                                         { 44 TypeSpecifier (all)
19930
;;;                                                                                           spec = int (80000)
19931
;;;                                                                                         } 44 TypeSpecifier (all)
19932
;;;                                                                                         { 44 List
19933
;;;                                                                                           { 45 DeclItem
19934
;;;                                                                                             what = DECL_NAME
19935
;;;                                                                                             name = printf
19936
;;;                                                                                           } 45 DeclItem
19937
;;;                                                                                         } 44 List
19938
;;;                                                                                       } 43 TypeName
19939
;;;                                                                                       { 43 Expr (l , r)
19940
;;;                                                                                         { 44 ParameterDeclaration
19941
;;;                                                                                           isEllipsis = true
19942
;;;                                                                                           { 45 TypeName
19943
;;;                                                                                             { 46 TypeSpecifier (all)
19944
;;;                                                                                               spec = const char (20100)
19945
;;;                                                                                             } 46 TypeSpecifier (all)
19946
;;;                                                                                             { 46 List
19947
;;;                                                                                               { 47 DeclItem
19948
;;;                                                                                                 what = DECL_POINTER
19949
;;;                                                                                                 { 48 List
19950
;;;                                                                                                   { 49 Ptr
19951
;;;                                                                                                   } 49 Ptr
19952
;;;                                                                                                 } 48 List
19953
;;;                                                                                               } 47 DeclItem
19954
;;;                                                                                               { 47 DeclItem
19955
;;;                                                                                                 what = DECL_NAME
19956
;;;                                                                                                 name = format
19957
;;;                                                                                               } 47 DeclItem
19958
;;;                                                                                             } 46 List
19959
;;;                                                                                           } 45 TypeName
19960
;;;                                                                                         } 44 ParameterDeclaration
19961
;;;                                                                                         { 44 Expression (variable name)
19962
;;;                                                                                           expr_type = "identifier" (all_total)
19963 2 jsauermann
;--     load_rr_var all_total = -6(FP), SP at -12 (16 bit)
19964
        MOVE    6(SP), RR
19965 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
19966 2 jsauermann
;--     push_rr (16 bit)
19967
        MOVE    RR, -(SP)
19968 7 jsauermann
;;;                                                                                         { 44 ParameterDeclaration
19969
;;;                                                                                           isEllipsis = true
19970
;;;                                                                                           { 45 TypeName
19971
;;;                                                                                             { 46 TypeSpecifier (all)
19972
;;;                                                                                               spec = const char (20100)
19973
;;;                                                                                             } 46 TypeSpecifier (all)
19974
;;;                                                                                             { 46 List
19975
;;;                                                                                               { 47 DeclItem
19976
;;;                                                                                                 what = DECL_POINTER
19977
;;;                                                                                                 { 48 List
19978
;;;                                                                                                   { 49 Ptr
19979
;;;                                                                                                   } 49 Ptr
19980
;;;                                                                                                 } 48 List
19981
;;;                                                                                               } 47 DeclItem
19982
;;;                                                                                               { 47 DeclItem
19983
;;;                                                                                                 what = DECL_NAME
19984
;;;                                                                                                 name = format
19985
;;;                                                                                               } 47 DeclItem
19986
;;;                                                                                             } 46 List
19987
;;;                                                                                           } 45 TypeName
19988
;;;                                                                                         } 44 ParameterDeclaration
19989
;;;                                                                                         { 44 StringExpression
19990 2 jsauermann
;--     load_rr_string
19991 16 jsauermann
        MOVE    #Cstr_132, RR
19992 7 jsauermann
;;;                                                                                         } 44 StringExpression
19993 2 jsauermann
;--     push_rr (16 bit)
19994
        MOVE    RR, -(SP)
19995 7 jsauermann
;;;                                                                                       } 43 Expr (l , r)
19996 2 jsauermann
;--     push 2 bytes
19997
;--     call
19998
        CALL    Cprintf
19999
;--     pop 4 bytes
20000
        ADD     SP, #4
20001 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
20002
;;;                                                                                   } 41 ExpressionStatement
20003
;;;                                                                                   { 41 ExpressionStatement
20004
;;;                                                                                     { 42 Expr l(r)
20005
;;;                                                                                       { 43 TypeName
20006
;;;                                                                                         { 44 TypeSpecifier (all)
20007
;;;                                                                                           spec = int (80000)
20008
;;;                                                                                         } 44 TypeSpecifier (all)
20009
;;;                                                                                         { 44 List
20010
;;;                                                                                           { 45 DeclItem
20011
;;;                                                                                             what = DECL_NAME
20012
;;;                                                                                             name = printf
20013
;;;                                                                                           } 45 DeclItem
20014
;;;                                                                                         } 44 List
20015
;;;                                                                                       } 43 TypeName
20016
;;;                                                                                       { 43 Expr (l , r)
20017
;;;                                                                                         { 44 ParameterDeclaration
20018
;;;                                                                                           isEllipsis = true
20019
;;;                                                                                           { 45 TypeName
20020
;;;                                                                                             { 46 TypeSpecifier (all)
20021
;;;                                                                                               spec = const char (20100)
20022
;;;                                                                                             } 46 TypeSpecifier (all)
20023
;;;                                                                                             { 46 List
20024
;;;                                                                                               { 47 DeclItem
20025
;;;                                                                                                 what = DECL_POINTER
20026
;;;                                                                                                 { 48 List
20027
;;;                                                                                                   { 49 Ptr
20028
;;;                                                                                                   } 49 Ptr
20029
;;;                                                                                                 } 48 List
20030
;;;                                                                                               } 47 DeclItem
20031
;;;                                                                                               { 47 DeclItem
20032
;;;                                                                                                 what = DECL_NAME
20033
;;;                                                                                                 name = format
20034
;;;                                                                                               } 47 DeclItem
20035
;;;                                                                                             } 46 List
20036
;;;                                                                                           } 45 TypeName
20037
;;;                                                                                         } 44 ParameterDeclaration
20038
;;;                                                                                         { 44 Expression (variable name)
20039
;;;                                                                                           expr_type = "identifier" (halt_total)
20040 2 jsauermann
;--     load_rr_var halt_total = -8(FP), SP at -12 (16 bit)
20041
        MOVE    4(SP), RR
20042 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20043 2 jsauermann
;--     push_rr (16 bit)
20044
        MOVE    RR, -(SP)
20045 7 jsauermann
;;;                                                                                         { 44 ParameterDeclaration
20046
;;;                                                                                           isEllipsis = true
20047
;;;                                                                                           { 45 TypeName
20048
;;;                                                                                             { 46 TypeSpecifier (all)
20049
;;;                                                                                               spec = const char (20100)
20050
;;;                                                                                             } 46 TypeSpecifier (all)
20051
;;;                                                                                             { 46 List
20052
;;;                                                                                               { 47 DeclItem
20053
;;;                                                                                                 what = DECL_POINTER
20054
;;;                                                                                                 { 48 List
20055
;;;                                                                                                   { 49 Ptr
20056
;;;                                                                                                   } 49 Ptr
20057
;;;                                                                                                 } 48 List
20058
;;;                                                                                               } 47 DeclItem
20059
;;;                                                                                               { 47 DeclItem
20060
;;;                                                                                                 what = DECL_NAME
20061
;;;                                                                                                 name = format
20062
;;;                                                                                               } 47 DeclItem
20063
;;;                                                                                             } 46 List
20064
;;;                                                                                           } 45 TypeName
20065
;;;                                                                                         } 44 ParameterDeclaration
20066
;;;                                                                                         { 44 StringExpression
20067 2 jsauermann
;--     load_rr_string
20068 16 jsauermann
        MOVE    #Cstr_133, RR
20069 7 jsauermann
;;;                                                                                         } 44 StringExpression
20070 2 jsauermann
;--     push_rr (16 bit)
20071
        MOVE    RR, -(SP)
20072 7 jsauermann
;;;                                                                                       } 43 Expr (l , r)
20073 2 jsauermann
;--     push 2 bytes
20074
;--     call
20075
        CALL    Cprintf
20076
;--     pop 4 bytes
20077
        ADD     SP, #4
20078 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
20079
;;;                                                                                   } 41 ExpressionStatement
20080
;;;                                                                                   { 41 ExpressionStatement
20081
;;;                                                                                     { 42 Expr l = r
20082
;;;                                                                                       { 43 TypeName
20083
;;;                                                                                         { 44 TypeSpecifier (all)
20084
;;;                                                                                           spec = int (80000)
20085
;;;                                                                                         } 44 TypeSpecifier (all)
20086
;;;                                                                                         { 44 List
20087
;;;                                                                                           { 45 DeclItem
20088
;;;                                                                                             what = DECL_NAME
20089
;;;                                                                                             name = idle
20090
;;;                                                                                           } 45 DeclItem
20091
;;;                                                                                         } 44 List
20092
;;;                                                                                       } 43 TypeName
20093
;;;                                                                                       { 43 Expr l / r
20094
;;;                                                                                         { 44 TypeName (internal)
20095
;;;                                                                                           { 45 TypeSpecifier (all)
20096
;;;                                                                                             spec = int (80000)
20097
;;;                                                                                           } 45 TypeSpecifier (all)
20098
;;;                                                                                         } 44 TypeName (internal)
20099
;;;                                                                                         { 44 Expr l * r
20100
;;;                                                                                           { 45 TypeName (internal)
20101
;;;                                                                                             { 46 TypeSpecifier (all)
20102
;;;                                                                                               spec = int (80000)
20103
;;;                                                                                             } 46 TypeSpecifier (all)
20104
;;;                                                                                           } 45 TypeName (internal)
20105
;;;                                                                                           { 45 Expr l >> r
20106
;;;                                                                                             { 46 TypeName (internal)
20107
;;;                                                                                               { 47 TypeSpecifier (all)
20108
;;;                                                                                                 spec = int (80000)
20109
;;;                                                                                               } 47 TypeSpecifier (all)
20110
;;;                                                                                             } 46 TypeName (internal)
20111
;;;                                                                                             { 46 Expression (variable name)
20112
;;;                                                                                               expr_type = "identifier" (halt_total)
20113 2 jsauermann
;--     load_rr_var halt_total = -8(FP), SP at -12 (16 bit)
20114
        MOVE    4(SP), RR
20115 7 jsauermann
;;;                                                                                             } 46 Expression (variable name)
20116 2 jsauermann
;--     l >> r
20117
        ASR     RR, #0x0008
20118 7 jsauermann
;;;                                                                                           } 45 Expr l >> r
20119 2 jsauermann
;--     l * r
20120
        MOVE    RR, LL
20121
        MOVE    #0x0064, RR
20122
;--     l * r
20123
        DI
20124
        MUL_IS
20125
        CALL    mult_div
20126
        MD_FIN
20127
        EI
20128 7 jsauermann
;;;                                                                                         } 44 Expr l * r
20129 2 jsauermann
;--     push_rr (16 bit)
20130
        MOVE    RR, -(SP)
20131 7 jsauermann
;;;                                                                                         { 44 Expr l >> r
20132
;;;                                                                                           { 45 TypeName (internal)
20133
;;;                                                                                             { 46 TypeSpecifier (all)
20134
;;;                                                                                               spec = int (80000)
20135
;;;                                                                                             } 46 TypeSpecifier (all)
20136
;;;                                                                                           } 45 TypeName (internal)
20137
;;;                                                                                           { 45 Expression (variable name)
20138
;;;                                                                                             expr_type = "identifier" (all_total)
20139 2 jsauermann
;--     load_rr_var all_total = -6(FP), SP at -14 (16 bit)
20140
        MOVE    8(SP), RR
20141 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
20142 2 jsauermann
;--     l >> r
20143
        ASR     RR, #0x0008
20144 7 jsauermann
;;;                                                                                         } 44 Expr l >> r
20145 2 jsauermann
;--     pop_ll (16 bit)
20146
        MOVE    (SP)+, LL
20147
;--     l / r
20148
        DI
20149
        DIV_IS
20150
        CALL    mult_div
20151
        MD_FIN
20152
        EI
20153 7 jsauermann
;;;                                                                                       } 43 Expr l / r
20154 2 jsauermann
;--     store_rr_var idle = -12(FP), SP at -12
20155
        MOVE    RR, 0(SP)
20156 7 jsauermann
;;;                                                                                     } 42 Expr l = r
20157
;;;                                                                                   } 41 ExpressionStatement
20158
;;;                                                                                   { 41 ExpressionStatement
20159
;;;                                                                                     { 42 Expr l(r)
20160
;;;                                                                                       { 43 TypeName
20161
;;;                                                                                         { 44 TypeSpecifier (all)
20162
;;;                                                                                           spec = int (80000)
20163
;;;                                                                                         } 44 TypeSpecifier (all)
20164
;;;                                                                                         { 44 List
20165
;;;                                                                                           { 45 DeclItem
20166
;;;                                                                                             what = DECL_NAME
20167
;;;                                                                                             name = printf
20168
;;;                                                                                           } 45 DeclItem
20169
;;;                                                                                         } 44 List
20170
;;;                                                                                       } 43 TypeName
20171
;;;                                                                                       { 43 Expr (l , r)
20172
;;;                                                                                         { 44 ParameterDeclaration
20173
;;;                                                                                           isEllipsis = true
20174
;;;                                                                                           { 45 TypeName
20175
;;;                                                                                             { 46 TypeSpecifier (all)
20176
;;;                                                                                               spec = const char (20100)
20177
;;;                                                                                             } 46 TypeSpecifier (all)
20178
;;;                                                                                             { 46 List
20179
;;;                                                                                               { 47 DeclItem
20180
;;;                                                                                                 what = DECL_POINTER
20181
;;;                                                                                                 { 48 List
20182
;;;                                                                                                   { 49 Ptr
20183
;;;                                                                                                   } 49 Ptr
20184
;;;                                                                                                 } 48 List
20185
;;;                                                                                               } 47 DeclItem
20186
;;;                                                                                               { 47 DeclItem
20187
;;;                                                                                                 what = DECL_NAME
20188
;;;                                                                                                 name = format
20189
;;;                                                                                               } 47 DeclItem
20190
;;;                                                                                             } 46 List
20191
;;;                                                                                           } 45 TypeName
20192
;;;                                                                                         } 44 ParameterDeclaration
20193
;;;                                                                                         { 44 Expression (variable name)
20194
;;;                                                                                           expr_type = "identifier" (idle)
20195 2 jsauermann
;--     load_rr_var idle = -12(FP), SP at -12 (16 bit)
20196
        MOVE    0(SP), RR
20197 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20198 2 jsauermann
;--     push_rr (16 bit)
20199
        MOVE    RR, -(SP)
20200 7 jsauermann
;;;                                                                                         { 44 ParameterDeclaration
20201
;;;                                                                                           isEllipsis = true
20202
;;;                                                                                           { 45 TypeName
20203
;;;                                                                                             { 46 TypeSpecifier (all)
20204
;;;                                                                                               spec = const char (20100)
20205
;;;                                                                                             } 46 TypeSpecifier (all)
20206
;;;                                                                                             { 46 List
20207
;;;                                                                                               { 47 DeclItem
20208
;;;                                                                                                 what = DECL_POINTER
20209
;;;                                                                                                 { 48 List
20210
;;;                                                                                                   { 49 Ptr
20211
;;;                                                                                                   } 49 Ptr
20212
;;;                                                                                                 } 48 List
20213
;;;                                                                                               } 47 DeclItem
20214
;;;                                                                                               { 47 DeclItem
20215
;;;                                                                                                 what = DECL_NAME
20216
;;;                                                                                                 name = format
20217
;;;                                                                                               } 47 DeclItem
20218
;;;                                                                                             } 46 List
20219
;;;                                                                                           } 45 TypeName
20220
;;;                                                                                         } 44 ParameterDeclaration
20221
;;;                                                                                         { 44 StringExpression
20222 2 jsauermann
;--     load_rr_string
20223 16 jsauermann
        MOVE    #Cstr_134, RR
20224 7 jsauermann
;;;                                                                                         } 44 StringExpression
20225 2 jsauermann
;--     push_rr (16 bit)
20226
        MOVE    RR, -(SP)
20227 7 jsauermann
;;;                                                                                       } 43 Expr (l , r)
20228 2 jsauermann
;--     push 2 bytes
20229
;--     call
20230
        CALL    Cprintf
20231
;--     pop 4 bytes
20232
        ADD     SP, #4
20233 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
20234
;;;                                                                                   } 41 ExpressionStatement
20235
;;;                                                                                   { 41 ExpressionStatement
20236
;;;                                                                                     { 42 Expr l(r)
20237
;;;                                                                                       { 43 TypeName
20238
;;;                                                                                         { 44 TypeSpecifier (all)
20239
;;;                                                                                           spec = int (80000)
20240
;;;                                                                                         } 44 TypeSpecifier (all)
20241
;;;                                                                                         { 44 List
20242
;;;                                                                                           { 45 DeclItem
20243
;;;                                                                                             what = DECL_NAME
20244
;;;                                                                                             name = printf
20245
;;;                                                                                           } 45 DeclItem
20246
;;;                                                                                         } 44 List
20247
;;;                                                                                       } 43 TypeName
20248
;;;                                                                                       { 43 Expr (l , r)
20249
;;;                                                                                         { 44 ParameterDeclaration
20250
;;;                                                                                           isEllipsis = true
20251
;;;                                                                                           { 45 TypeName
20252
;;;                                                                                             { 46 TypeSpecifier (all)
20253
;;;                                                                                               spec = const char (20100)
20254
;;;                                                                                             } 46 TypeSpecifier (all)
20255
;;;                                                                                             { 46 List
20256
;;;                                                                                               { 47 DeclItem
20257
;;;                                                                                                 what = DECL_POINTER
20258
;;;                                                                                                 { 48 List
20259
;;;                                                                                                   { 49 Ptr
20260
;;;                                                                                                   } 49 Ptr
20261
;;;                                                                                                 } 48 List
20262
;;;                                                                                               } 47 DeclItem
20263
;;;                                                                                               { 47 DeclItem
20264
;;;                                                                                                 what = DECL_NAME
20265
;;;                                                                                                 name = format
20266
;;;                                                                                               } 47 DeclItem
20267
;;;                                                                                             } 46 List
20268
;;;                                                                                           } 45 TypeName
20269
;;;                                                                                         } 44 ParameterDeclaration
20270
;;;                                                                                         { 44 Expr l - r
20271
;;;                                                                                           { 45 Expression (variable name)
20272
;;;                                                                                             expr_type = "identifier" (idle)
20273 2 jsauermann
;--     load_rr_var idle = -12(FP), SP at -12 (16 bit)
20274
        MOVE    0(SP), RR
20275 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
20276 2 jsauermann
        MOVE    #0x0064, LL
20277
;--     l - r
20278
        SUB     LL, RR
20279 7 jsauermann
;;;                                                                                         } 44 Expr l - r
20280 2 jsauermann
;--     push_rr (16 bit)
20281
        MOVE    RR, -(SP)
20282 7 jsauermann
;;;                                                                                         { 44 ParameterDeclaration
20283
;;;                                                                                           isEllipsis = true
20284
;;;                                                                                           { 45 TypeName
20285
;;;                                                                                             { 46 TypeSpecifier (all)
20286
;;;                                                                                               spec = const char (20100)
20287
;;;                                                                                             } 46 TypeSpecifier (all)
20288
;;;                                                                                             { 46 List
20289
;;;                                                                                               { 47 DeclItem
20290
;;;                                                                                                 what = DECL_POINTER
20291
;;;                                                                                                 { 48 List
20292
;;;                                                                                                   { 49 Ptr
20293
;;;                                                                                                   } 49 Ptr
20294
;;;                                                                                                 } 48 List
20295
;;;                                                                                               } 47 DeclItem
20296
;;;                                                                                               { 47 DeclItem
20297
;;;                                                                                                 what = DECL_NAME
20298
;;;                                                                                                 name = format
20299
;;;                                                                                               } 47 DeclItem
20300
;;;                                                                                             } 46 List
20301
;;;                                                                                           } 45 TypeName
20302
;;;                                                                                         } 44 ParameterDeclaration
20303
;;;                                                                                         { 44 StringExpression
20304 2 jsauermann
;--     load_rr_string
20305 16 jsauermann
        MOVE    #Cstr_135, RR
20306 7 jsauermann
;;;                                                                                         } 44 StringExpression
20307 2 jsauermann
;--     push_rr (16 bit)
20308
        MOVE    RR, -(SP)
20309 7 jsauermann
;;;                                                                                       } 43 Expr (l , r)
20310 2 jsauermann
;--     push 2 bytes
20311
;--     call
20312
        CALL    Cprintf
20313
;--     pop 4 bytes
20314
        ADD     SP, #4
20315 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
20316
;;;                                                                                   } 41 ExpressionStatement
20317
;;;                                                                                   { 41 ExpressionStatement
20318
;;;                                                                                     { 42 Expr l(r)
20319
;;;                                                                                       { 43 TypeName
20320
;;;                                                                                         { 44 TypeSpecifier (all)
20321
;;;                                                                                           spec = void (10000)
20322
;;;                                                                                         } 44 TypeSpecifier (all)
20323
;;;                                                                                         { 44 List
20324
;;;                                                                                           { 45 DeclItem
20325
;;;                                                                                             what = DECL_NAME
20326
;;;                                                                                             name = V
20327
;;;                                                                                           } 45 DeclItem
20328
;;;                                                                                         } 44 List
20329
;;;                                                                                       } 43 TypeName
20330
;;;                                                                                       { 43 ParameterDeclaration
20331
;;;                                                                                         isEllipsis = false
20332
;;;                                                                                         { 44 TypeName
20333
;;;                                                                                           { 45 TypeSpecifier (struct/union)
20334
;;;                                                                                             spec = struct '_semaphore' (800000)
20335
;;;                                                                                             name = _semaphore
20336
;;;                                                                                           } 45 TypeSpecifier (struct/union)
20337
;;;                                                                                           { 45 List
20338
;;;                                                                                             { 46 DeclItem
20339
;;;                                                                                               what = DECL_POINTER
20340
;;;                                                                                               { 47 List
20341
;;;                                                                                                 { 48 Ptr
20342
;;;                                                                                                 } 48 Ptr
20343
;;;                                                                                               } 47 List
20344
;;;                                                                                             } 46 DeclItem
20345
;;;                                                                                             { 46 DeclItem
20346
;;;                                                                                               what = DECL_NAME
20347
;;;                                                                                               name = sema
20348
;;;                                                                                             } 46 DeclItem
20349
;;;                                                                                           } 45 List
20350
;;;                                                                                         } 44 TypeName
20351
;;;                                                                                       } 43 ParameterDeclaration
20352
;;;                                                                                       { 43 Expr & r
20353 2 jsauermann
;--     load_address serial_out
20354
        MOVE    #Cserial_out, RR
20355 7 jsauermann
;;;                                                                                       } 43 Expr & r
20356 2 jsauermann
;--     push_rr (16 bit)
20357
        MOVE    RR, -(SP)
20358
;--     push 0 bytes
20359
;--     call
20360
        CALL    CV
20361
;--     pop 2 bytes
20362
        ADD     SP, #2
20363 7 jsauermann
;;;                                                                                     } 42 Expr l(r)
20364
;;;                                                                                   } 41 ExpressionStatement
20365
;;;                                                                                 } 40 List
20366
;--     pop 0 bytes
20367
;;;                                                                               } 39 CompoundStatement
20368 16 jsauermann
L37_cont_120:
20369 2 jsauermann
;--     branch
20370 16 jsauermann
        JMP     L37_loop_120
20371
L37_brk_121:
20372 7 jsauermann
;;;                                                                             } 38 for Statement
20373
;;;                                                                           } 37 List
20374 2 jsauermann
;--     pop 12 bytes
20375
        ADD     SP, #12
20376 7 jsauermann
;;;                                                                         } 36 CompoundStatement
20377
;--     ret
20378 2 jsauermann
        RET
20379
;;; ------------------------------------;
20380 7 jsauermann
;;;                                                                         { 36 FunctionDefinition
20381
;;;                                                                           { 37 TypeName
20382
;;;                                                                             { 38 TypeSpecifier (all)
20383
;;;                                                                               spec = void (10000)
20384
;;;                                                                             } 38 TypeSpecifier (all)
20385
;;;                                                                             { 38 List
20386
;;;                                                                               { 39 DeclItem
20387
;;;                                                                                 what = DECL_NAME
20388
;;;                                                                                 name = main_3
20389
;;;                                                                               } 39 DeclItem
20390
;;;                                                                             } 38 List
20391
;;;                                                                           } 37 TypeName
20392
;;;                                                                           { 37 List
20393
;;;                                                                             { 38 DeclItem
20394
;;;                                                                               what = DECL_NAME
20395
;;;                                                                               name = main_3
20396
;;;                                                                             } 38 DeclItem
20397
;;;                                                                             { 38 DeclItem
20398
;;;                                                                               what = DECL_FUN
20399
;;;                                                                             } 38 DeclItem
20400
;;;                                                                           } 37 List
20401 2 jsauermann
Cmain_3:
20402 7 jsauermann
;;;                                                                           { 37 CompoundStatement
20403
;;;                                                                             { 38 InitDeclarator
20404
;;;                                                                               { 39 List
20405
;;;                                                                                 { 40 DeclItem
20406
;;;                                                                                   what = DECL_NAME
20407
;;;                                                                                   name = out
20408
;;;                                                                                 } 40 DeclItem
20409
;;;                                                                               } 39 List
20410 2 jsauermann
;--     push_zero 1 bytes
20411
        CLRB    -(SP)
20412 7 jsauermann
;;;                                                                             } 38 InitDeclarator
20413
;;;                                                                             { 38 List
20414
;;;                                                                               { 39 ExpressionStatement
20415 16 jsauermann
        EI
20416
;;;                                                                               } 39 ExpressionStatement
20417
;;;                                                                               { 39 ExpressionStatement
20418 7 jsauermann
;;;                                                                                 { 40 Expr l(r)
20419
;;;                                                                                   { 41 TypeName
20420
;;;                                                                                     { 42 TypeSpecifier (all)
20421
;;;                                                                                       spec = void (10000)
20422
;;;                                                                                     } 42 TypeSpecifier (all)
20423
;;;                                                                                     { 42 List
20424
;;;                                                                                       { 43 DeclItem
20425
;;;                                                                                         what = DECL_NAME
20426
;;;                                                                                         name = init_stack
20427
;;;                                                                                       } 43 DeclItem
20428
;;;                                                                                     } 42 List
20429
;;;                                                                                   } 41 TypeName
20430 2 jsauermann
;--     push 0 bytes
20431
;--     call
20432
        CALL    Cinit_stack
20433
;--     pop 0 bytes
20434 7 jsauermann
;;;                                                                                 } 40 Expr l(r)
20435
;;;                                                                               } 39 ExpressionStatement
20436
;;;                                                                               { 39 for Statement
20437
;;;                                                                                 { 40 ExpressionStatement
20438
;;;                                                                                 } 40 ExpressionStatement
20439 16 jsauermann
L38_loop_124:
20440 7 jsauermann
;;;                                                                                 { 40 CompoundStatement
20441
;;;                                                                                   { 41 List
20442
;;;                                                                                     { 42 ExpressionStatement
20443
;;;                                                                                       { 43 Expr l(r)
20444
;;;                                                                                         { 44 TypeName
20445
;;;                                                                                           { 45 TypeSpecifier (all)
20446
;;;                                                                                             spec = void (10000)
20447
;;;                                                                                           } 45 TypeSpecifier (all)
20448
;;;                                                                                           { 45 List
20449
;;;                                                                                             { 46 DeclItem
20450
;;;                                                                                               what = DECL_NAME
20451
;;;                                                                                               name = P
20452
;;;                                                                                             } 46 DeclItem
20453
;;;                                                                                           } 45 List
20454
;;;                                                                                         } 44 TypeName
20455
;;;                                                                                         { 44 ParameterDeclaration
20456
;;;                                                                                           isEllipsis = false
20457
;;;                                                                                           { 45 TypeName
20458
;;;                                                                                             { 46 TypeSpecifier (struct/union)
20459
;;;                                                                                               spec = struct '_semaphore' (800000)
20460
;;;                                                                                               name = _semaphore
20461
;;;                                                                                             } 46 TypeSpecifier (struct/union)
20462
;;;                                                                                             { 46 List
20463
;;;                                                                                               { 47 DeclItem
20464
;;;                                                                                                 what = DECL_POINTER
20465
;;;                                                                                                 { 48 List
20466
;;;                                                                                                   { 49 Ptr
20467
;;;                                                                                                   } 49 Ptr
20468
;;;                                                                                                 } 48 List
20469
;;;                                                                                               } 47 DeclItem
20470
;;;                                                                                               { 47 DeclItem
20471
;;;                                                                                                 what = DECL_NAME
20472
;;;                                                                                                 name = sema
20473
;;;                                                                                               } 47 DeclItem
20474
;;;                                                                                             } 46 List
20475
;;;                                                                                           } 45 TypeName
20476
;;;                                                                                         } 44 ParameterDeclaration
20477
;;;                                                                                         { 44 Expr & r
20478 2 jsauermann
;--     load_address t3_control
20479
        MOVE    #Ct3_control, RR
20480 7 jsauermann
;;;                                                                                         } 44 Expr & r
20481 2 jsauermann
;--     push_rr (16 bit)
20482
        MOVE    RR, -(SP)
20483
;--     push 0 bytes
20484
;--     call
20485
        CALL    CP
20486
;--     pop 2 bytes
20487
        ADD     SP, #2
20488 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
20489
;;;                                                                                     } 42 ExpressionStatement
20490
;;;                                                                                     { 42 ExpressionStatement
20491
;;;                                                                                       { 43 Expr l(r)
20492
;;;                                                                                         { 44 TypeName
20493
;;;                                                                                           { 45 TypeSpecifier (all)
20494
;;;                                                                                             spec = void (10000)
20495
;;;                                                                                           } 45 TypeSpecifier (all)
20496
;;;                                                                                           { 45 List
20497
;;;                                                                                             { 46 DeclItem
20498
;;;                                                                                               what = DECL_NAME
20499
;;;                                                                                               name = V
20500
;;;                                                                                             } 46 DeclItem
20501
;;;                                                                                           } 45 List
20502
;;;                                                                                         } 44 TypeName
20503
;;;                                                                                         { 44 ParameterDeclaration
20504
;;;                                                                                           isEllipsis = false
20505
;;;                                                                                           { 45 TypeName
20506
;;;                                                                                             { 46 TypeSpecifier (struct/union)
20507
;;;                                                                                               spec = struct '_semaphore' (800000)
20508
;;;                                                                                               name = _semaphore
20509
;;;                                                                                             } 46 TypeSpecifier (struct/union)
20510
;;;                                                                                             { 46 List
20511
;;;                                                                                               { 47 DeclItem
20512
;;;                                                                                                 what = DECL_POINTER
20513
;;;                                                                                                 { 48 List
20514
;;;                                                                                                   { 49 Ptr
20515
;;;                                                                                                   } 49 Ptr
20516
;;;                                                                                                 } 48 List
20517
;;;                                                                                               } 47 DeclItem
20518
;;;                                                                                               { 47 DeclItem
20519
;;;                                                                                                 what = DECL_NAME
20520
;;;                                                                                                 name = sema
20521
;;;                                                                                               } 47 DeclItem
20522
;;;                                                                                             } 46 List
20523
;;;                                                                                           } 45 TypeName
20524
;;;                                                                                         } 44 ParameterDeclaration
20525
;;;                                                                                         { 44 Expr & r
20526 2 jsauermann
;--     load_address t3_control
20527
        MOVE    #Ct3_control, RR
20528 7 jsauermann
;;;                                                                                         } 44 Expr & r
20529 2 jsauermann
;--     push_rr (16 bit)
20530
        MOVE    RR, -(SP)
20531
;--     push 0 bytes
20532
;--     call
20533
        CALL    CV
20534
;--     pop 2 bytes
20535
        ADD     SP, #2
20536 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
20537
;;;                                                                                     } 42 ExpressionStatement
20538
;;;                                                                                     { 42 ExpressionStatement
20539
;;;                                                                                       { 43 Expr l(r)
20540
;;;                                                                                         { 44 TypeName
20541
;;;                                                                                           { 45 TypeSpecifier (all)
20542
;;;                                                                                             spec = void (10000)
20543
;;;                                                                                           } 45 TypeSpecifier (all)
20544
;;;                                                                                           { 45 List
20545
;;;                                                                                             { 46 DeclItem
20546
;;;                                                                                               what = DECL_NAME
20547
;;;                                                                                               name = P
20548
;;;                                                                                             } 46 DeclItem
20549
;;;                                                                                           } 45 List
20550
;;;                                                                                         } 44 TypeName
20551
;;;                                                                                         { 44 ParameterDeclaration
20552
;;;                                                                                           isEllipsis = false
20553
;;;                                                                                           { 45 TypeName
20554
;;;                                                                                             { 46 TypeSpecifier (struct/union)
20555
;;;                                                                                               spec = struct '_semaphore' (800000)
20556
;;;                                                                                               name = _semaphore
20557
;;;                                                                                             } 46 TypeSpecifier (struct/union)
20558
;;;                                                                                             { 46 List
20559
;;;                                                                                               { 47 DeclItem
20560
;;;                                                                                                 what = DECL_POINTER
20561
;;;                                                                                                 { 48 List
20562
;;;                                                                                                   { 49 Ptr
20563
;;;                                                                                                   } 49 Ptr
20564
;;;                                                                                                 } 48 List
20565
;;;                                                                                               } 47 DeclItem
20566
;;;                                                                                               { 47 DeclItem
20567
;;;                                                                                                 what = DECL_NAME
20568
;;;                                                                                                 name = sema
20569
;;;                                                                                               } 47 DeclItem
20570
;;;                                                                                             } 46 List
20571
;;;                                                                                           } 45 TypeName
20572
;;;                                                                                         } 44 ParameterDeclaration
20573
;;;                                                                                         { 44 Expr & r
20574 2 jsauermann
;--     load_address serial_out
20575
        MOVE    #Cserial_out, RR
20576 7 jsauermann
;;;                                                                                         } 44 Expr & r
20577 2 jsauermann
;--     push_rr (16 bit)
20578
        MOVE    RR, -(SP)
20579
;--     push 0 bytes
20580
;--     call
20581
        CALL    CP
20582
;--     pop 2 bytes
20583
        ADD     SP, #2
20584 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
20585
;;;                                                                                     } 42 ExpressionStatement
20586
;;;                                                                                     { 42 for Statement
20587
;;;                                                                                       { 43 ExpressionStatement
20588
;;;                                                                                         { 44 Expr l = r
20589
;;;                                                                                           { 45 TypeName
20590
;;;                                                                                             { 46 TypeSpecifier (all)
20591
;;;                                                                                               spec = char (20000)
20592
;;;                                                                                             } 46 TypeSpecifier (all)
20593
;;;                                                                                             { 46 List
20594
;;;                                                                                               { 47 DeclItem
20595
;;;                                                                                                 what = DECL_NAME
20596
;;;                                                                                                 name = out
20597
;;;                                                                                               } 47 DeclItem
20598
;;;                                                                                             } 46 List
20599
;;;                                                                                           } 45 TypeName
20600
;;;                                                                                           { 45 NumericExpression (constant 48 = 0x30)
20601 2 jsauermann
;--     load_rr_constant
20602
        MOVE    #0x0030, RR
20603 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 48 = 0x30)
20604 2 jsauermann
;--     store_rr_var out = -1(FP), SP at -1
20605
        MOVE    R, 0(SP)
20606 7 jsauermann
;;;                                                                                         } 44 Expr l = r
20607
;;;                                                                                       } 43 ExpressionStatement
20608 2 jsauermann
;--     branch
20609 16 jsauermann
        JMP     L38_tst_126
20610
L38_loop_126:
20611 7 jsauermann
;;;                                                                                       { 43 ExpressionStatement
20612
;;;                                                                                         { 44 Expr l(r)
20613
;;;                                                                                           { 45 TypeName
20614
;;;                                                                                             { 46 TypeSpecifier (all)
20615
;;;                                                                                               spec = int (80000)
20616
;;;                                                                                             } 46 TypeSpecifier (all)
20617
;;;                                                                                             { 46 List
20618
;;;                                                                                               { 47 DeclItem
20619
;;;                                                                                                 what = DECL_NAME
20620
;;;                                                                                                 name = putchr
20621
;;;                                                                                               } 47 DeclItem
20622
;;;                                                                                             } 46 List
20623
;;;                                                                                           } 45 TypeName
20624
;;;                                                                                           { 45 ParameterDeclaration
20625
;;;                                                                                             isEllipsis = false
20626
;;;                                                                                             { 46 TypeName
20627
;;;                                                                                               { 47 TypeSpecifier (all)
20628
;;;                                                                                                 spec = char (20000)
20629
;;;                                                                                               } 47 TypeSpecifier (all)
20630
;;;                                                                                               { 47 List
20631
;;;                                                                                                 { 48 DeclItem
20632
;;;                                                                                                   what = DECL_NAME
20633
;;;                                                                                                   name = c
20634
;;;                                                                                                 } 48 DeclItem
20635
;;;                                                                                               } 47 List
20636
;;;                                                                                             } 46 TypeName
20637
;;;                                                                                           } 45 ParameterDeclaration
20638
;;;                                                                                           { 45 Expression (variable name)
20639
;;;                                                                                             expr_type = "identifier" (out)
20640 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20641
        MOVE    0(SP), RS
20642 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
20643 2 jsauermann
;--     push_rr (8 bit)
20644
        MOVE    R, -(SP)
20645
;--     push 2 bytes
20646
;--     call
20647
        CALL    Cputchr
20648
;--     pop 1 bytes
20649
        ADD     SP, #1
20650 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
20651
;;;                                                                                       } 43 ExpressionStatement
20652 16 jsauermann
L38_cont_126:
20653 7 jsauermann
;;;                                                                                       { 43 Expr ++r
20654
;;;                                                                                         { 44 Expression (variable name)
20655
;;;                                                                                           expr_type = "identifier" (out)
20656 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20657
        MOVE    0(SP), RS
20658 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20659 2 jsauermann
;--     ++
20660
        ADD     RR, #0x0001
20661
;--     store_rr_var out = -1(FP), SP at -1
20662
        MOVE    R, 0(SP)
20663 7 jsauermann
;;;                                                                                       } 43 Expr ++r
20664 16 jsauermann
L38_tst_126:
20665 7 jsauermann
;;;                                                                                       { 43 Expr l <= r
20666
;;;                                                                                         { 44 TypeName (internal)
20667
;;;                                                                                           { 45 TypeSpecifier (all)
20668
;;;                                                                                             spec = int (80000)
20669
;;;                                                                                           } 45 TypeSpecifier (all)
20670
;;;                                                                                         } 44 TypeName (internal)
20671
;;;                                                                                         { 44 Expression (variable name)
20672
;;;                                                                                           expr_type = "identifier" (out)
20673 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20674
        MOVE    0(SP), RS
20675 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20676 2 jsauermann
;--     l <= r
20677
        SLE     RR, #0x0039
20678 7 jsauermann
;;;                                                                                       } 43 Expr l <= r
20679 2 jsauermann
;--     branch_true
20680 16 jsauermann
        JMP     RRNZ, L38_loop_126
20681
L38_brk_127:
20682 7 jsauermann
;;;                                                                                     } 42 for Statement
20683
;;;                                                                                     { 42 for Statement
20684
;;;                                                                                       { 43 ExpressionStatement
20685
;;;                                                                                         { 44 Expr l = r
20686
;;;                                                                                           { 45 TypeName
20687
;;;                                                                                             { 46 TypeSpecifier (all)
20688
;;;                                                                                               spec = char (20000)
20689
;;;                                                                                             } 46 TypeSpecifier (all)
20690
;;;                                                                                             { 46 List
20691
;;;                                                                                               { 47 DeclItem
20692
;;;                                                                                                 what = DECL_NAME
20693
;;;                                                                                                 name = out
20694
;;;                                                                                               } 47 DeclItem
20695
;;;                                                                                             } 46 List
20696
;;;                                                                                           } 45 TypeName
20697
;;;                                                                                           { 45 NumericExpression (constant 65 = 0x41)
20698 2 jsauermann
;--     load_rr_constant
20699
        MOVE    #0x0041, RR
20700 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 65 = 0x41)
20701 2 jsauermann
;--     store_rr_var out = -1(FP), SP at -1
20702
        MOVE    R, 0(SP)
20703 7 jsauermann
;;;                                                                                         } 44 Expr l = r
20704
;;;                                                                                       } 43 ExpressionStatement
20705 2 jsauermann
;--     branch
20706 16 jsauermann
        JMP     L38_tst_128
20707
L38_loop_128:
20708 7 jsauermann
;;;                                                                                       { 43 ExpressionStatement
20709
;;;                                                                                         { 44 Expr l(r)
20710
;;;                                                                                           { 45 TypeName
20711
;;;                                                                                             { 46 TypeSpecifier (all)
20712
;;;                                                                                               spec = int (80000)
20713
;;;                                                                                             } 46 TypeSpecifier (all)
20714
;;;                                                                                             { 46 List
20715
;;;                                                                                               { 47 DeclItem
20716
;;;                                                                                                 what = DECL_NAME
20717
;;;                                                                                                 name = putchr
20718
;;;                                                                                               } 47 DeclItem
20719
;;;                                                                                             } 46 List
20720
;;;                                                                                           } 45 TypeName
20721
;;;                                                                                           { 45 ParameterDeclaration
20722
;;;                                                                                             isEllipsis = false
20723
;;;                                                                                             { 46 TypeName
20724
;;;                                                                                               { 47 TypeSpecifier (all)
20725
;;;                                                                                                 spec = char (20000)
20726
;;;                                                                                               } 47 TypeSpecifier (all)
20727
;;;                                                                                               { 47 List
20728
;;;                                                                                                 { 48 DeclItem
20729
;;;                                                                                                   what = DECL_NAME
20730
;;;                                                                                                   name = c
20731
;;;                                                                                                 } 48 DeclItem
20732
;;;                                                                                               } 47 List
20733
;;;                                                                                             } 46 TypeName
20734
;;;                                                                                           } 45 ParameterDeclaration
20735
;;;                                                                                           { 45 Expression (variable name)
20736
;;;                                                                                             expr_type = "identifier" (out)
20737 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20738
        MOVE    0(SP), RS
20739 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
20740 2 jsauermann
;--     push_rr (8 bit)
20741
        MOVE    R, -(SP)
20742
;--     push 2 bytes
20743
;--     call
20744
        CALL    Cputchr
20745
;--     pop 1 bytes
20746
        ADD     SP, #1
20747 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
20748
;;;                                                                                       } 43 ExpressionStatement
20749 16 jsauermann
L38_cont_128:
20750 7 jsauermann
;;;                                                                                       { 43 Expr ++r
20751
;;;                                                                                         { 44 Expression (variable name)
20752
;;;                                                                                           expr_type = "identifier" (out)
20753 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20754
        MOVE    0(SP), RS
20755 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20756 2 jsauermann
;--     ++
20757
        ADD     RR, #0x0001
20758
;--     store_rr_var out = -1(FP), SP at -1
20759
        MOVE    R, 0(SP)
20760 7 jsauermann
;;;                                                                                       } 43 Expr ++r
20761 16 jsauermann
L38_tst_128:
20762 7 jsauermann
;;;                                                                                       { 43 Expr l <= r
20763
;;;                                                                                         { 44 TypeName (internal)
20764
;;;                                                                                           { 45 TypeSpecifier (all)
20765
;;;                                                                                             spec = int (80000)
20766
;;;                                                                                           } 45 TypeSpecifier (all)
20767
;;;                                                                                         } 44 TypeName (internal)
20768
;;;                                                                                         { 44 Expression (variable name)
20769
;;;                                                                                           expr_type = "identifier" (out)
20770 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20771
        MOVE    0(SP), RS
20772 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20773 2 jsauermann
;--     l <= r
20774
        SLE     RR, #0x005A
20775 7 jsauermann
;;;                                                                                       } 43 Expr l <= r
20776 2 jsauermann
;--     branch_true
20777 16 jsauermann
        JMP     RRNZ, L38_loop_128
20778
L38_brk_129:
20779 7 jsauermann
;;;                                                                                     } 42 for Statement
20780
;;;                                                                                     { 42 for Statement
20781
;;;                                                                                       { 43 ExpressionStatement
20782
;;;                                                                                         { 44 Expr l = r
20783
;;;                                                                                           { 45 TypeName
20784
;;;                                                                                             { 46 TypeSpecifier (all)
20785
;;;                                                                                               spec = char (20000)
20786
;;;                                                                                             } 46 TypeSpecifier (all)
20787
;;;                                                                                             { 46 List
20788
;;;                                                                                               { 47 DeclItem
20789
;;;                                                                                                 what = DECL_NAME
20790
;;;                                                                                                 name = out
20791
;;;                                                                                               } 47 DeclItem
20792
;;;                                                                                             } 46 List
20793
;;;                                                                                           } 45 TypeName
20794
;;;                                                                                           { 45 NumericExpression (constant 97 = 0x61)
20795 2 jsauermann
;--     load_rr_constant
20796
        MOVE    #0x0061, RR
20797 7 jsauermann
;;;                                                                                           } 45 NumericExpression (constant 97 = 0x61)
20798 2 jsauermann
;--     store_rr_var out = -1(FP), SP at -1
20799
        MOVE    R, 0(SP)
20800 7 jsauermann
;;;                                                                                         } 44 Expr l = r
20801
;;;                                                                                       } 43 ExpressionStatement
20802 2 jsauermann
;--     branch
20803 16 jsauermann
        JMP     L38_tst_130
20804
L38_loop_130:
20805 7 jsauermann
;;;                                                                                       { 43 ExpressionStatement
20806
;;;                                                                                         { 44 Expr l(r)
20807
;;;                                                                                           { 45 TypeName
20808
;;;                                                                                             { 46 TypeSpecifier (all)
20809
;;;                                                                                               spec = int (80000)
20810
;;;                                                                                             } 46 TypeSpecifier (all)
20811
;;;                                                                                             { 46 List
20812
;;;                                                                                               { 47 DeclItem
20813
;;;                                                                                                 what = DECL_NAME
20814
;;;                                                                                                 name = putchr
20815
;;;                                                                                               } 47 DeclItem
20816
;;;                                                                                             } 46 List
20817
;;;                                                                                           } 45 TypeName
20818
;;;                                                                                           { 45 ParameterDeclaration
20819
;;;                                                                                             isEllipsis = false
20820
;;;                                                                                             { 46 TypeName
20821
;;;                                                                                               { 47 TypeSpecifier (all)
20822
;;;                                                                                                 spec = char (20000)
20823
;;;                                                                                               } 47 TypeSpecifier (all)
20824
;;;                                                                                               { 47 List
20825
;;;                                                                                                 { 48 DeclItem
20826
;;;                                                                                                   what = DECL_NAME
20827
;;;                                                                                                   name = c
20828
;;;                                                                                                 } 48 DeclItem
20829
;;;                                                                                               } 47 List
20830
;;;                                                                                             } 46 TypeName
20831
;;;                                                                                           } 45 ParameterDeclaration
20832
;;;                                                                                           { 45 Expression (variable name)
20833
;;;                                                                                             expr_type = "identifier" (out)
20834 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20835
        MOVE    0(SP), RS
20836 7 jsauermann
;;;                                                                                           } 45 Expression (variable name)
20837 2 jsauermann
;--     push_rr (8 bit)
20838
        MOVE    R, -(SP)
20839
;--     push 2 bytes
20840
;--     call
20841
        CALL    Cputchr
20842
;--     pop 1 bytes
20843
        ADD     SP, #1
20844 7 jsauermann
;;;                                                                                         } 44 Expr l(r)
20845
;;;                                                                                       } 43 ExpressionStatement
20846 16 jsauermann
L38_cont_130:
20847 7 jsauermann
;;;                                                                                       { 43 Expr ++r
20848
;;;                                                                                         { 44 Expression (variable name)
20849
;;;                                                                                           expr_type = "identifier" (out)
20850 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20851
        MOVE    0(SP), RS
20852 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20853 2 jsauermann
;--     ++
20854
        ADD     RR, #0x0001
20855
;--     store_rr_var out = -1(FP), SP at -1
20856
        MOVE    R, 0(SP)
20857 7 jsauermann
;;;                                                                                       } 43 Expr ++r
20858 16 jsauermann
L38_tst_130:
20859 7 jsauermann
;;;                                                                                       { 43 Expr l <= r
20860
;;;                                                                                         { 44 TypeName (internal)
20861
;;;                                                                                           { 45 TypeSpecifier (all)
20862
;;;                                                                                             spec = int (80000)
20863
;;;                                                                                           } 45 TypeSpecifier (all)
20864
;;;                                                                                         } 44 TypeName (internal)
20865
;;;                                                                                         { 44 Expression (variable name)
20866
;;;                                                                                           expr_type = "identifier" (out)
20867 2 jsauermann
;--     load_rr_var out = -1(FP), SP at -1 (8 bit)
20868
        MOVE    0(SP), RS
20869 7 jsauermann
;;;                                                                                         } 44 Expression (variable name)
20870 2 jsauermann
;--     l <= r
20871
        SLE     RR, #0x007A
20872 7 jsauermann
;;;                                                                                       } 43 Expr l <= r
20873 2 jsauermann
;--     branch_true
20874 16 jsauermann
        JMP     RRNZ, L38_loop_130
20875
L38_brk_131:
20876 7 jsauermann
;;;                                                                                     } 42 for Statement
20877
;;;                                                                                     { 42 ExpressionStatement
20878
;;;                                                                                       { 43 Expr l(r)
20879
;;;                                                                                         { 44 TypeName
20880
;;;                                                                                           { 45 TypeSpecifier (all)
20881
;;;                                                                                             spec = int (80000)
20882
;;;                                                                                           } 45 TypeSpecifier (all)
20883
;;;                                                                                           { 45 List
20884
;;;                                                                                             { 46 DeclItem
20885
;;;                                                                                               what = DECL_NAME
20886
;;;                                                                                               name = putchr
20887
;;;                                                                                             } 46 DeclItem
20888
;;;                                                                                           } 45 List
20889
;;;                                                                                         } 44 TypeName
20890
;;;                                                                                         { 44 ParameterDeclaration
20891
;;;                                                                                           isEllipsis = false
20892
;;;                                                                                           { 45 TypeName
20893
;;;                                                                                             { 46 TypeSpecifier (all)
20894
;;;                                                                                               spec = char (20000)
20895
;;;                                                                                             } 46 TypeSpecifier (all)
20896
;;;                                                                                             { 46 List
20897
;;;                                                                                               { 47 DeclItem
20898
;;;                                                                                                 what = DECL_NAME
20899
;;;                                                                                                 name = c
20900
;;;                                                                                               } 47 DeclItem
20901
;;;                                                                                             } 46 List
20902
;;;                                                                                           } 45 TypeName
20903
;;;                                                                                         } 44 ParameterDeclaration
20904
;;;                                                                                         { 44 NumericExpression (constant 13 = 0xD)
20905 2 jsauermann
;--     load_rr_constant
20906
        MOVE    #0x000D, RR
20907 7 jsauermann
;;;                                                                                         } 44 NumericExpression (constant 13 = 0xD)
20908 2 jsauermann
;--     push_rr (8 bit)
20909
        MOVE    R, -(SP)
20910
;--     push 2 bytes
20911
;--     call
20912
        CALL    Cputchr
20913
;--     pop 1 bytes
20914
        ADD     SP, #1
20915 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
20916
;;;                                                                                     } 42 ExpressionStatement
20917
;;;                                                                                     { 42 ExpressionStatement
20918
;;;                                                                                       { 43 Expr l(r)
20919
;;;                                                                                         { 44 TypeName
20920
;;;                                                                                           { 45 TypeSpecifier (all)
20921
;;;                                                                                             spec = int (80000)
20922
;;;                                                                                           } 45 TypeSpecifier (all)
20923
;;;                                                                                           { 45 List
20924
;;;                                                                                             { 46 DeclItem
20925
;;;                                                                                               what = DECL_NAME
20926
;;;                                                                                               name = putchr
20927
;;;                                                                                             } 46 DeclItem
20928
;;;                                                                                           } 45 List
20929
;;;                                                                                         } 44 TypeName
20930
;;;                                                                                         { 44 ParameterDeclaration
20931
;;;                                                                                           isEllipsis = false
20932
;;;                                                                                           { 45 TypeName
20933
;;;                                                                                             { 46 TypeSpecifier (all)
20934
;;;                                                                                               spec = char (20000)
20935
;;;                                                                                             } 46 TypeSpecifier (all)
20936
;;;                                                                                             { 46 List
20937
;;;                                                                                               { 47 DeclItem
20938
;;;                                                                                                 what = DECL_NAME
20939
;;;                                                                                                 name = c
20940
;;;                                                                                               } 47 DeclItem
20941
;;;                                                                                             } 46 List
20942
;;;                                                                                           } 45 TypeName
20943
;;;                                                                                         } 44 ParameterDeclaration
20944
;;;                                                                                         { 44 NumericExpression (constant 10 = 0xA)
20945 2 jsauermann
;--     load_rr_constant
20946
        MOVE    #0x000A, RR
20947 7 jsauermann
;;;                                                                                         } 44 NumericExpression (constant 10 = 0xA)
20948 2 jsauermann
;--     push_rr (8 bit)
20949
        MOVE    R, -(SP)
20950
;--     push 2 bytes
20951
;--     call
20952
        CALL    Cputchr
20953
;--     pop 1 bytes
20954
        ADD     SP, #1
20955 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
20956
;;;                                                                                     } 42 ExpressionStatement
20957
;;;                                                                                     { 42 ExpressionStatement
20958
;;;                                                                                       { 43 Expr l(r)
20959
;;;                                                                                         { 44 TypeName
20960
;;;                                                                                           { 45 TypeSpecifier (all)
20961
;;;                                                                                             spec = void (10000)
20962
;;;                                                                                           } 45 TypeSpecifier (all)
20963
;;;                                                                                           { 45 List
20964
;;;                                                                                             { 46 DeclItem
20965
;;;                                                                                               what = DECL_NAME
20966
;;;                                                                                               name = V
20967
;;;                                                                                             } 46 DeclItem
20968
;;;                                                                                           } 45 List
20969
;;;                                                                                         } 44 TypeName
20970
;;;                                                                                         { 44 ParameterDeclaration
20971
;;;                                                                                           isEllipsis = false
20972
;;;                                                                                           { 45 TypeName
20973
;;;                                                                                             { 46 TypeSpecifier (struct/union)
20974
;;;                                                                                               spec = struct '_semaphore' (800000)
20975
;;;                                                                                               name = _semaphore
20976
;;;                                                                                             } 46 TypeSpecifier (struct/union)
20977
;;;                                                                                             { 46 List
20978
;;;                                                                                               { 47 DeclItem
20979
;;;                                                                                                 what = DECL_POINTER
20980
;;;                                                                                                 { 48 List
20981
;;;                                                                                                   { 49 Ptr
20982
;;;                                                                                                   } 49 Ptr
20983
;;;                                                                                                 } 48 List
20984
;;;                                                                                               } 47 DeclItem
20985
;;;                                                                                               { 47 DeclItem
20986
;;;                                                                                                 what = DECL_NAME
20987
;;;                                                                                                 name = sema
20988
;;;                                                                                               } 47 DeclItem
20989
;;;                                                                                             } 46 List
20990
;;;                                                                                           } 45 TypeName
20991
;;;                                                                                         } 44 ParameterDeclaration
20992
;;;                                                                                         { 44 Expr & r
20993 2 jsauermann
;--     load_address serial_out
20994
        MOVE    #Cserial_out, RR
20995 7 jsauermann
;;;                                                                                         } 44 Expr & r
20996 2 jsauermann
;--     push_rr (16 bit)
20997
        MOVE    RR, -(SP)
20998
;--     push 0 bytes
20999
;--     call
21000
        CALL    CV
21001
;--     pop 2 bytes
21002
        ADD     SP, #2
21003 7 jsauermann
;;;                                                                                       } 43 Expr l(r)
21004
;;;                                                                                     } 42 ExpressionStatement
21005
;;;                                                                                   } 41 List
21006
;--     pop 0 bytes
21007
;;;                                                                                 } 40 CompoundStatement
21008 16 jsauermann
L38_cont_124:
21009 2 jsauermann
;--     branch
21010 16 jsauermann
        JMP     L38_loop_124
21011
L38_brk_125:
21012 7 jsauermann
;;;                                                                               } 39 for Statement
21013
;;;                                                                             } 38 List
21014 2 jsauermann
;--     pop 1 bytes
21015
        ADD     SP, #1
21016 7 jsauermann
;;;                                                                           } 37 CompoundStatement
21017
;--     ret
21018 2 jsauermann
        RET
21019
;;; ------------------------------------;
21020 7 jsauermann
;;;                                                                           { 37 Declaration
21021
;;;                                                                             { 38 TypeSpecifier (all)
21022
;;;                                                                               spec = unsigned int (82000)
21023
;;;                                                                             } 38 TypeSpecifier (all)
21024 2 jsauermann
Cstack_1:                       ;
21025
        .BYTE   0                        ; VOID [0]
21026
        .BYTE   0                        ; VOID [1]
21027
        .BYTE   0                        ; VOID [2]
21028
        .BYTE   0                        ; VOID [3]
21029
        .BYTE   0                        ; VOID [4]
21030
        .BYTE   0                        ; VOID [5]
21031
        .BYTE   0                        ; VOID [6]
21032
        .BYTE   0                        ; VOID [7]
21033
        .BYTE   0                        ; VOID [8]
21034
        .BYTE   0                        ; VOID [9]
21035
        .BYTE   0                        ; VOID [10]
21036
        .BYTE   0                        ; VOID [11]
21037
        .BYTE   0                        ; VOID [12]
21038
        .BYTE   0                        ; VOID [13]
21039
        .BYTE   0                        ; VOID [14]
21040
        .BYTE   0                        ; VOID [15]
21041
        .BYTE   0                        ; VOID [16]
21042
        .BYTE   0                        ; VOID [17]
21043
        .BYTE   0                        ; VOID [18]
21044
        .BYTE   0                        ; VOID [19]
21045
        .BYTE   0                        ; VOID [20]
21046
        .BYTE   0                        ; VOID [21]
21047
        .BYTE   0                        ; VOID [22]
21048
        .BYTE   0                        ; VOID [23]
21049
        .BYTE   0                        ; VOID [24]
21050
        .BYTE   0                        ; VOID [25]
21051
        .BYTE   0                        ; VOID [26]
21052
        .BYTE   0                        ; VOID [27]
21053
        .BYTE   0                        ; VOID [28]
21054
        .BYTE   0                        ; VOID [29]
21055
        .BYTE   0                        ; VOID [30]
21056
        .BYTE   0                        ; VOID [31]
21057
        .BYTE   0                        ; VOID [32]
21058
        .BYTE   0                        ; VOID [33]
21059
        .BYTE   0                        ; VOID [34]
21060
        .BYTE   0                        ; VOID [35]
21061
        .BYTE   0                        ; VOID [36]
21062
        .BYTE   0                        ; VOID [37]
21063
        .BYTE   0                        ; VOID [38]
21064
        .BYTE   0                        ; VOID [39]
21065
        .BYTE   0                        ; VOID [40]
21066
        .BYTE   0                        ; VOID [41]
21067
        .BYTE   0                        ; VOID [42]
21068
        .BYTE   0                        ; VOID [43]
21069
        .BYTE   0                        ; VOID [44]
21070
        .BYTE   0                        ; VOID [45]
21071
        .BYTE   0                        ; VOID [46]
21072
        .BYTE   0                        ; VOID [47]
21073
        .BYTE   0                        ; VOID [48]
21074
        .BYTE   0                        ; VOID [49]
21075
        .BYTE   0                        ; VOID [50]
21076
        .BYTE   0                        ; VOID [51]
21077
        .BYTE   0                        ; VOID [52]
21078
        .BYTE   0                        ; VOID [53]
21079
        .BYTE   0                        ; VOID [54]
21080
        .BYTE   0                        ; VOID [55]
21081
        .BYTE   0                        ; VOID [56]
21082
        .BYTE   0                        ; VOID [57]
21083
        .BYTE   0                        ; VOID [58]
21084
        .BYTE   0                        ; VOID [59]
21085
        .BYTE   0                        ; VOID [60]
21086
        .BYTE   0                        ; VOID [61]
21087
        .BYTE   0                        ; VOID [62]
21088
        .BYTE   0                        ; VOID [63]
21089
        .BYTE   0                        ; VOID [64]
21090
        .BYTE   0                        ; VOID [65]
21091
        .BYTE   0                        ; VOID [66]
21092
        .BYTE   0                        ; VOID [67]
21093
        .BYTE   0                        ; VOID [68]
21094
        .BYTE   0                        ; VOID [69]
21095
        .BYTE   0                        ; VOID [70]
21096
        .BYTE   0                        ; VOID [71]
21097
        .BYTE   0                        ; VOID [72]
21098
        .BYTE   0                        ; VOID [73]
21099
        .BYTE   0                        ; VOID [74]
21100
        .BYTE   0                        ; VOID [75]
21101
        .BYTE   0                        ; VOID [76]
21102
        .BYTE   0                        ; VOID [77]
21103
        .BYTE   0                        ; VOID [78]
21104
        .BYTE   0                        ; VOID [79]
21105
        .BYTE   0                        ; VOID [80]
21106
        .BYTE   0                        ; VOID [81]
21107
        .BYTE   0                        ; VOID [82]
21108
        .BYTE   0                        ; VOID [83]
21109
        .BYTE   0                        ; VOID [84]
21110
        .BYTE   0                        ; VOID [85]
21111
        .BYTE   0                        ; VOID [86]
21112
        .BYTE   0                        ; VOID [87]
21113
        .BYTE   0                        ; VOID [88]
21114
        .BYTE   0                        ; VOID [89]
21115
        .BYTE   0                        ; VOID [90]
21116
        .BYTE   0                        ; VOID [91]
21117
        .BYTE   0                        ; VOID [92]
21118
        .BYTE   0                        ; VOID [93]
21119
        .BYTE   0                        ; VOID [94]
21120
        .BYTE   0                        ; VOID [95]
21121
        .BYTE   0                        ; VOID [96]
21122
        .BYTE   0                        ; VOID [97]
21123
        .BYTE   0                        ; VOID [98]
21124
        .BYTE   0                        ; VOID [99]
21125
        .BYTE   0                        ; VOID [100]
21126
        .BYTE   0                        ; VOID [101]
21127
        .BYTE   0                        ; VOID [102]
21128
        .BYTE   0                        ; VOID [103]
21129
        .BYTE   0                        ; VOID [104]
21130
        .BYTE   0                        ; VOID [105]
21131
        .BYTE   0                        ; VOID [106]
21132
        .BYTE   0                        ; VOID [107]
21133
        .BYTE   0                        ; VOID [108]
21134
        .BYTE   0                        ; VOID [109]
21135
        .BYTE   0                        ; VOID [110]
21136
        .BYTE   0                        ; VOID [111]
21137
        .BYTE   0                        ; VOID [112]
21138
        .BYTE   0                        ; VOID [113]
21139
        .BYTE   0                        ; VOID [114]
21140
        .BYTE   0                        ; VOID [115]
21141
        .BYTE   0                        ; VOID [116]
21142
        .BYTE   0                        ; VOID [117]
21143
        .BYTE   0                        ; VOID [118]
21144
        .BYTE   0                        ; VOID [119]
21145
        .BYTE   0                        ; VOID [120]
21146
        .BYTE   0                        ; VOID [121]
21147
        .BYTE   0                        ; VOID [122]
21148
        .BYTE   0                        ; VOID [123]
21149
        .BYTE   0                        ; VOID [124]
21150
        .BYTE   0                        ; VOID [125]
21151
        .BYTE   0                        ; VOID [126]
21152
        .BYTE   0                        ; VOID [127]
21153
        .BYTE   0                        ; VOID [128]
21154
        .BYTE   0                        ; VOID [129]
21155
        .BYTE   0                        ; VOID [130]
21156
        .BYTE   0                        ; VOID [131]
21157
        .BYTE   0                        ; VOID [132]
21158
        .BYTE   0                        ; VOID [133]
21159
        .BYTE   0                        ; VOID [134]
21160
        .BYTE   0                        ; VOID [135]
21161
        .BYTE   0                        ; VOID [136]
21162
        .BYTE   0                        ; VOID [137]
21163
        .BYTE   0                        ; VOID [138]
21164
        .BYTE   0                        ; VOID [139]
21165
        .BYTE   0                        ; VOID [140]
21166
        .BYTE   0                        ; VOID [141]
21167
        .BYTE   0                        ; VOID [142]
21168
        .BYTE   0                        ; VOID [143]
21169
        .BYTE   0                        ; VOID [144]
21170
        .BYTE   0                        ; VOID [145]
21171
        .BYTE   0                        ; VOID [146]
21172
        .BYTE   0                        ; VOID [147]
21173
        .BYTE   0                        ; VOID [148]
21174
        .BYTE   0                        ; VOID [149]
21175
        .BYTE   0                        ; VOID [150]
21176
        .BYTE   0                        ; VOID [151]
21177
        .BYTE   0                        ; VOID [152]
21178
        .BYTE   0                        ; VOID [153]
21179
        .BYTE   0                        ; VOID [154]
21180
        .BYTE   0                        ; VOID [155]
21181
        .BYTE   0                        ; VOID [156]
21182
        .BYTE   0                        ; VOID [157]
21183
        .BYTE   0                        ; VOID [158]
21184
        .BYTE   0                        ; VOID [159]
21185
        .BYTE   0                        ; VOID [160]
21186
        .BYTE   0                        ; VOID [161]
21187
        .BYTE   0                        ; VOID [162]
21188
        .BYTE   0                        ; VOID [163]
21189
        .BYTE   0                        ; VOID [164]
21190
        .BYTE   0                        ; VOID [165]
21191
        .BYTE   0                        ; VOID [166]
21192
        .BYTE   0                        ; VOID [167]
21193
        .BYTE   0                        ; VOID [168]
21194
        .BYTE   0                        ; VOID [169]
21195
        .BYTE   0                        ; VOID [170]
21196
        .BYTE   0                        ; VOID [171]
21197
        .BYTE   0                        ; VOID [172]
21198
        .BYTE   0                        ; VOID [173]
21199
        .BYTE   0                        ; VOID [174]
21200
        .BYTE   0                        ; VOID [175]
21201
        .BYTE   0                        ; VOID [176]
21202
        .BYTE   0                        ; VOID [177]
21203
        .BYTE   0                        ; VOID [178]
21204
        .BYTE   0                        ; VOID [179]
21205
        .BYTE   0                        ; VOID [180]
21206
        .BYTE   0                        ; VOID [181]
21207
        .BYTE   0                        ; VOID [182]
21208
        .BYTE   0                        ; VOID [183]
21209
        .BYTE   0                        ; VOID [184]
21210
        .BYTE   0                        ; VOID [185]
21211
        .BYTE   0                        ; VOID [186]
21212
        .BYTE   0                        ; VOID [187]
21213
        .BYTE   0                        ; VOID [188]
21214
        .BYTE   0                        ; VOID [189]
21215
        .BYTE   0                        ; VOID [190]
21216
        .BYTE   0                        ; VOID [191]
21217
        .BYTE   0                        ; VOID [192]
21218
        .BYTE   0                        ; VOID [193]
21219
        .BYTE   0                        ; VOID [194]
21220
        .BYTE   0                        ; VOID [195]
21221
        .BYTE   0                        ; VOID [196]
21222
        .BYTE   0                        ; VOID [197]
21223
        .BYTE   0                        ; VOID [198]
21224
        .BYTE   0                        ; VOID [199]
21225
        .BYTE   0                        ; VOID [200]
21226
        .BYTE   0                        ; VOID [201]
21227
        .BYTE   0                        ; VOID [202]
21228
        .BYTE   0                        ; VOID [203]
21229
        .BYTE   0                        ; VOID [204]
21230
        .BYTE   0                        ; VOID [205]
21231
        .BYTE   0                        ; VOID [206]
21232
        .BYTE   0                        ; VOID [207]
21233
        .BYTE   0                        ; VOID [208]
21234
        .BYTE   0                        ; VOID [209]
21235
        .BYTE   0                        ; VOID [210]
21236
        .BYTE   0                        ; VOID [211]
21237
        .BYTE   0                        ; VOID [212]
21238
        .BYTE   0                        ; VOID [213]
21239
        .BYTE   0                        ; VOID [214]
21240
        .BYTE   0                        ; VOID [215]
21241
        .BYTE   0                        ; VOID [216]
21242
        .BYTE   0                        ; VOID [217]
21243
        .BYTE   0                        ; VOID [218]
21244
        .BYTE   0                        ; VOID [219]
21245
        .BYTE   0                        ; VOID [220]
21246
        .BYTE   0                        ; VOID [221]
21247
        .BYTE   0                        ; VOID [222]
21248
        .BYTE   0                        ; VOID [223]
21249
        .BYTE   0                        ; VOID [224]
21250
        .BYTE   0                        ; VOID [225]
21251
        .BYTE   0                        ; VOID [226]
21252
        .BYTE   0                        ; VOID [227]
21253
        .BYTE   0                        ; VOID [228]
21254
        .BYTE   0                        ; VOID [229]
21255
        .BYTE   0                        ; VOID [230]
21256
        .BYTE   0                        ; VOID [231]
21257
        .BYTE   0                        ; VOID [232]
21258
        .BYTE   0                        ; VOID [233]
21259
        .BYTE   0                        ; VOID [234]
21260
        .BYTE   0                        ; VOID [235]
21261
        .BYTE   0                        ; VOID [236]
21262
        .BYTE   0                        ; VOID [237]
21263
        .BYTE   0                        ; VOID [238]
21264
        .BYTE   0                        ; VOID [239]
21265
        .BYTE   0                        ; VOID [240]
21266
        .BYTE   0                        ; VOID [241]
21267
        .BYTE   0                        ; VOID [242]
21268
        .BYTE   0                        ; VOID [243]
21269
        .BYTE   0                        ; VOID [244]
21270
        .BYTE   0                        ; VOID [245]
21271
        .BYTE   0                        ; VOID [246]
21272
        .BYTE   0                        ; VOID [247]
21273
        .BYTE   0                        ; VOID [248]
21274
        .BYTE   0                        ; VOID [249]
21275
        .BYTE   0                        ; VOID [250]
21276
        .BYTE   0                        ; VOID [251]
21277
        .BYTE   0                        ; VOID [252]
21278
        .BYTE   0                        ; VOID [253]
21279
        .BYTE   0                        ; VOID [254]
21280
        .BYTE   0                        ; VOID [255]
21281
        .BYTE   0                        ; VOID [256]
21282
        .BYTE   0                        ; VOID [257]
21283
        .BYTE   0                        ; VOID [258]
21284
        .BYTE   0                        ; VOID [259]
21285
        .BYTE   0                        ; VOID [260]
21286
        .BYTE   0                        ; VOID [261]
21287
        .BYTE   0                        ; VOID [262]
21288
        .BYTE   0                        ; VOID [263]
21289
        .BYTE   0                        ; VOID [264]
21290
        .BYTE   0                        ; VOID [265]
21291
        .BYTE   0                        ; VOID [266]
21292
        .BYTE   0                        ; VOID [267]
21293
        .BYTE   0                        ; VOID [268]
21294
        .BYTE   0                        ; VOID [269]
21295
        .BYTE   0                        ; VOID [270]
21296
        .BYTE   0                        ; VOID [271]
21297
        .BYTE   0                        ; VOID [272]
21298
        .BYTE   0                        ; VOID [273]
21299
        .BYTE   0                        ; VOID [274]
21300
        .BYTE   0                        ; VOID [275]
21301
        .BYTE   0                        ; VOID [276]
21302
        .BYTE   0                        ; VOID [277]
21303
        .BYTE   0                        ; VOID [278]
21304
        .BYTE   0                        ; VOID [279]
21305
        .BYTE   0                        ; VOID [280]
21306
        .BYTE   0                        ; VOID [281]
21307
        .BYTE   0                        ; VOID [282]
21308
        .BYTE   0                        ; VOID [283]
21309
        .BYTE   0                        ; VOID [284]
21310
        .BYTE   0                        ; VOID [285]
21311
        .BYTE   0                        ; VOID [286]
21312
        .BYTE   0                        ; VOID [287]
21313
        .BYTE   0                        ; VOID [288]
21314
        .BYTE   0                        ; VOID [289]
21315
        .BYTE   0                        ; VOID [290]
21316
        .BYTE   0                        ; VOID [291]
21317
        .BYTE   0                        ; VOID [292]
21318
        .BYTE   0                        ; VOID [293]
21319
        .BYTE   0                        ; VOID [294]
21320
        .BYTE   0                        ; VOID [295]
21321
        .BYTE   0                        ; VOID [296]
21322
        .BYTE   0                        ; VOID [297]
21323
        .BYTE   0                        ; VOID [298]
21324
        .BYTE   0                        ; VOID [299]
21325
        .BYTE   0                        ; VOID [300]
21326
        .BYTE   0                        ; VOID [301]
21327
        .BYTE   0                        ; VOID [302]
21328
        .BYTE   0                        ; VOID [303]
21329
        .BYTE   0                        ; VOID [304]
21330
        .BYTE   0                        ; VOID [305]
21331
        .BYTE   0                        ; VOID [306]
21332
        .BYTE   0                        ; VOID [307]
21333
        .BYTE   0                        ; VOID [308]
21334
        .BYTE   0                        ; VOID [309]
21335
        .BYTE   0                        ; VOID [310]
21336
        .BYTE   0                        ; VOID [311]
21337
        .BYTE   0                        ; VOID [312]
21338
        .BYTE   0                        ; VOID [313]
21339
        .BYTE   0                        ; VOID [314]
21340
        .BYTE   0                        ; VOID [315]
21341
        .BYTE   0                        ; VOID [316]
21342
        .BYTE   0                        ; VOID [317]
21343
        .BYTE   0                        ; VOID [318]
21344
        .BYTE   0                        ; VOID [319]
21345
        .BYTE   0                        ; VOID [320]
21346
        .BYTE   0                        ; VOID [321]
21347
        .BYTE   0                        ; VOID [322]
21348
        .BYTE   0                        ; VOID [323]
21349
        .BYTE   0                        ; VOID [324]
21350
        .BYTE   0                        ; VOID [325]
21351
        .BYTE   0                        ; VOID [326]
21352
        .BYTE   0                        ; VOID [327]
21353
        .BYTE   0                        ; VOID [328]
21354
        .BYTE   0                        ; VOID [329]
21355
        .BYTE   0                        ; VOID [330]
21356
        .BYTE   0                        ; VOID [331]
21357
        .BYTE   0                        ; VOID [332]
21358
        .BYTE   0                        ; VOID [333]
21359
        .BYTE   0                        ; VOID [334]
21360
        .BYTE   0                        ; VOID [335]
21361
        .BYTE   0                        ; VOID [336]
21362
        .BYTE   0                        ; VOID [337]
21363
        .BYTE   0                        ; VOID [338]
21364
        .BYTE   0                        ; VOID [339]
21365
        .BYTE   0                        ; VOID [340]
21366
        .BYTE   0                        ; VOID [341]
21367
        .BYTE   0                        ; VOID [342]
21368
        .BYTE   0                        ; VOID [343]
21369
        .BYTE   0                        ; VOID [344]
21370
        .BYTE   0                        ; VOID [345]
21371
        .BYTE   0                        ; VOID [346]
21372
        .BYTE   0                        ; VOID [347]
21373
        .BYTE   0                        ; VOID [348]
21374
        .BYTE   0                        ; VOID [349]
21375
        .BYTE   0                        ; VOID [350]
21376
        .BYTE   0                        ; VOID [351]
21377
        .BYTE   0                        ; VOID [352]
21378
        .BYTE   0                        ; VOID [353]
21379
        .BYTE   0                        ; VOID [354]
21380
        .BYTE   0                        ; VOID [355]
21381
        .BYTE   0                        ; VOID [356]
21382
        .BYTE   0                        ; VOID [357]
21383
        .BYTE   0                        ; VOID [358]
21384
        .BYTE   0                        ; VOID [359]
21385
        .BYTE   0                        ; VOID [360]
21386
        .BYTE   0                        ; VOID [361]
21387
        .BYTE   0                        ; VOID [362]
21388
        .BYTE   0                        ; VOID [363]
21389
        .BYTE   0                        ; VOID [364]
21390
        .BYTE   0                        ; VOID [365]
21391
        .BYTE   0                        ; VOID [366]
21392
        .BYTE   0                        ; VOID [367]
21393
        .BYTE   0                        ; VOID [368]
21394
        .BYTE   0                        ; VOID [369]
21395
        .BYTE   0                        ; VOID [370]
21396
        .BYTE   0                        ; VOID [371]
21397
        .BYTE   0                        ; VOID [372]
21398
        .BYTE   0                        ; VOID [373]
21399
        .BYTE   0                        ; VOID [374]
21400
        .BYTE   0                        ; VOID [375]
21401
        .BYTE   0                        ; VOID [376]
21402
        .BYTE   0                        ; VOID [377]
21403
        .BYTE   0                        ; VOID [378]
21404
        .BYTE   0                        ; VOID [379]
21405
        .BYTE   0                        ; VOID [380]
21406
        .BYTE   0                        ; VOID [381]
21407
        .BYTE   0                        ; VOID [382]
21408
        .BYTE   0                        ; VOID [383]
21409
        .BYTE   0                        ; VOID [384]
21410
        .BYTE   0                        ; VOID [385]
21411
        .BYTE   0                        ; VOID [386]
21412
        .BYTE   0                        ; VOID [387]
21413
        .BYTE   0                        ; VOID [388]
21414
        .BYTE   0                        ; VOID [389]
21415
        .BYTE   0                        ; VOID [390]
21416
        .BYTE   0                        ; VOID [391]
21417
        .BYTE   0                        ; VOID [392]
21418
        .BYTE   0                        ; VOID [393]
21419
        .BYTE   0                        ; VOID [394]
21420
        .BYTE   0                        ; VOID [395]
21421
        .BYTE   0                        ; VOID [396]
21422
        .BYTE   0                        ; VOID [397]
21423
        .BYTE   0                        ; VOID [398]
21424
        .BYTE   0                        ; VOID [399]
21425
Ctos_1:                 ;
21426
        .WORD   0
21427
        .WORD   0
21428
        .WORD   Cmain_1                 ; & main_1
21429
Ctop_1:                 ;
21430 7 jsauermann
;;;                                                                           } 37 Declaration
21431 2 jsauermann
;;; ------------------------------------;
21432 7 jsauermann
;;;                                                                           { 37 Declaration
21433
;;;                                                                             { 38 TypeSpecifier (all)
21434
;;;                                                                               spec = unsigned int (82000)
21435
;;;                                                                             } 38 TypeSpecifier (all)
21436 2 jsauermann
Cstack_2:                       ;
21437
        .BYTE   0                        ; VOID [0]
21438
        .BYTE   0                        ; VOID [1]
21439
        .BYTE   0                        ; VOID [2]
21440
        .BYTE   0                        ; VOID [3]
21441
        .BYTE   0                        ; VOID [4]
21442
        .BYTE   0                        ; VOID [5]
21443
        .BYTE   0                        ; VOID [6]
21444
        .BYTE   0                        ; VOID [7]
21445
        .BYTE   0                        ; VOID [8]
21446
        .BYTE   0                        ; VOID [9]
21447
        .BYTE   0                        ; VOID [10]
21448
        .BYTE   0                        ; VOID [11]
21449
        .BYTE   0                        ; VOID [12]
21450
        .BYTE   0                        ; VOID [13]
21451
        .BYTE   0                        ; VOID [14]
21452
        .BYTE   0                        ; VOID [15]
21453
        .BYTE   0                        ; VOID [16]
21454
        .BYTE   0                        ; VOID [17]
21455
        .BYTE   0                        ; VOID [18]
21456
        .BYTE   0                        ; VOID [19]
21457
        .BYTE   0                        ; VOID [20]
21458
        .BYTE   0                        ; VOID [21]
21459
        .BYTE   0                        ; VOID [22]
21460
        .BYTE   0                        ; VOID [23]
21461
        .BYTE   0                        ; VOID [24]
21462
        .BYTE   0                        ; VOID [25]
21463
        .BYTE   0                        ; VOID [26]
21464
        .BYTE   0                        ; VOID [27]
21465
        .BYTE   0                        ; VOID [28]
21466
        .BYTE   0                        ; VOID [29]
21467
        .BYTE   0                        ; VOID [30]
21468
        .BYTE   0                        ; VOID [31]
21469
        .BYTE   0                        ; VOID [32]
21470
        .BYTE   0                        ; VOID [33]
21471
        .BYTE   0                        ; VOID [34]
21472
        .BYTE   0                        ; VOID [35]
21473
        .BYTE   0                        ; VOID [36]
21474
        .BYTE   0                        ; VOID [37]
21475
        .BYTE   0                        ; VOID [38]
21476
        .BYTE   0                        ; VOID [39]
21477
        .BYTE   0                        ; VOID [40]
21478
        .BYTE   0                        ; VOID [41]
21479
        .BYTE   0                        ; VOID [42]
21480
        .BYTE   0                        ; VOID [43]
21481
        .BYTE   0                        ; VOID [44]
21482
        .BYTE   0                        ; VOID [45]
21483
        .BYTE   0                        ; VOID [46]
21484
        .BYTE   0                        ; VOID [47]
21485
        .BYTE   0                        ; VOID [48]
21486
        .BYTE   0                        ; VOID [49]
21487
        .BYTE   0                        ; VOID [50]
21488
        .BYTE   0                        ; VOID [51]
21489
        .BYTE   0                        ; VOID [52]
21490
        .BYTE   0                        ; VOID [53]
21491
        .BYTE   0                        ; VOID [54]
21492
        .BYTE   0                        ; VOID [55]
21493
        .BYTE   0                        ; VOID [56]
21494
        .BYTE   0                        ; VOID [57]
21495
        .BYTE   0                        ; VOID [58]
21496
        .BYTE   0                        ; VOID [59]
21497
        .BYTE   0                        ; VOID [60]
21498
        .BYTE   0                        ; VOID [61]
21499
        .BYTE   0                        ; VOID [62]
21500
        .BYTE   0                        ; VOID [63]
21501
        .BYTE   0                        ; VOID [64]
21502
        .BYTE   0                        ; VOID [65]
21503
        .BYTE   0                        ; VOID [66]
21504
        .BYTE   0                        ; VOID [67]
21505
        .BYTE   0                        ; VOID [68]
21506
        .BYTE   0                        ; VOID [69]
21507
        .BYTE   0                        ; VOID [70]
21508
        .BYTE   0                        ; VOID [71]
21509
        .BYTE   0                        ; VOID [72]
21510
        .BYTE   0                        ; VOID [73]
21511
        .BYTE   0                        ; VOID [74]
21512
        .BYTE   0                        ; VOID [75]
21513
        .BYTE   0                        ; VOID [76]
21514
        .BYTE   0                        ; VOID [77]
21515
        .BYTE   0                        ; VOID [78]
21516
        .BYTE   0                        ; VOID [79]
21517
        .BYTE   0                        ; VOID [80]
21518
        .BYTE   0                        ; VOID [81]
21519
        .BYTE   0                        ; VOID [82]
21520
        .BYTE   0                        ; VOID [83]
21521
        .BYTE   0                        ; VOID [84]
21522
        .BYTE   0                        ; VOID [85]
21523
        .BYTE   0                        ; VOID [86]
21524
        .BYTE   0                        ; VOID [87]
21525
        .BYTE   0                        ; VOID [88]
21526
        .BYTE   0                        ; VOID [89]
21527
        .BYTE   0                        ; VOID [90]
21528
        .BYTE   0                        ; VOID [91]
21529
        .BYTE   0                        ; VOID [92]
21530
        .BYTE   0                        ; VOID [93]
21531
        .BYTE   0                        ; VOID [94]
21532
        .BYTE   0                        ; VOID [95]
21533
        .BYTE   0                        ; VOID [96]
21534
        .BYTE   0                        ; VOID [97]
21535
        .BYTE   0                        ; VOID [98]
21536
        .BYTE   0                        ; VOID [99]
21537
        .BYTE   0                        ; VOID [100]
21538
        .BYTE   0                        ; VOID [101]
21539
        .BYTE   0                        ; VOID [102]
21540
        .BYTE   0                        ; VOID [103]
21541
        .BYTE   0                        ; VOID [104]
21542
        .BYTE   0                        ; VOID [105]
21543
        .BYTE   0                        ; VOID [106]
21544
        .BYTE   0                        ; VOID [107]
21545
        .BYTE   0                        ; VOID [108]
21546
        .BYTE   0                        ; VOID [109]
21547
        .BYTE   0                        ; VOID [110]
21548
        .BYTE   0                        ; VOID [111]
21549
        .BYTE   0                        ; VOID [112]
21550
        .BYTE   0                        ; VOID [113]
21551
        .BYTE   0                        ; VOID [114]
21552
        .BYTE   0                        ; VOID [115]
21553
        .BYTE   0                        ; VOID [116]
21554
        .BYTE   0                        ; VOID [117]
21555
        .BYTE   0                        ; VOID [118]
21556
        .BYTE   0                        ; VOID [119]
21557
        .BYTE   0                        ; VOID [120]
21558
        .BYTE   0                        ; VOID [121]
21559
        .BYTE   0                        ; VOID [122]
21560
        .BYTE   0                        ; VOID [123]
21561
        .BYTE   0                        ; VOID [124]
21562
        .BYTE   0                        ; VOID [125]
21563
        .BYTE   0                        ; VOID [126]
21564
        .BYTE   0                        ; VOID [127]
21565
        .BYTE   0                        ; VOID [128]
21566
        .BYTE   0                        ; VOID [129]
21567
        .BYTE   0                        ; VOID [130]
21568
        .BYTE   0                        ; VOID [131]
21569
        .BYTE   0                        ; VOID [132]
21570
        .BYTE   0                        ; VOID [133]
21571
        .BYTE   0                        ; VOID [134]
21572
        .BYTE   0                        ; VOID [135]
21573
        .BYTE   0                        ; VOID [136]
21574
        .BYTE   0                        ; VOID [137]
21575
        .BYTE   0                        ; VOID [138]
21576
        .BYTE   0                        ; VOID [139]
21577
        .BYTE   0                        ; VOID [140]
21578
        .BYTE   0                        ; VOID [141]
21579
        .BYTE   0                        ; VOID [142]
21580
        .BYTE   0                        ; VOID [143]
21581
        .BYTE   0                        ; VOID [144]
21582
        .BYTE   0                        ; VOID [145]
21583
        .BYTE   0                        ; VOID [146]
21584
        .BYTE   0                        ; VOID [147]
21585
        .BYTE   0                        ; VOID [148]
21586
        .BYTE   0                        ; VOID [149]
21587
        .BYTE   0                        ; VOID [150]
21588
        .BYTE   0                        ; VOID [151]
21589
        .BYTE   0                        ; VOID [152]
21590
        .BYTE   0                        ; VOID [153]
21591
        .BYTE   0                        ; VOID [154]
21592
        .BYTE   0                        ; VOID [155]
21593
        .BYTE   0                        ; VOID [156]
21594
        .BYTE   0                        ; VOID [157]
21595
        .BYTE   0                        ; VOID [158]
21596
        .BYTE   0                        ; VOID [159]
21597
        .BYTE   0                        ; VOID [160]
21598
        .BYTE   0                        ; VOID [161]
21599
        .BYTE   0                        ; VOID [162]
21600
        .BYTE   0                        ; VOID [163]
21601
        .BYTE   0                        ; VOID [164]
21602
        .BYTE   0                        ; VOID [165]
21603
        .BYTE   0                        ; VOID [166]
21604
        .BYTE   0                        ; VOID [167]
21605
        .BYTE   0                        ; VOID [168]
21606
        .BYTE   0                        ; VOID [169]
21607
        .BYTE   0                        ; VOID [170]
21608
        .BYTE   0                        ; VOID [171]
21609
        .BYTE   0                        ; VOID [172]
21610
        .BYTE   0                        ; VOID [173]
21611
        .BYTE   0                        ; VOID [174]
21612
        .BYTE   0                        ; VOID [175]
21613
        .BYTE   0                        ; VOID [176]
21614
        .BYTE   0                        ; VOID [177]
21615
        .BYTE   0                        ; VOID [178]
21616
        .BYTE   0                        ; VOID [179]
21617
        .BYTE   0                        ; VOID [180]
21618
        .BYTE   0                        ; VOID [181]
21619
        .BYTE   0                        ; VOID [182]
21620
        .BYTE   0                        ; VOID [183]
21621
        .BYTE   0                        ; VOID [184]
21622
        .BYTE   0                        ; VOID [185]
21623
        .BYTE   0                        ; VOID [186]
21624
        .BYTE   0                        ; VOID [187]
21625
        .BYTE   0                        ; VOID [188]
21626
        .BYTE   0                        ; VOID [189]
21627
        .BYTE   0                        ; VOID [190]
21628
        .BYTE   0                        ; VOID [191]
21629
        .BYTE   0                        ; VOID [192]
21630
        .BYTE   0                        ; VOID [193]
21631
        .BYTE   0                        ; VOID [194]
21632
        .BYTE   0                        ; VOID [195]
21633
        .BYTE   0                        ; VOID [196]
21634
        .BYTE   0                        ; VOID [197]
21635
        .BYTE   0                        ; VOID [198]
21636
        .BYTE   0                        ; VOID [199]
21637
        .BYTE   0                        ; VOID [200]
21638
        .BYTE   0                        ; VOID [201]
21639
        .BYTE   0                        ; VOID [202]
21640
        .BYTE   0                        ; VOID [203]
21641
        .BYTE   0                        ; VOID [204]
21642
        .BYTE   0                        ; VOID [205]
21643
        .BYTE   0                        ; VOID [206]
21644
        .BYTE   0                        ; VOID [207]
21645
        .BYTE   0                        ; VOID [208]
21646
        .BYTE   0                        ; VOID [209]
21647
        .BYTE   0                        ; VOID [210]
21648
        .BYTE   0                        ; VOID [211]
21649
        .BYTE   0                        ; VOID [212]
21650
        .BYTE   0                        ; VOID [213]
21651
        .BYTE   0                        ; VOID [214]
21652
        .BYTE   0                        ; VOID [215]
21653
        .BYTE   0                        ; VOID [216]
21654
        .BYTE   0                        ; VOID [217]
21655
        .BYTE   0                        ; VOID [218]
21656
        .BYTE   0                        ; VOID [219]
21657
        .BYTE   0                        ; VOID [220]
21658
        .BYTE   0                        ; VOID [221]
21659
        .BYTE   0                        ; VOID [222]
21660
        .BYTE   0                        ; VOID [223]
21661
        .BYTE   0                        ; VOID [224]
21662
        .BYTE   0                        ; VOID [225]
21663
        .BYTE   0                        ; VOID [226]
21664
        .BYTE   0                        ; VOID [227]
21665
        .BYTE   0                        ; VOID [228]
21666
        .BYTE   0                        ; VOID [229]
21667
        .BYTE   0                        ; VOID [230]
21668
        .BYTE   0                        ; VOID [231]
21669
        .BYTE   0                        ; VOID [232]
21670
        .BYTE   0                        ; VOID [233]
21671
        .BYTE   0                        ; VOID [234]
21672
        .BYTE   0                        ; VOID [235]
21673
        .BYTE   0                        ; VOID [236]
21674
        .BYTE   0                        ; VOID [237]
21675
        .BYTE   0                        ; VOID [238]
21676
        .BYTE   0                        ; VOID [239]
21677
        .BYTE   0                        ; VOID [240]
21678
        .BYTE   0                        ; VOID [241]
21679
        .BYTE   0                        ; VOID [242]
21680
        .BYTE   0                        ; VOID [243]
21681
        .BYTE   0                        ; VOID [244]
21682
        .BYTE   0                        ; VOID [245]
21683
        .BYTE   0                        ; VOID [246]
21684
        .BYTE   0                        ; VOID [247]
21685
        .BYTE   0                        ; VOID [248]
21686
        .BYTE   0                        ; VOID [249]
21687
        .BYTE   0                        ; VOID [250]
21688
        .BYTE   0                        ; VOID [251]
21689
        .BYTE   0                        ; VOID [252]
21690
        .BYTE   0                        ; VOID [253]
21691
        .BYTE   0                        ; VOID [254]
21692
        .BYTE   0                        ; VOID [255]
21693
        .BYTE   0                        ; VOID [256]
21694
        .BYTE   0                        ; VOID [257]
21695
        .BYTE   0                        ; VOID [258]
21696
        .BYTE   0                        ; VOID [259]
21697
        .BYTE   0                        ; VOID [260]
21698
        .BYTE   0                        ; VOID [261]
21699
        .BYTE   0                        ; VOID [262]
21700
        .BYTE   0                        ; VOID [263]
21701
        .BYTE   0                        ; VOID [264]
21702
        .BYTE   0                        ; VOID [265]
21703
        .BYTE   0                        ; VOID [266]
21704
        .BYTE   0                        ; VOID [267]
21705
        .BYTE   0                        ; VOID [268]
21706
        .BYTE   0                        ; VOID [269]
21707
        .BYTE   0                        ; VOID [270]
21708
        .BYTE   0                        ; VOID [271]
21709
        .BYTE   0                        ; VOID [272]
21710
        .BYTE   0                        ; VOID [273]
21711
        .BYTE   0                        ; VOID [274]
21712
        .BYTE   0                        ; VOID [275]
21713
        .BYTE   0                        ; VOID [276]
21714
        .BYTE   0                        ; VOID [277]
21715
        .BYTE   0                        ; VOID [278]
21716
        .BYTE   0                        ; VOID [279]
21717
        .BYTE   0                        ; VOID [280]
21718
        .BYTE   0                        ; VOID [281]
21719
        .BYTE   0                        ; VOID [282]
21720
        .BYTE   0                        ; VOID [283]
21721
        .BYTE   0                        ; VOID [284]
21722
        .BYTE   0                        ; VOID [285]
21723
        .BYTE   0                        ; VOID [286]
21724
        .BYTE   0                        ; VOID [287]
21725
        .BYTE   0                        ; VOID [288]
21726
        .BYTE   0                        ; VOID [289]
21727
        .BYTE   0                        ; VOID [290]
21728
        .BYTE   0                        ; VOID [291]
21729
        .BYTE   0                        ; VOID [292]
21730
        .BYTE   0                        ; VOID [293]
21731
        .BYTE   0                        ; VOID [294]
21732
        .BYTE   0                        ; VOID [295]
21733
        .BYTE   0                        ; VOID [296]
21734
        .BYTE   0                        ; VOID [297]
21735
        .BYTE   0                        ; VOID [298]
21736
        .BYTE   0                        ; VOID [299]
21737
        .BYTE   0                        ; VOID [300]
21738
        .BYTE   0                        ; VOID [301]
21739
        .BYTE   0                        ; VOID [302]
21740
        .BYTE   0                        ; VOID [303]
21741
        .BYTE   0                        ; VOID [304]
21742
        .BYTE   0                        ; VOID [305]
21743
        .BYTE   0                        ; VOID [306]
21744
        .BYTE   0                        ; VOID [307]
21745
        .BYTE   0                        ; VOID [308]
21746
        .BYTE   0                        ; VOID [309]
21747
        .BYTE   0                        ; VOID [310]
21748
        .BYTE   0                        ; VOID [311]
21749
        .BYTE   0                        ; VOID [312]
21750
        .BYTE   0                        ; VOID [313]
21751
        .BYTE   0                        ; VOID [314]
21752
        .BYTE   0                        ; VOID [315]
21753
        .BYTE   0                        ; VOID [316]
21754
        .BYTE   0                        ; VOID [317]
21755
        .BYTE   0                        ; VOID [318]
21756
        .BYTE   0                        ; VOID [319]
21757
        .BYTE   0                        ; VOID [320]
21758
        .BYTE   0                        ; VOID [321]
21759
        .BYTE   0                        ; VOID [322]
21760
        .BYTE   0                        ; VOID [323]
21761
        .BYTE   0                        ; VOID [324]
21762
        .BYTE   0                        ; VOID [325]
21763
        .BYTE   0                        ; VOID [326]
21764
        .BYTE   0                        ; VOID [327]
21765
        .BYTE   0                        ; VOID [328]
21766
        .BYTE   0                        ; VOID [329]
21767
        .BYTE   0                        ; VOID [330]
21768
        .BYTE   0                        ; VOID [331]
21769
        .BYTE   0                        ; VOID [332]
21770
        .BYTE   0                        ; VOID [333]
21771
        .BYTE   0                        ; VOID [334]
21772
        .BYTE   0                        ; VOID [335]
21773
        .BYTE   0                        ; VOID [336]
21774
        .BYTE   0                        ; VOID [337]
21775
        .BYTE   0                        ; VOID [338]
21776
        .BYTE   0                        ; VOID [339]
21777
        .BYTE   0                        ; VOID [340]
21778
        .BYTE   0                        ; VOID [341]
21779
        .BYTE   0                        ; VOID [342]
21780
        .BYTE   0                        ; VOID [343]
21781
        .BYTE   0                        ; VOID [344]
21782
        .BYTE   0                        ; VOID [345]
21783
        .BYTE   0                        ; VOID [346]
21784
        .BYTE   0                        ; VOID [347]
21785
        .BYTE   0                        ; VOID [348]
21786
        .BYTE   0                        ; VOID [349]
21787
        .BYTE   0                        ; VOID [350]
21788
        .BYTE   0                        ; VOID [351]
21789
        .BYTE   0                        ; VOID [352]
21790
        .BYTE   0                        ; VOID [353]
21791
        .BYTE   0                        ; VOID [354]
21792
        .BYTE   0                        ; VOID [355]
21793
        .BYTE   0                        ; VOID [356]
21794
        .BYTE   0                        ; VOID [357]
21795
        .BYTE   0                        ; VOID [358]
21796
        .BYTE   0                        ; VOID [359]
21797
        .BYTE   0                        ; VOID [360]
21798
        .BYTE   0                        ; VOID [361]
21799
        .BYTE   0                        ; VOID [362]
21800
        .BYTE   0                        ; VOID [363]
21801
        .BYTE   0                        ; VOID [364]
21802
        .BYTE   0                        ; VOID [365]
21803
        .BYTE   0                        ; VOID [366]
21804
        .BYTE   0                        ; VOID [367]
21805
        .BYTE   0                        ; VOID [368]
21806
        .BYTE   0                        ; VOID [369]
21807
        .BYTE   0                        ; VOID [370]
21808
        .BYTE   0                        ; VOID [371]
21809
        .BYTE   0                        ; VOID [372]
21810
        .BYTE   0                        ; VOID [373]
21811
        .BYTE   0                        ; VOID [374]
21812
        .BYTE   0                        ; VOID [375]
21813
        .BYTE   0                        ; VOID [376]
21814
        .BYTE   0                        ; VOID [377]
21815
        .BYTE   0                        ; VOID [378]
21816
        .BYTE   0                        ; VOID [379]
21817
        .BYTE   0                        ; VOID [380]
21818
        .BYTE   0                        ; VOID [381]
21819
        .BYTE   0                        ; VOID [382]
21820
        .BYTE   0                        ; VOID [383]
21821
        .BYTE   0                        ; VOID [384]
21822
        .BYTE   0                        ; VOID [385]
21823
        .BYTE   0                        ; VOID [386]
21824
        .BYTE   0                        ; VOID [387]
21825
        .BYTE   0                        ; VOID [388]
21826
        .BYTE   0                        ; VOID [389]
21827
        .BYTE   0                        ; VOID [390]
21828
        .BYTE   0                        ; VOID [391]
21829
        .BYTE   0                        ; VOID [392]
21830
        .BYTE   0                        ; VOID [393]
21831
        .BYTE   0                        ; VOID [394]
21832
        .BYTE   0                        ; VOID [395]
21833
        .BYTE   0                        ; VOID [396]
21834
        .BYTE   0                        ; VOID [397]
21835
        .BYTE   0                        ; VOID [398]
21836
        .BYTE   0                        ; VOID [399]
21837
Ctos_2:                 ;
21838
        .WORD   0
21839
        .WORD   0
21840
        .WORD   Cmain_2                 ; & main_2
21841
Ctop_2:                 ;
21842 7 jsauermann
;;;                                                                           } 37 Declaration
21843 2 jsauermann
;;; ------------------------------------;
21844 7 jsauermann
;;;                                                                           { 37 Declaration
21845
;;;                                                                             { 38 TypeSpecifier (all)
21846
;;;                                                                               spec = unsigned int (82000)
21847
;;;                                                                             } 38 TypeSpecifier (all)
21848 2 jsauermann
Cstack_3:                       ;
21849
        .BYTE   0                        ; VOID [0]
21850
        .BYTE   0                        ; VOID [1]
21851
        .BYTE   0                        ; VOID [2]
21852
        .BYTE   0                        ; VOID [3]
21853
        .BYTE   0                        ; VOID [4]
21854
        .BYTE   0                        ; VOID [5]
21855
        .BYTE   0                        ; VOID [6]
21856
        .BYTE   0                        ; VOID [7]
21857
        .BYTE   0                        ; VOID [8]
21858
        .BYTE   0                        ; VOID [9]
21859
        .BYTE   0                        ; VOID [10]
21860
        .BYTE   0                        ; VOID [11]
21861
        .BYTE   0                        ; VOID [12]
21862
        .BYTE   0                        ; VOID [13]
21863
        .BYTE   0                        ; VOID [14]
21864
        .BYTE   0                        ; VOID [15]
21865
        .BYTE   0                        ; VOID [16]
21866
        .BYTE   0                        ; VOID [17]
21867
        .BYTE   0                        ; VOID [18]
21868
        .BYTE   0                        ; VOID [19]
21869
        .BYTE   0                        ; VOID [20]
21870
        .BYTE   0                        ; VOID [21]
21871
        .BYTE   0                        ; VOID [22]
21872
        .BYTE   0                        ; VOID [23]
21873
        .BYTE   0                        ; VOID [24]
21874
        .BYTE   0                        ; VOID [25]
21875
        .BYTE   0                        ; VOID [26]
21876
        .BYTE   0                        ; VOID [27]
21877
        .BYTE   0                        ; VOID [28]
21878
        .BYTE   0                        ; VOID [29]
21879
        .BYTE   0                        ; VOID [30]
21880
        .BYTE   0                        ; VOID [31]
21881
        .BYTE   0                        ; VOID [32]
21882
        .BYTE   0                        ; VOID [33]
21883
        .BYTE   0                        ; VOID [34]
21884
        .BYTE   0                        ; VOID [35]
21885
        .BYTE   0                        ; VOID [36]
21886
        .BYTE   0                        ; VOID [37]
21887
        .BYTE   0                        ; VOID [38]
21888
        .BYTE   0                        ; VOID [39]
21889
        .BYTE   0                        ; VOID [40]
21890
        .BYTE   0                        ; VOID [41]
21891
        .BYTE   0                        ; VOID [42]
21892
        .BYTE   0                        ; VOID [43]
21893
        .BYTE   0                        ; VOID [44]
21894
        .BYTE   0                        ; VOID [45]
21895
        .BYTE   0                        ; VOID [46]
21896
        .BYTE   0                        ; VOID [47]
21897
        .BYTE   0                        ; VOID [48]
21898
        .BYTE   0                        ; VOID [49]
21899
        .BYTE   0                        ; VOID [50]
21900
        .BYTE   0                        ; VOID [51]
21901
        .BYTE   0                        ; VOID [52]
21902
        .BYTE   0                        ; VOID [53]
21903
        .BYTE   0                        ; VOID [54]
21904
        .BYTE   0                        ; VOID [55]
21905
        .BYTE   0                        ; VOID [56]
21906
        .BYTE   0                        ; VOID [57]
21907
        .BYTE   0                        ; VOID [58]
21908
        .BYTE   0                        ; VOID [59]
21909
        .BYTE   0                        ; VOID [60]
21910
        .BYTE   0                        ; VOID [61]
21911
        .BYTE   0                        ; VOID [62]
21912
        .BYTE   0                        ; VOID [63]
21913
        .BYTE   0                        ; VOID [64]
21914
        .BYTE   0                        ; VOID [65]
21915
        .BYTE   0                        ; VOID [66]
21916
        .BYTE   0                        ; VOID [67]
21917
        .BYTE   0                        ; VOID [68]
21918
        .BYTE   0                        ; VOID [69]
21919
        .BYTE   0                        ; VOID [70]
21920
        .BYTE   0                        ; VOID [71]
21921
        .BYTE   0                        ; VOID [72]
21922
        .BYTE   0                        ; VOID [73]
21923
        .BYTE   0                        ; VOID [74]
21924
        .BYTE   0                        ; VOID [75]
21925
        .BYTE   0                        ; VOID [76]
21926
        .BYTE   0                        ; VOID [77]
21927
        .BYTE   0                        ; VOID [78]
21928
        .BYTE   0                        ; VOID [79]
21929
        .BYTE   0                        ; VOID [80]
21930
        .BYTE   0                        ; VOID [81]
21931
        .BYTE   0                        ; VOID [82]
21932
        .BYTE   0                        ; VOID [83]
21933
        .BYTE   0                        ; VOID [84]
21934
        .BYTE   0                        ; VOID [85]
21935
        .BYTE   0                        ; VOID [86]
21936
        .BYTE   0                        ; VOID [87]
21937
        .BYTE   0                        ; VOID [88]
21938
        .BYTE   0                        ; VOID [89]
21939
        .BYTE   0                        ; VOID [90]
21940
        .BYTE   0                        ; VOID [91]
21941
        .BYTE   0                        ; VOID [92]
21942
        .BYTE   0                        ; VOID [93]
21943
        .BYTE   0                        ; VOID [94]
21944
        .BYTE   0                        ; VOID [95]
21945
        .BYTE   0                        ; VOID [96]
21946
        .BYTE   0                        ; VOID [97]
21947
        .BYTE   0                        ; VOID [98]
21948
        .BYTE   0                        ; VOID [99]
21949
        .BYTE   0                        ; VOID [100]
21950
        .BYTE   0                        ; VOID [101]
21951
        .BYTE   0                        ; VOID [102]
21952
        .BYTE   0                        ; VOID [103]
21953
        .BYTE   0                        ; VOID [104]
21954
        .BYTE   0                        ; VOID [105]
21955
        .BYTE   0                        ; VOID [106]
21956
        .BYTE   0                        ; VOID [107]
21957
        .BYTE   0                        ; VOID [108]
21958
        .BYTE   0                        ; VOID [109]
21959
        .BYTE   0                        ; VOID [110]
21960
        .BYTE   0                        ; VOID [111]
21961
        .BYTE   0                        ; VOID [112]
21962
        .BYTE   0                        ; VOID [113]
21963
        .BYTE   0                        ; VOID [114]
21964
        .BYTE   0                        ; VOID [115]
21965
        .BYTE   0                        ; VOID [116]
21966
        .BYTE   0                        ; VOID [117]
21967
        .BYTE   0                        ; VOID [118]
21968
        .BYTE   0                        ; VOID [119]
21969
        .BYTE   0                        ; VOID [120]
21970
        .BYTE   0                        ; VOID [121]
21971
        .BYTE   0                        ; VOID [122]
21972
        .BYTE   0                        ; VOID [123]
21973
        .BYTE   0                        ; VOID [124]
21974
        .BYTE   0                        ; VOID [125]
21975
        .BYTE   0                        ; VOID [126]
21976
        .BYTE   0                        ; VOID [127]
21977
        .BYTE   0                        ; VOID [128]
21978
        .BYTE   0                        ; VOID [129]
21979
        .BYTE   0                        ; VOID [130]
21980
        .BYTE   0                        ; VOID [131]
21981
        .BYTE   0                        ; VOID [132]
21982
        .BYTE   0                        ; VOID [133]
21983
        .BYTE   0                        ; VOID [134]
21984
        .BYTE   0                        ; VOID [135]
21985
        .BYTE   0                        ; VOID [136]
21986
        .BYTE   0                        ; VOID [137]
21987
        .BYTE   0                        ; VOID [138]
21988
        .BYTE   0                        ; VOID [139]
21989
        .BYTE   0                        ; VOID [140]
21990
        .BYTE   0                        ; VOID [141]
21991
        .BYTE   0                        ; VOID [142]
21992
        .BYTE   0                        ; VOID [143]
21993
        .BYTE   0                        ; VOID [144]
21994
        .BYTE   0                        ; VOID [145]
21995
        .BYTE   0                        ; VOID [146]
21996
        .BYTE   0                        ; VOID [147]
21997
        .BYTE   0                        ; VOID [148]
21998
        .BYTE   0                        ; VOID [149]
21999
        .BYTE   0                        ; VOID [150]
22000
        .BYTE   0                        ; VOID [151]
22001
        .BYTE   0                        ; VOID [152]
22002
        .BYTE   0                        ; VOID [153]
22003
        .BYTE   0                        ; VOID [154]
22004
        .BYTE   0                        ; VOID [155]
22005
        .BYTE   0                        ; VOID [156]
22006
        .BYTE   0                        ; VOID [157]
22007
        .BYTE   0                        ; VOID [158]
22008
        .BYTE   0                        ; VOID [159]
22009
        .BYTE   0                        ; VOID [160]
22010
        .BYTE   0                        ; VOID [161]
22011
        .BYTE   0                        ; VOID [162]
22012
        .BYTE   0                        ; VOID [163]
22013
        .BYTE   0                        ; VOID [164]
22014
        .BYTE   0                        ; VOID [165]
22015
        .BYTE   0                        ; VOID [166]
22016
        .BYTE   0                        ; VOID [167]
22017
        .BYTE   0                        ; VOID [168]
22018
        .BYTE   0                        ; VOID [169]
22019
        .BYTE   0                        ; VOID [170]
22020
        .BYTE   0                        ; VOID [171]
22021
        .BYTE   0                        ; VOID [172]
22022
        .BYTE   0                        ; VOID [173]
22023
        .BYTE   0                        ; VOID [174]
22024
        .BYTE   0                        ; VOID [175]
22025
        .BYTE   0                        ; VOID [176]
22026
        .BYTE   0                        ; VOID [177]
22027
        .BYTE   0                        ; VOID [178]
22028
        .BYTE   0                        ; VOID [179]
22029
        .BYTE   0                        ; VOID [180]
22030
        .BYTE   0                        ; VOID [181]
22031
        .BYTE   0                        ; VOID [182]
22032
        .BYTE   0                        ; VOID [183]
22033
        .BYTE   0                        ; VOID [184]
22034
        .BYTE   0                        ; VOID [185]
22035
        .BYTE   0                        ; VOID [186]
22036
        .BYTE   0                        ; VOID [187]
22037
        .BYTE   0                        ; VOID [188]
22038
        .BYTE   0                        ; VOID [189]
22039
        .BYTE   0                        ; VOID [190]
22040
        .BYTE   0                        ; VOID [191]
22041
        .BYTE   0                        ; VOID [192]
22042
        .BYTE   0                        ; VOID [193]
22043
        .BYTE   0                        ; VOID [194]
22044
        .BYTE   0                        ; VOID [195]
22045
        .BYTE   0                        ; VOID [196]
22046
        .BYTE   0                        ; VOID [197]
22047
        .BYTE   0                        ; VOID [198]
22048
        .BYTE   0                        ; VOID [199]
22049
        .BYTE   0                        ; VOID [200]
22050
        .BYTE   0                        ; VOID [201]
22051
        .BYTE   0                        ; VOID [202]
22052
        .BYTE   0                        ; VOID [203]
22053
        .BYTE   0                        ; VOID [204]
22054
        .BYTE   0                        ; VOID [205]
22055
        .BYTE   0                        ; VOID [206]
22056
        .BYTE   0                        ; VOID [207]
22057
        .BYTE   0                        ; VOID [208]
22058
        .BYTE   0                        ; VOID [209]
22059
        .BYTE   0                        ; VOID [210]
22060
        .BYTE   0                        ; VOID [211]
22061
        .BYTE   0                        ; VOID [212]
22062
        .BYTE   0                        ; VOID [213]
22063
        .BYTE   0                        ; VOID [214]
22064
        .BYTE   0                        ; VOID [215]
22065
        .BYTE   0                        ; VOID [216]
22066
        .BYTE   0                        ; VOID [217]
22067
        .BYTE   0                        ; VOID [218]
22068
        .BYTE   0                        ; VOID [219]
22069
        .BYTE   0                        ; VOID [220]
22070
        .BYTE   0                        ; VOID [221]
22071
        .BYTE   0                        ; VOID [222]
22072
        .BYTE   0                        ; VOID [223]
22073
        .BYTE   0                        ; VOID [224]
22074
        .BYTE   0                        ; VOID [225]
22075
        .BYTE   0                        ; VOID [226]
22076
        .BYTE   0                        ; VOID [227]
22077
        .BYTE   0                        ; VOID [228]
22078
        .BYTE   0                        ; VOID [229]
22079
        .BYTE   0                        ; VOID [230]
22080
        .BYTE   0                        ; VOID [231]
22081
        .BYTE   0                        ; VOID [232]
22082
        .BYTE   0                        ; VOID [233]
22083
        .BYTE   0                        ; VOID [234]
22084
        .BYTE   0                        ; VOID [235]
22085
        .BYTE   0                        ; VOID [236]
22086
        .BYTE   0                        ; VOID [237]
22087
        .BYTE   0                        ; VOID [238]
22088
        .BYTE   0                        ; VOID [239]
22089
        .BYTE   0                        ; VOID [240]
22090
        .BYTE   0                        ; VOID [241]
22091
        .BYTE   0                        ; VOID [242]
22092
        .BYTE   0                        ; VOID [243]
22093
        .BYTE   0                        ; VOID [244]
22094
        .BYTE   0                        ; VOID [245]
22095
        .BYTE   0                        ; VOID [246]
22096
        .BYTE   0                        ; VOID [247]
22097
        .BYTE   0                        ; VOID [248]
22098
        .BYTE   0                        ; VOID [249]
22099
        .BYTE   0                        ; VOID [250]
22100
        .BYTE   0                        ; VOID [251]
22101
        .BYTE   0                        ; VOID [252]
22102
        .BYTE   0                        ; VOID [253]
22103
        .BYTE   0                        ; VOID [254]
22104
        .BYTE   0                        ; VOID [255]
22105
        .BYTE   0                        ; VOID [256]
22106
        .BYTE   0                        ; VOID [257]
22107
        .BYTE   0                        ; VOID [258]
22108
        .BYTE   0                        ; VOID [259]
22109
        .BYTE   0                        ; VOID [260]
22110
        .BYTE   0                        ; VOID [261]
22111
        .BYTE   0                        ; VOID [262]
22112
        .BYTE   0                        ; VOID [263]
22113
        .BYTE   0                        ; VOID [264]
22114
        .BYTE   0                        ; VOID [265]
22115
        .BYTE   0                        ; VOID [266]
22116
        .BYTE   0                        ; VOID [267]
22117
        .BYTE   0                        ; VOID [268]
22118
        .BYTE   0                        ; VOID [269]
22119
        .BYTE   0                        ; VOID [270]
22120
        .BYTE   0                        ; VOID [271]
22121
        .BYTE   0                        ; VOID [272]
22122
        .BYTE   0                        ; VOID [273]
22123
        .BYTE   0                        ; VOID [274]
22124
        .BYTE   0                        ; VOID [275]
22125
        .BYTE   0                        ; VOID [276]
22126
        .BYTE   0                        ; VOID [277]
22127
        .BYTE   0                        ; VOID [278]
22128
        .BYTE   0                        ; VOID [279]
22129
        .BYTE   0                        ; VOID [280]
22130
        .BYTE   0                        ; VOID [281]
22131
        .BYTE   0                        ; VOID [282]
22132
        .BYTE   0                        ; VOID [283]
22133
        .BYTE   0                        ; VOID [284]
22134
        .BYTE   0                        ; VOID [285]
22135
        .BYTE   0                        ; VOID [286]
22136
        .BYTE   0                        ; VOID [287]
22137
        .BYTE   0                        ; VOID [288]
22138
        .BYTE   0                        ; VOID [289]
22139
        .BYTE   0                        ; VOID [290]
22140
        .BYTE   0                        ; VOID [291]
22141
        .BYTE   0                        ; VOID [292]
22142
        .BYTE   0                        ; VOID [293]
22143
        .BYTE   0                        ; VOID [294]
22144
        .BYTE   0                        ; VOID [295]
22145
        .BYTE   0                        ; VOID [296]
22146
        .BYTE   0                        ; VOID [297]
22147
        .BYTE   0                        ; VOID [298]
22148
        .BYTE   0                        ; VOID [299]
22149
        .BYTE   0                        ; VOID [300]
22150
        .BYTE   0                        ; VOID [301]
22151
        .BYTE   0                        ; VOID [302]
22152
        .BYTE   0                        ; VOID [303]
22153
        .BYTE   0                        ; VOID [304]
22154
        .BYTE   0                        ; VOID [305]
22155
        .BYTE   0                        ; VOID [306]
22156
        .BYTE   0                        ; VOID [307]
22157
        .BYTE   0                        ; VOID [308]
22158
        .BYTE   0                        ; VOID [309]
22159
        .BYTE   0                        ; VOID [310]
22160
        .BYTE   0                        ; VOID [311]
22161
        .BYTE   0                        ; VOID [312]
22162
        .BYTE   0                        ; VOID [313]
22163
        .BYTE   0                        ; VOID [314]
22164
        .BYTE   0                        ; VOID [315]
22165
        .BYTE   0                        ; VOID [316]
22166
        .BYTE   0                        ; VOID [317]
22167
        .BYTE   0                        ; VOID [318]
22168
        .BYTE   0                        ; VOID [319]
22169
        .BYTE   0                        ; VOID [320]
22170
        .BYTE   0                        ; VOID [321]
22171
        .BYTE   0                        ; VOID [322]
22172
        .BYTE   0                        ; VOID [323]
22173
        .BYTE   0                        ; VOID [324]
22174
        .BYTE   0                        ; VOID [325]
22175
        .BYTE   0                        ; VOID [326]
22176
        .BYTE   0                        ; VOID [327]
22177
        .BYTE   0                        ; VOID [328]
22178
        .BYTE   0                        ; VOID [329]
22179
        .BYTE   0                        ; VOID [330]
22180
        .BYTE   0                        ; VOID [331]
22181
        .BYTE   0                        ; VOID [332]
22182
        .BYTE   0                        ; VOID [333]
22183
        .BYTE   0                        ; VOID [334]
22184
        .BYTE   0                        ; VOID [335]
22185
        .BYTE   0                        ; VOID [336]
22186
        .BYTE   0                        ; VOID [337]
22187
        .BYTE   0                        ; VOID [338]
22188
        .BYTE   0                        ; VOID [339]
22189
        .BYTE   0                        ; VOID [340]
22190
        .BYTE   0                        ; VOID [341]
22191
        .BYTE   0                        ; VOID [342]
22192
        .BYTE   0                        ; VOID [343]
22193
        .BYTE   0                        ; VOID [344]
22194
        .BYTE   0                        ; VOID [345]
22195
        .BYTE   0                        ; VOID [346]
22196
        .BYTE   0                        ; VOID [347]
22197
        .BYTE   0                        ; VOID [348]
22198
        .BYTE   0                        ; VOID [349]
22199
        .BYTE   0                        ; VOID [350]
22200
        .BYTE   0                        ; VOID [351]
22201
        .BYTE   0                        ; VOID [352]
22202
        .BYTE   0                        ; VOID [353]
22203
        .BYTE   0                        ; VOID [354]
22204
        .BYTE   0                        ; VOID [355]
22205
        .BYTE   0                        ; VOID [356]
22206
        .BYTE   0                        ; VOID [357]
22207
        .BYTE   0                        ; VOID [358]
22208
        .BYTE   0                        ; VOID [359]
22209
        .BYTE   0                        ; VOID [360]
22210
        .BYTE   0                        ; VOID [361]
22211
        .BYTE   0                        ; VOID [362]
22212
        .BYTE   0                        ; VOID [363]
22213
        .BYTE   0                        ; VOID [364]
22214
        .BYTE   0                        ; VOID [365]
22215
        .BYTE   0                        ; VOID [366]
22216
        .BYTE   0                        ; VOID [367]
22217
        .BYTE   0                        ; VOID [368]
22218
        .BYTE   0                        ; VOID [369]
22219
        .BYTE   0                        ; VOID [370]
22220
        .BYTE   0                        ; VOID [371]
22221
        .BYTE   0                        ; VOID [372]
22222
        .BYTE   0                        ; VOID [373]
22223
        .BYTE   0                        ; VOID [374]
22224
        .BYTE   0                        ; VOID [375]
22225
        .BYTE   0                        ; VOID [376]
22226
        .BYTE   0                        ; VOID [377]
22227
        .BYTE   0                        ; VOID [378]
22228
        .BYTE   0                        ; VOID [379]
22229
        .BYTE   0                        ; VOID [380]
22230
        .BYTE   0                        ; VOID [381]
22231
        .BYTE   0                        ; VOID [382]
22232
        .BYTE   0                        ; VOID [383]
22233
        .BYTE   0                        ; VOID [384]
22234
        .BYTE   0                        ; VOID [385]
22235
        .BYTE   0                        ; VOID [386]
22236
        .BYTE   0                        ; VOID [387]
22237
        .BYTE   0                        ; VOID [388]
22238
        .BYTE   0                        ; VOID [389]
22239
        .BYTE   0                        ; VOID [390]
22240
        .BYTE   0                        ; VOID [391]
22241
        .BYTE   0                        ; VOID [392]
22242
        .BYTE   0                        ; VOID [393]
22243
        .BYTE   0                        ; VOID [394]
22244
        .BYTE   0                        ; VOID [395]
22245
        .BYTE   0                        ; VOID [396]
22246
        .BYTE   0                        ; VOID [397]
22247
        .BYTE   0                        ; VOID [398]
22248
        .BYTE   0                        ; VOID [399]
22249
Ctos_3:                 ;
22250
        .WORD   0
22251
        .WORD   0
22252
        .WORD   Cmain_3                 ; & main_3
22253
Ctop_3:                 ;
22254 7 jsauermann
;;;                                                                           } 37 Declaration
22255 2 jsauermann
;;; ------------------------------------;
22256 7 jsauermann
;;;                                                                           { 37 Declaration
22257
;;;                                                                             { 38 TypeSpecifier (struct/union)
22258
;;;                                                                               spec = 'Task' (4000000)
22259
;;;                                                                               name = Task
22260
;;;                                                                             } 38 TypeSpecifier (struct/union)
22261 2 jsauermann
Ctask_3:                        ;
22262
        .WORD   Ctask_idle                      ; & task_idle
22263
        .WORD   Ctos_3
22264
        .BYTE   0
22265
        .BYTE   30
22266 16 jsauermann
        .WORD   Cstr_137
22267 2 jsauermann
        .WORD   Cstack_3                        ; & stack_3
22268
        .WORD   Ctop_3                  ; & top_3
22269
        .BYTE   0                        ; VOID sema_ret
22270
        .BYTE   0                        ; VOID saved_priority
22271
        .WORD   0                        ; VOID waiting_for
22272
        .WORD   0                        ; VOID next_waiting_task
22273
        .WORD   0                        ; VOID sleep_count
22274 7 jsauermann
;;;                                                                           } 37 Declaration
22275 2 jsauermann
;;; ------------------------------------;
22276 7 jsauermann
;;;                                                                           { 37 Declaration
22277
;;;                                                                             { 38 TypeSpecifier (struct/union)
22278
;;;                                                                               spec = 'Task' (4000000)
22279
;;;                                                                               name = Task
22280
;;;                                                                             } 38 TypeSpecifier (struct/union)
22281 2 jsauermann
Ctask_2:                        ;
22282
        .WORD   Ctask_3                 ; & task_3
22283
        .WORD   Ctos_2
22284
        .BYTE   0
22285
        .BYTE   40
22286 16 jsauermann
        .WORD   Cstr_138
22287 2 jsauermann
        .WORD   Cstack_2                        ; & stack_2
22288
        .WORD   Ctop_2                  ; & top_2
22289
        .BYTE   0                        ; VOID sema_ret
22290
        .BYTE   0                        ; VOID saved_priority
22291
        .WORD   0                        ; VOID waiting_for
22292
        .WORD   0                        ; VOID next_waiting_task
22293
        .WORD   0                        ; VOID sleep_count
22294 7 jsauermann
;;;                                                                           } 37 Declaration
22295 2 jsauermann
;;; ------------------------------------;
22296 7 jsauermann
;;;                                                                           { 37 Declaration
22297
;;;                                                                             { 38 TypeSpecifier (struct/union)
22298
;;;                                                                               spec = 'Task' (4000000)
22299
;;;                                                                               name = Task
22300
;;;                                                                             } 38 TypeSpecifier (struct/union)
22301 2 jsauermann
Ctask_1:                        ;
22302
        .WORD   Ctask_2                 ; & task_2
22303
        .WORD   Ctos_1
22304
        .BYTE   0
22305
        .BYTE   50
22306 16 jsauermann
        .WORD   Cstr_139
22307 2 jsauermann
        .WORD   Cstack_1                        ; & stack_1
22308
        .WORD   Ctop_1                  ; & top_1
22309
        .BYTE   0                        ; VOID sema_ret
22310
        .BYTE   0                        ; VOID saved_priority
22311
        .WORD   0                        ; VOID waiting_for
22312
        .WORD   0                        ; VOID next_waiting_task
22313
        .WORD   0                        ; VOID sleep_count
22314 7 jsauermann
;;;                                                                           } 37 Declaration
22315 2 jsauermann
;;; ------------------------------------;
22316 7 jsauermann
;;;                                                                           { 37 Declaration
22317
;;;                                                                             { 38 TypeSpecifier (struct/union)
22318
;;;                                                                               spec = 'Task' (4000000)
22319
;;;                                                                               name = Task
22320
;;;                                                                             } 38 TypeSpecifier (struct/union)
22321 2 jsauermann
Ctask_idle:                     ;
22322
        .WORD   Ctask_1                 ; & task_1
22323
        .WORD   0
22324
        .BYTE   0
22325
        .BYTE   0
22326 16 jsauermann
        .WORD   Cstr_140
22327 10 jsauermann
        .WORD   8064
22328
        .WORD   8192
22329 2 jsauermann
        .BYTE   0                        ; VOID sema_ret
22330
        .BYTE   0                        ; VOID saved_priority
22331
        .WORD   0                        ; VOID waiting_for
22332
        .WORD   0                        ; VOID next_waiting_task
22333
        .WORD   0                        ; VOID sleep_count
22334 7 jsauermann
;;;                                                                           } 37 Declaration
22335 2 jsauermann
;;; ------------------------------------;
22336 7 jsauermann
;;;                                                                           { 37 Declaration
22337
;;;                                                                             { 38 TypeSpecifier (struct/union)
22338
;;;                                                                               spec = 'Task' (4000000)
22339
;;;                                                                               name = Task
22340
;;;                                                                             } 38 TypeSpecifier (struct/union)
22341 2 jsauermann
Ccurrent_task:                  ;
22342
        .WORD   Ctask_idle                      ; & task_idle
22343 7 jsauermann
;;;                                                                           } 37 Declaration
22344 2 jsauermann
;;; ------------------------------------;
22345
Cstr_0:                         ;
22346
        .BYTE   0x72                    ;
22347
        .BYTE   0x78                    ;
22348
        .BYTE   0x5F                    ;
22349
        .BYTE   0x73                    ;
22350
        .BYTE   0x65                    ;
22351
        .BYTE   0x6D                    ;
22352
        .BYTE   0x61                    ;
22353
        .BYTE   0x70                    ;
22354
        .BYTE   0x68                    ;
22355
        .BYTE   0x6F                    ;
22356
        .BYTE   0x72                    ;
22357
        .BYTE   0x65                    ;
22358
        .BYTE   0                        ;
22359
Cstr_1:                         ;
22360
        .BYTE   0x74                    ;
22361
        .BYTE   0x61                    ;
22362
        .BYTE   0x73                    ;
22363
        .BYTE   0x6B                    ;
22364
        .BYTE   0x20                    ;
22365
        .BYTE   0x32                    ;
22366
        .BYTE   0x20                    ;
22367
        .BYTE   0x63                    ;
22368
        .BYTE   0x6F                    ;
22369
        .BYTE   0x6E                    ;
22370
        .BYTE   0x74                    ;
22371
        .BYTE   0x72                    ;
22372
        .BYTE   0x6F                    ;
22373
        .BYTE   0x6C                    ;
22374
        .BYTE   0                        ;
22375
Cstr_2:                         ;
22376
        .BYTE   0x74                    ;
22377
        .BYTE   0x61                    ;
22378
        .BYTE   0x73                    ;
22379
        .BYTE   0x6B                    ;
22380
        .BYTE   0x20                    ;
22381
        .BYTE   0x33                    ;
22382
        .BYTE   0x20                    ;
22383
        .BYTE   0x63                    ;
22384
        .BYTE   0x6F                    ;
22385
        .BYTE   0x6E                    ;
22386
        .BYTE   0x74                    ;
22387
        .BYTE   0x72                    ;
22388
        .BYTE   0x6F                    ;
22389
        .BYTE   0x6C                    ;
22390
        .BYTE   0                        ;
22391
Cstr_3:                         ;
22392
        .BYTE   0x73                    ;
22393
        .BYTE   0x65                    ;
22394
        .BYTE   0x72                    ;
22395
        .BYTE   0x69                    ;
22396
        .BYTE   0x61                    ;
22397
        .BYTE   0x6C                    ;
22398
        .BYTE   0x20                    ;
22399
        .BYTE   0x6F                    ;
22400
        .BYTE   0x75                    ;
22401
        .BYTE   0x74                    ;
22402
        .BYTE   0                        ;
22403
Cstr_4:                         ;
22404
        .BYTE   0x74                    ;
22405
        .BYTE   0x78                    ;
22406
        .BYTE   0x5F                    ;
22407
        .BYTE   0x73                    ;
22408
        .BYTE   0x65                    ;
22409
        .BYTE   0x6D                    ;
22410
        .BYTE   0x61                    ;
22411
        .BYTE   0x70                    ;
22412
        .BYTE   0x68                    ;
22413
        .BYTE   0x6F                    ;
22414
        .BYTE   0x72                    ;
22415
        .BYTE   0x65                    ;
22416
        .BYTE   0                        ;
22417
Cstr_36:                                ;
22418
        .BYTE   0x30                    ;
22419
        .BYTE   0x31                    ;
22420
        .BYTE   0x32                    ;
22421
        .BYTE   0x33                    ;
22422
        .BYTE   0x34                    ;
22423
        .BYTE   0x35                    ;
22424
        .BYTE   0x36                    ;
22425
        .BYTE   0x37                    ;
22426
        .BYTE   0x38                    ;
22427
        .BYTE   0x39                    ;
22428
        .BYTE   0x41                    ;
22429
        .BYTE   0x42                    ;
22430
        .BYTE   0x43                    ;
22431
        .BYTE   0x44                    ;
22432
        .BYTE   0x45                    ;
22433
        .BYTE   0x46                    ;
22434
        .BYTE   0                        ;
22435
Cstr_37:                                ;
22436
        .BYTE   0x30                    ;
22437
        .BYTE   0x58                    ;
22438
        .BYTE   0                        ;
22439
Cstr_38:                                ;
22440
        .BYTE   0                        ;
22441
Cstr_39:                                ;
22442
        .BYTE   0                        ;
22443
Cstr_40:                                ;
22444
        .BYTE   0                        ;
22445
Cstr_41:                                ;
22446
        .BYTE   0x30                    ;
22447
        .BYTE   0x31                    ;
22448
        .BYTE   0x32                    ;
22449
        .BYTE   0x33                    ;
22450
        .BYTE   0x34                    ;
22451
        .BYTE   0x35                    ;
22452
        .BYTE   0x36                    ;
22453
        .BYTE   0x37                    ;
22454
        .BYTE   0x38                    ;
22455
        .BYTE   0x39                    ;
22456
        .BYTE   0x61                    ;
22457
        .BYTE   0x62                    ;
22458
        .BYTE   0x63                    ;
22459
        .BYTE   0x64                    ;
22460
        .BYTE   0x65                    ;
22461
        .BYTE   0x66                    ;
22462
        .BYTE   0                        ;
22463
Cstr_42:                                ;
22464
        .BYTE   0x30                    ;
22465
        .BYTE   0x78                    ;
22466
        .BYTE   0                        ;
22467
Cstr_44:                                ;
22468
        .BYTE   0x25                    ;
22469
        .BYTE   0x2D                    ;
22470
        .BYTE   0x32                    ;
22471
        .BYTE   0x30                    ;
22472
        .BYTE   0x73                    ;
22473
        .BYTE   0x20                    ;
22474
        .BYTE   0x25                    ;
22475
        .BYTE   0x34                    ;
22476
        .BYTE   0x64                    ;
22477
        .BYTE   0x20                    ;
22478
        .BYTE   0                        ;
22479
Cstr_45:                                ;
22480
        .BYTE   0x25                    ;
22481
        .BYTE   0x73                    ;
22482
        .BYTE   0x20                    ;
22483
        .BYTE   0x2D                    ;
22484
        .BYTE   0x3E                    ;
22485
        .BYTE   0x20                    ;
22486
        .BYTE   0                        ;
22487
Cstr_46:                                ;
22488
        .BYTE   0x30                    ;
22489
        .BYTE   0                        ;
22490
Cstr_47:                                ;
22491
        .BYTE   0x6E                    ;
22492
        .BYTE   0x6F                    ;
22493
        .BYTE   0x6E                    ;
22494
        .BYTE   0x65                    ;
22495
        .BYTE   0x2E                    ;
22496
        .BYTE   0                        ;
22497
Cstr_48:                                ;
22498
        .BYTE   0x0D                    ;
22499
        .BYTE   0x0A                    ;
22500
        .BYTE   0                        ;
22501
Cstr_49:                                ;
22502
        .BYTE   0x4C                    ;
22503
        .BYTE   0x6F                    ;
22504
        .BYTE   0x61                    ;
22505
        .BYTE   0x64                    ;
22506
        .BYTE   0x69                    ;
22507
        .BYTE   0x6E                    ;
22508
        .BYTE   0x67                    ;
22509
        .BYTE   0x20                    ;
22510
        .BYTE   0x69                    ;
22511
        .BYTE   0x6D                    ;
22512
        .BYTE   0x61                    ;
22513
        .BYTE   0x67                    ;
22514
        .BYTE   0x65                    ;
22515
        .BYTE   0x2E                    ;
22516
        .BYTE   0x2E                    ;
22517
        .BYTE   0x2E                    ;
22518
        .BYTE   0x0D                    ;
22519
        .BYTE   0x0A                    ;
22520
        .BYTE   0                        ;
22521
Cstr_55:                                ;
22522
        .BYTE   0x0D                    ;
22523
        .BYTE   0x0A                    ;
22524
        .BYTE   0x53                    ;
22525
        .BYTE   0x65                    ;
22526
        .BYTE   0x6D                    ;
22527
        .BYTE   0x61                    ;
22528
        .BYTE   0x70                    ;
22529
        .BYTE   0x68                    ;
22530
        .BYTE   0x6F                    ;
22531
        .BYTE   0x72                    ;
22532
        .BYTE   0x65                    ;
22533
        .BYTE   0x20                    ;
22534
        .BYTE   0x20                    ;
22535
        .BYTE   0x20                    ;
22536
        .BYTE   0x20                    ;
22537
        .BYTE   0x20                    ;
22538
        .BYTE   0x20                    ;
22539
        .BYTE   0x20                    ;
22540
        .BYTE   0x20                    ;
22541
        .BYTE   0x20                    ;
22542
        .BYTE   0x20                    ;
22543
        .BYTE   0x20                    ;
22544
        .BYTE   0x43                    ;
22545
        .BYTE   0x6F                    ;
22546
        .BYTE   0x75                    ;
22547
        .BYTE   0x6E                    ;
22548
        .BYTE   0x74                    ;
22549
        .BYTE   0x20                    ;
22550
        .BYTE   0x57                    ;
22551
        .BYTE   0x61                    ;
22552
        .BYTE   0x69                    ;
22553
        .BYTE   0x74                    ;
22554
        .BYTE   0x69                    ;
22555
        .BYTE   0x6E                    ;
22556
        .BYTE   0x67                    ;
22557
        .BYTE   0x20                    ;
22558
        .BYTE   0x74                    ;
22559
        .BYTE   0x61                    ;
22560
        .BYTE   0x73                    ;
22561
        .BYTE   0x6B                    ;
22562
        .BYTE   0x73                    ;
22563
        .BYTE   0x0D                    ;
22564
        .BYTE   0x0A                    ;
22565
        .BYTE   0                        ;
22566
Cstr_56:                                ;
22567
        .BYTE   0x0D                    ;
22568
        .BYTE   0x0A                    ;
22569
        .BYTE   0                        ;
22570
Cstr_57:                                ;
22571
        .BYTE   0x0D                    ;
22572
        .BYTE   0x0A                    ;
22573
        .BYTE   0                        ;
22574
Cstr_58:                                ;
22575
        .BYTE   0x0D                    ;
22576
        .BYTE   0x0A                    ;
22577
        .BYTE   0x0D                    ;
22578
        .BYTE   0x0A                    ;
22579
        .BYTE   0x53                    ;
22580
        .BYTE   0x65                    ;
22581
        .BYTE   0x72                    ;
22582
        .BYTE   0x69                    ;
22583
        .BYTE   0x61                    ;
22584
        .BYTE   0x6C                    ;
22585
        .BYTE   0x20                    ;
22586
        .BYTE   0x4F                    ;
22587
        .BYTE   0x76                    ;
22588
        .BYTE   0x65                    ;
22589
        .BYTE   0x72                    ;
22590
        .BYTE   0x66                    ;
22591
        .BYTE   0x6C                    ;
22592
        .BYTE   0x6F                    ;
22593
        .BYTE   0x77                    ;
22594
        .BYTE   0x73                    ;
22595
        .BYTE   0x3A                    ;
22596
        .BYTE   0x20                    ;
22597
        .BYTE   0x25                    ;
22598
        .BYTE   0x75                    ;
22599
        .BYTE   0x0D                    ;
22600
        .BYTE   0x0A                    ;
22601
        .BYTE   0x0D                    ;
22602
        .BYTE   0x0A                    ;
22603
        .BYTE   0                        ;
22604
Cstr_59:                                ;
22605
        .BYTE   0x0D                    ;
22606
        .BYTE   0x0A                    ;
22607
        .BYTE   0x54                    ;
22608
        .BYTE   0x61                    ;
22609
        .BYTE   0x73                    ;
22610
        .BYTE   0x6B                    ;
22611
        .BYTE   0x20                    ;
22612
        .BYTE   0x6E                    ;
22613
        .BYTE   0x61                    ;
22614
        .BYTE   0x6D                    ;
22615
        .BYTE   0x65                    ;
22616
        .BYTE   0x20                    ;
22617
        .BYTE   0x20                    ;
22618
        .BYTE   0x20                    ;
22619
        .BYTE   0x20                    ;
22620
        .BYTE   0x20                    ;
22621
        .BYTE   0x20                    ;
22622
        .BYTE   0x20                    ;
22623
        .BYTE   0x20                    ;
22624
        .BYTE   0x50                    ;
22625
        .BYTE   0x72                    ;
22626
        .BYTE   0x69                    ;
22627
        .BYTE   0x6F                    ;
22628
        .BYTE   0x20                    ;
22629 10 jsauermann
        .BYTE   0x20                    ;
22630
        .BYTE   0x20                    ;
22631
        .BYTE   0x50                    ;
22632
        .BYTE   0x43                    ;
22633
        .BYTE   0x20                    ;
22634 2 jsauermann
        .BYTE   0x53                    ;
22635
        .BYTE   0x74                    ;
22636
        .BYTE   0x61                    ;
22637
        .BYTE   0x63                    ;
22638
        .BYTE   0x6B                    ;
22639
        .BYTE   0x20                    ;
22640
        .BYTE   0x20                    ;
22641
        .BYTE   0x53                    ;
22642
        .BYTE   0x69                    ;
22643
        .BYTE   0x7A                    ;
22644
        .BYTE   0x65                    ;
22645
        .BYTE   0x20                    ;
22646
        .BYTE   0x20                    ;
22647
        .BYTE   0x55                    ;
22648
        .BYTE   0x73                    ;
22649
        .BYTE   0x65                    ;
22650
        .BYTE   0x64                    ;
22651
        .BYTE   0x20                    ;
22652
        .BYTE   0x4E                    ;
22653
        .BYTE   0x65                    ;
22654
        .BYTE   0x78                    ;
22655
        .BYTE   0x74                    ;
22656
        .BYTE   0x20                    ;
22657
        .BYTE   0x77                    ;
22658
        .BYTE   0x61                    ;
22659
        .BYTE   0x69                    ;
22660
        .BYTE   0x74                    ;
22661
        .BYTE   0x69                    ;
22662
        .BYTE   0x6E                    ;
22663
        .BYTE   0x67                    ;
22664
        .BYTE   0x20                    ;
22665
        .BYTE   0x20                    ;
22666
        .BYTE   0x20                    ;
22667
        .BYTE   0x20                    ;
22668
        .BYTE   0x20                    ;
22669
        .BYTE   0x53                    ;
22670
        .BYTE   0x74                    ;
22671
        .BYTE   0x61                    ;
22672
        .BYTE   0x74                    ;
22673
        .BYTE   0x75                    ;
22674
        .BYTE   0x73                    ;
22675
        .BYTE   0x0D                    ;
22676
        .BYTE   0x0A                    ;
22677
        .BYTE   0                        ;
22678 10 jsauermann
Cstr_61:                                ;
22679 2 jsauermann
        .BYTE   0x0D                    ;
22680
        .BYTE   0x0A                    ;
22681
        .BYTE   0                        ;
22682 10 jsauermann
Cstr_62:                                ;
22683 2 jsauermann
        .BYTE   0x25                    ;
22684
        .BYTE   0x2D                    ;
22685
        .BYTE   0x31                    ;
22686
        .BYTE   0x36                    ;
22687
        .BYTE   0x73                    ;
22688
        .BYTE   0x20                    ;
22689
        .BYTE   0x25                    ;
22690
        .BYTE   0x34                    ;
22691
        .BYTE   0x64                    ;
22692
        .BYTE   0x20                    ;
22693
        .BYTE   0x20                    ;
22694
        .BYTE   0x25                    ;
22695
        .BYTE   0x34                    ;
22696
        .BYTE   0x58                    ;
22697
        .BYTE   0x20                    ;
22698
        .BYTE   0x25                    ;
22699 10 jsauermann
        .BYTE   0x34                    ;
22700
        .BYTE   0x58                    ;
22701
        .BYTE   0x20                    ;
22702
        .BYTE   0x25                    ;
22703 2 jsauermann
        .BYTE   0x35                    ;
22704
        .BYTE   0x64                    ;
22705
        .BYTE   0x20                    ;
22706
        .BYTE   0x25                    ;
22707
        .BYTE   0x35                    ;
22708
        .BYTE   0x64                    ;
22709
        .BYTE   0x20                    ;
22710
        .BYTE   0                        ;
22711 10 jsauermann
Cstr_63:                                ;
22712 2 jsauermann
        .BYTE   0x25                    ;
22713
        .BYTE   0x2D                    ;
22714
        .BYTE   0x31                    ;
22715
        .BYTE   0x36                    ;
22716
        .BYTE   0x73                    ;
22717
        .BYTE   0x20                    ;
22718
        .BYTE   0                        ;
22719 10 jsauermann
Cstr_64:                                ;
22720 2 jsauermann
        .BYTE   0x6E                    ;
22721
        .BYTE   0x6F                    ;
22722
        .BYTE   0x6E                    ;
22723
        .BYTE   0x65                    ;
22724
        .BYTE   0x2E                    ;
22725
        .BYTE   0x20                    ;
22726
        .BYTE   0x20                    ;
22727
        .BYTE   0x20                    ;
22728
        .BYTE   0x20                    ;
22729
        .BYTE   0x20                    ;
22730
        .BYTE   0x20                    ;
22731
        .BYTE   0x20                    ;
22732
        .BYTE   0x20                    ;
22733
        .BYTE   0x20                    ;
22734
        .BYTE   0x20                    ;
22735
        .BYTE   0x20                    ;
22736
        .BYTE   0x20                    ;
22737
        .BYTE   0                        ;
22738 10 jsauermann
Cstr_65:                                ;
22739 2 jsauermann
        .BYTE   0x52                    ;
22740
        .BYTE   0x55                    ;
22741
        .BYTE   0x4E                    ;
22742
        .BYTE   0x20                    ;
22743
        .BYTE   0                        ;
22744 10 jsauermann
Cstr_66:                                ;
22745 2 jsauermann
        .BYTE   0x53                    ;
22746
        .BYTE   0x55                    ;
22747
        .BYTE   0x53                    ;
22748
        .BYTE   0x50                    ;
22749
        .BYTE   0x20                    ;
22750
        .BYTE   0                        ;
22751 10 jsauermann
Cstr_67:                                ;
22752 2 jsauermann
        .BYTE   0x53                    ;
22753
        .BYTE   0x4C                    ;
22754
        .BYTE   0x45                    ;
22755
        .BYTE   0x45                    ;
22756
        .BYTE   0x50                    ;
22757
        .BYTE   0x20                    ;
22758
        .BYTE   0x25                    ;
22759
        .BYTE   0x64                    ;
22760
        .BYTE   0x20                    ;
22761
        .BYTE   0x6D                    ;
22762
        .BYTE   0x73                    ;
22763
        .BYTE   0x20                    ;
22764
        .BYTE   0                        ;
22765 10 jsauermann
Cstr_68:                                ;
22766 2 jsauermann
        .BYTE   0x42                    ;
22767
        .BYTE   0x4C                    ;
22768
        .BYTE   0x4B                    ;
22769
        .BYTE   0x44                    ;
22770
        .BYTE   0x20                    ;
22771
        .BYTE   0x6F                    ;
22772
        .BYTE   0x6E                    ;
22773
        .BYTE   0x20                    ;
22774
        .BYTE   0x25                    ;
22775
        .BYTE   0x73                    ;
22776
        .BYTE   0x20                    ;
22777
        .BYTE   0                        ;
22778 10 jsauermann
Cstr_69:                                ;
22779 2 jsauermann
        .BYTE   0x0D                    ;
22780
        .BYTE   0x0A                    ;
22781
        .BYTE   0                        ;
22782 10 jsauermann
Cstr_70:                                ;
22783 2 jsauermann
        .BYTE   0x0D                    ;
22784
        .BYTE   0x0A                    ;
22785
        .BYTE   0                        ;
22786 10 jsauermann
Cstr_71:                                ;
22787 2 jsauermann
        .BYTE   0x55                    ;
22788
        .BYTE   0x70                    ;
22789
        .BYTE   0x74                    ;
22790
        .BYTE   0x69                    ;
22791
        .BYTE   0x6D                    ;
22792
        .BYTE   0x65                    ;
22793
        .BYTE   0x20                    ;
22794
        .BYTE   0x69                    ;
22795
        .BYTE   0x73                    ;
22796
        .BYTE   0x20                    ;
22797
        .BYTE   0x25                    ;
22798
        .BYTE   0x34                    ;
22799
        .BYTE   0x2E                    ;
22800
        .BYTE   0x34                    ;
22801
        .BYTE   0x58                    ;
22802
        .BYTE   0x25                    ;
22803
        .BYTE   0x34                    ;
22804
        .BYTE   0x2E                    ;
22805
        .BYTE   0x34                    ;
22806
        .BYTE   0x58                    ;
22807
        .BYTE   0x25                    ;
22808
        .BYTE   0x34                    ;
22809
        .BYTE   0x2E                    ;
22810
        .BYTE   0x34                    ;
22811
        .BYTE   0x58                    ;
22812
        .BYTE   0x20                    ;
22813
        .BYTE   0x73                    ;
22814
        .BYTE   0x65                    ;
22815
        .BYTE   0x63                    ;
22816
        .BYTE   0x6F                    ;
22817
        .BYTE   0x6E                    ;
22818
        .BYTE   0x64                    ;
22819
        .BYTE   0x73                    ;
22820
        .BYTE   0x0D                    ;
22821
        .BYTE   0x0A                    ;
22822
        .BYTE   0                        ;
22823 10 jsauermann
Cstr_72:                                ;
22824 2 jsauermann
        .BYTE   0x25                    ;
22825
        .BYTE   0x34                    ;
22826
        .BYTE   0x2E                    ;
22827
        .BYTE   0x34                    ;
22828
        .BYTE   0x58                    ;
22829
        .BYTE   0x3A                    ;
22830
        .BYTE   0                        ;
22831 10 jsauermann
Cstr_73:                                ;
22832 2 jsauermann
        .BYTE   0x20                    ;
22833
        .BYTE   0x25                    ;
22834
        .BYTE   0x32                    ;
22835
        .BYTE   0x2E                    ;
22836
        .BYTE   0x32                    ;
22837
        .BYTE   0x58                    ;
22838
        .BYTE   0                        ;
22839 10 jsauermann
Cstr_74:                                ;
22840 2 jsauermann
        .BYTE   0x20                    ;
22841
        .BYTE   0x2D                    ;
22842
        .BYTE   0x20                    ;
22843
        .BYTE   0                        ;
22844 10 jsauermann
Cstr_75:                                ;
22845 2 jsauermann
        .BYTE   0x0D                    ;
22846
        .BYTE   0x0A                    ;
22847
        .BYTE   0                        ;
22848 16 jsauermann
Cstr_83:                                ;
22849 2 jsauermann
        .BYTE   0x52                    ;
22850
        .BYTE   0x45                    ;
22851
        .BYTE   0x41                    ;
22852
        .BYTE   0x44                    ;
22853
        .BYTE   0x59                    ;
22854
        .BYTE   0x0D                    ;
22855
        .BYTE   0                        ;
22856 16 jsauermann
Cstr_84:                                ;
22857 2 jsauermann
        .BYTE   0x25                    ;
22858
        .BYTE   0x73                    ;
22859
        .BYTE   0x20                    ;
22860
        .BYTE   0x69                    ;
22861
        .BYTE   0x73                    ;
22862
        .BYTE   0x20                    ;
22863
        .BYTE   0x62                    ;
22864
        .BYTE   0x6F                    ;
22865
        .BYTE   0x72                    ;
22866
        .BYTE   0x65                    ;
22867
        .BYTE   0x64                    ;
22868
        .BYTE   0x2E                    ;
22869
        .BYTE   0x0D                    ;
22870
        .BYTE   0x0A                    ;
22871
        .BYTE   0                        ;
22872 16 jsauermann
Cstr_85:                                ;
22873 2 jsauermann
        .BYTE   0x54                    ;
22874
        .BYTE   0x61                    ;
22875
        .BYTE   0x73                    ;
22876
        .BYTE   0x6B                    ;
22877
        .BYTE   0x20                    ;
22878
        .BYTE   0x32                    ;
22879
        .BYTE   0x20                    ;
22880
        .BYTE   0x6B                    ;
22881
        .BYTE   0x69                    ;
22882
        .BYTE   0x63                    ;
22883
        .BYTE   0x6B                    ;
22884
        .BYTE   0x65                    ;
22885
        .BYTE   0x64                    ;
22886
        .BYTE   0x0D                    ;
22887
        .BYTE   0x0A                    ;
22888
        .BYTE   0                        ;
22889 16 jsauermann
Cstr_86:                                ;
22890 2 jsauermann
        .BYTE   0x54                    ;
22891
        .BYTE   0x61                    ;
22892
        .BYTE   0x73                    ;
22893
        .BYTE   0x6B                    ;
22894
        .BYTE   0x20                    ;
22895
        .BYTE   0x33                    ;
22896
        .BYTE   0x20                    ;
22897
        .BYTE   0x65                    ;
22898
        .BYTE   0x6E                    ;
22899
        .BYTE   0x61                    ;
22900
        .BYTE   0x62                    ;
22901
        .BYTE   0x6C                    ;
22902
        .BYTE   0x65                    ;
22903
        .BYTE   0x64                    ;
22904
        .BYTE   0x20                    ;
22905
        .BYTE   0x66                    ;
22906
        .BYTE   0x6F                    ;
22907
        .BYTE   0x72                    ;
22908
        .BYTE   0x20                    ;
22909
        .BYTE   0x31                    ;
22910
        .BYTE   0x30                    ;
22911
        .BYTE   0x30                    ;
22912
        .BYTE   0x20                    ;
22913
        .BYTE   0x6D                    ;
22914
        .BYTE   0x73                    ;
22915
        .BYTE   0x0D                    ;
22916
        .BYTE   0x0A                    ;
22917
        .BYTE   0                        ;
22918 16 jsauermann
Cstr_91:                                ;
22919 2 jsauermann
        .BYTE   0x64                    ;
22920
        .BYTE   0x65                    ;
22921
        .BYTE   0x73                    ;
22922
        .BYTE   0x63                    ;
22923
        .BYTE   0x68                    ;
22924
        .BYTE   0x65                    ;
22925
        .BYTE   0x64                    ;
22926
        .BYTE   0x75                    ;
22927
        .BYTE   0x6C                    ;
22928
        .BYTE   0x65                    ;
22929
        .BYTE   0x20                    ;
22930
        .BYTE   0x74                    ;
22931
        .BYTE   0x6F                    ;
22932
        .BYTE   0x6F                    ;
22933
        .BYTE   0x6B                    ;
22934
        .BYTE   0x20                    ;
22935
        .BYTE   0x25                    ;
22936
        .BYTE   0x64                    ;
22937
        .BYTE   0x20                    ;
22938
        .BYTE   0x43                    ;
22939
        .BYTE   0x4C                    ;
22940
        .BYTE   0x4B                    ;
22941
        .BYTE   0x73                    ;
22942
        .BYTE   0x20                    ;
22943
        .BYTE   0x3D                    ;
22944
        .BYTE   0x20                    ;
22945
        .BYTE   0x25                    ;
22946
        .BYTE   0x64                    ;
22947
        .BYTE   0x20                    ;
22948
        .BYTE   0x75                    ;
22949
        .BYTE   0x73                    ;
22950
        .BYTE   0x0D                    ;
22951
        .BYTE   0x0A                    ;
22952
        .BYTE   0                        ;
22953 16 jsauermann
Cstr_92:                                ;
22954 2 jsauermann
        .BYTE   0x44                    ;
22955
        .BYTE   0x69                    ;
22956
        .BYTE   0x73                    ;
22957
        .BYTE   0x70                    ;
22958
        .BYTE   0x6C                    ;
22959
        .BYTE   0x61                    ;
22960
        .BYTE   0x79                    ;
22961
        .BYTE   0x20                    ;
22962
        .BYTE   0                        ;
22963 16 jsauermann
Cstr_93:                                ;
22964 2 jsauermann
        .BYTE   0x0D                    ;
22965
        .BYTE   0x0A                    ;
22966
        .BYTE   0                        ;
22967 16 jsauermann
Cstr_94:                                ;
22968 2 jsauermann
        .BYTE   0x4C                    ;
22969
        .BYTE   0x45                    ;
22970
        .BYTE   0x44                    ;
22971
        .BYTE   0x73                    ;
22972
        .BYTE   0x20                    ;
22973
        .BYTE   0                        ;
22974 16 jsauermann
Cstr_96:                                ;
22975 2 jsauermann
        .BYTE   0x0D                    ;
22976
        .BYTE   0x0A                    ;
22977
        .BYTE   0                        ;
22978 16 jsauermann
Cstr_97:                                ;
22979 2 jsauermann
        .BYTE   0x4D                    ;
22980
        .BYTE   0x65                    ;
22981
        .BYTE   0x6D                    ;
22982
        .BYTE   0x6F                    ;
22983
        .BYTE   0x72                    ;
22984
        .BYTE   0x79                    ;
22985
        .BYTE   0x20                    ;
22986
        .BYTE   0                        ;
22987 16 jsauermann
Cstr_98:                                ;
22988 2 jsauermann
        .BYTE   0x20                    ;
22989
        .BYTE   0x56                    ;
22990
        .BYTE   0x61                    ;
22991
        .BYTE   0x6C                    ;
22992
        .BYTE   0x75                    ;
22993
        .BYTE   0x65                    ;
22994
        .BYTE   0x20                    ;
22995
        .BYTE   0                        ;
22996 16 jsauermann
Cstr_99:                                ;
22997 2 jsauermann
        .BYTE   0x0D                    ;
22998
        .BYTE   0x0A                    ;
22999
        .BYTE   0                        ;
23000 16 jsauermann
Cstr_100:                               ;
23001 2 jsauermann
        .BYTE   0x44                    ;
23002
        .BYTE   0x49                    ;
23003
        .BYTE   0x50                    ;
23004
        .BYTE   0x20                    ;
23005
        .BYTE   0x73                    ;
23006
        .BYTE   0x77                    ;
23007
        .BYTE   0x69                    ;
23008
        .BYTE   0x74                    ;
23009
        .BYTE   0x63                    ;
23010
        .BYTE   0x68                    ;
23011
        .BYTE   0x20                    ;
23012
        .BYTE   0x69                    ;
23013
        .BYTE   0x73                    ;
23014
        .BYTE   0x20                    ;
23015
        .BYTE   0x30                    ;
23016
        .BYTE   0x78                    ;
23017
        .BYTE   0x25                    ;
23018
        .BYTE   0x58                    ;
23019
        .BYTE   0x0D                    ;
23020
        .BYTE   0x0A                    ;
23021
        .BYTE   0                        ;
23022 16 jsauermann
Cstr_102:                               ;
23023 2 jsauermann
        .BYTE   0x54                    ;
23024
        .BYTE   0x65                    ;
23025
        .BYTE   0x6D                    ;
23026
        .BYTE   0x70                    ;
23027
        .BYTE   0x65                    ;
23028
        .BYTE   0x72                    ;
23029
        .BYTE   0x61                    ;
23030
        .BYTE   0x74                    ;
23031
        .BYTE   0x75                    ;
23032
        .BYTE   0x72                    ;
23033
        .BYTE   0x65                    ;
23034
        .BYTE   0x20                    ;
23035
        .BYTE   0x69                    ;
23036
        .BYTE   0x73                    ;
23037
        .BYTE   0x20                    ;
23038
        .BYTE   0x25                    ;
23039
        .BYTE   0x64                    ;
23040
        .BYTE   0x20                    ;
23041
        .BYTE   0x64                    ;
23042
        .BYTE   0x65                    ;
23043
        .BYTE   0x67                    ;
23044
        .BYTE   0x72                    ;
23045
        .BYTE   0x65                    ;
23046
        .BYTE   0x65                    ;
23047
        .BYTE   0x73                    ;
23048
        .BYTE   0x20                    ;
23049
        .BYTE   0x43                    ;
23050
        .BYTE   0x65                    ;
23051
        .BYTE   0x6C                    ;
23052
        .BYTE   0x73                    ;
23053
        .BYTE   0x69                    ;
23054
        .BYTE   0x75                    ;
23055
        .BYTE   0x73                    ;
23056
        .BYTE   0x0D                    ;
23057
        .BYTE   0x0A                    ;
23058
        .BYTE   0                        ;
23059 16 jsauermann
Cstr_104:                               ;
23060 2 jsauermann
        .BYTE   0x48                    ;
23061
        .BYTE   0x61                    ;
23062
        .BYTE   0x6C                    ;
23063
        .BYTE   0x74                    ;
23064
        .BYTE   0x65                    ;
23065
        .BYTE   0x64                    ;
23066
        .BYTE   0x2E                    ;
23067
        .BYTE   0x0D                    ;
23068
        .BYTE   0x0A                    ;
23069
        .BYTE   0                        ;
23070 16 jsauermann
Cstr_107:                               ;
23071 2 jsauermann
        .BYTE   0x48                    ;
23072
        .BYTE   0x65                    ;
23073
        .BYTE   0x6C                    ;
23074
        .BYTE   0x70                    ;
23075
        .BYTE   0x3A                    ;
23076
        .BYTE   0x20                    ;
23077
        .BYTE   0x20                    ;
23078
        .BYTE   0x0D                    ;
23079
        .BYTE   0x0A                    ;
23080
        .BYTE   0x32                    ;
23081
        .BYTE   0x20                    ;
23082
        .BYTE   0x2D                    ;
23083
        .BYTE   0x20                    ;
23084
        .BYTE   0x6B                    ;
23085
        .BYTE   0x69                    ;
23086
        .BYTE   0x63                    ;
23087
        .BYTE   0x6B                    ;
23088
        .BYTE   0x20                    ;
23089
        .BYTE   0x74                    ;
23090
        .BYTE   0x61                    ;
23091
        .BYTE   0x73                    ;
23092
        .BYTE   0x6B                    ;
23093
        .BYTE   0x20                    ;
23094
        .BYTE   0x32                    ;
23095
        .BYTE   0x0D                    ;
23096
        .BYTE   0x0A                    ;
23097
        .BYTE   0x33                    ;
23098
        .BYTE   0x20                    ;
23099
        .BYTE   0x2D                    ;
23100
        .BYTE   0x20                    ;
23101
        .BYTE   0x6B                    ;
23102
        .BYTE   0x69                    ;
23103
        .BYTE   0x63                    ;
23104
        .BYTE   0x6B                    ;
23105
        .BYTE   0x20                    ;
23106
        .BYTE   0x74                    ;
23107
        .BYTE   0x61                    ;
23108
        .BYTE   0x73                    ;
23109
        .BYTE   0x6B                    ;
23110
        .BYTE   0x20                    ;
23111
        .BYTE   0x33                    ;
23112
        .BYTE   0x0D                    ;
23113
        .BYTE   0x0A                    ;
23114
        .BYTE   0x49                    ;
23115
        .BYTE   0x20                    ;
23116
        .BYTE   0x2D                    ;
23117
        .BYTE   0x20                    ;
23118
        .BYTE   0x6C                    ;
23119
        .BYTE   0x6F                    ;
23120
        .BYTE   0x61                    ;
23121
        .BYTE   0x64                    ;
23122
        .BYTE   0x20                    ;
23123
        .BYTE   0x69                    ;
23124
        .BYTE   0x6D                    ;
23125
        .BYTE   0x61                    ;
23126
        .BYTE   0x67                    ;
23127
        .BYTE   0x65                    ;
23128
        .BYTE   0x0D                    ;
23129
        .BYTE   0x0A                    ;
23130
        .BYTE   0x53                    ;
23131
        .BYTE   0x20                    ;
23132
        .BYTE   0x2D                    ;
23133
        .BYTE   0x20                    ;
23134
        .BYTE   0x73                    ;
23135
        .BYTE   0x68                    ;
23136
        .BYTE   0x6F                    ;
23137
        .BYTE   0x77                    ;
23138
        .BYTE   0x20                    ;
23139
        .BYTE   0x73                    ;
23140
        .BYTE   0x65                    ;
23141
        .BYTE   0x6D                    ;
23142
        .BYTE   0x61                    ;
23143
        .BYTE   0x70                    ;
23144
        .BYTE   0x68                    ;
23145
        .BYTE   0x6F                    ;
23146
        .BYTE   0x72                    ;
23147
        .BYTE   0x65                    ;
23148
        .BYTE   0x73                    ;
23149
        .BYTE   0x0D                    ;
23150
        .BYTE   0x0A                    ;
23151
        .BYTE   0x54                    ;
23152
        .BYTE   0x20                    ;
23153
        .BYTE   0x2D                    ;
23154
        .BYTE   0x20                    ;
23155
        .BYTE   0x73                    ;
23156
        .BYTE   0x68                    ;
23157
        .BYTE   0x6F                    ;
23158
        .BYTE   0x77                    ;
23159
        .BYTE   0x20                    ;
23160
        .BYTE   0x74                    ;
23161
        .BYTE   0x61                    ;
23162
        .BYTE   0x73                    ;
23163
        .BYTE   0x6B                    ;
23164
        .BYTE   0x73                    ;
23165
        .BYTE   0x0D                    ;
23166
        .BYTE   0x0A                    ;
23167
        .BYTE   0x62                    ;
23168
        .BYTE   0x20                    ;
23169
        .BYTE   0x2D                    ;
23170
        .BYTE   0x20                    ;
23171
        .BYTE   0x6D                    ;
23172
        .BYTE   0x65                    ;
23173
        .BYTE   0x61                    ;
23174
        .BYTE   0x73                    ;
23175
        .BYTE   0x75                    ;
23176
        .BYTE   0x72                    ;
23177
        .BYTE   0x65                    ;
23178
        .BYTE   0x20                    ;
23179
        .BYTE   0x74                    ;
23180
        .BYTE   0x61                    ;
23181
        .BYTE   0x73                    ;
23182
        .BYTE   0x6B                    ;
23183
        .BYTE   0x20                    ;
23184
        .BYTE   0x73                    ;
23185
        .BYTE   0x77                    ;
23186
        .BYTE   0x69                    ;
23187
        .BYTE   0x74                    ;
23188
        .BYTE   0x63                    ;
23189
        .BYTE   0x68                    ;
23190
        .BYTE   0x20                    ;
23191
        .BYTE   0x28                    ;
23192
        .BYTE   0x64                    ;
23193
        .BYTE   0x65                    ;
23194
        .BYTE   0x73                    ;
23195
        .BYTE   0x63                    ;
23196
        .BYTE   0x68                    ;
23197
        .BYTE   0x65                    ;
23198
        .BYTE   0x64                    ;
23199
        .BYTE   0x75                    ;
23200
        .BYTE   0x6C                    ;
23201
        .BYTE   0x65                    ;
23202
        .BYTE   0x29                    ;
23203
        .BYTE   0x0D                    ;
23204
        .BYTE   0x0A                    ;
23205
        .BYTE   0x63                    ;
23206
        .BYTE   0x20                    ;
23207
        .BYTE   0x2D                    ;
23208
        .BYTE   0x20                    ;
23209
        .BYTE   0x73                    ;
23210
        .BYTE   0x68                    ;
23211
        .BYTE   0x6F                    ;
23212
        .BYTE   0x77                    ;
23213
        .BYTE   0x20                    ;
23214
        .BYTE   0x74                    ;
23215
        .BYTE   0x69                    ;
23216
        .BYTE   0x6D                    ;
23217
        .BYTE   0x65                    ;
23218
        .BYTE   0x0D                    ;
23219
        .BYTE   0x0A                    ;
23220
        .BYTE   0x64                    ;
23221
        .BYTE   0x20                    ;
23222
        .BYTE   0x2D                    ;
23223
        .BYTE   0x20                    ;
23224
        .BYTE   0x64                    ;
23225
        .BYTE   0x69                    ;
23226
        .BYTE   0x73                    ;
23227
        .BYTE   0x70                    ;
23228
        .BYTE   0x6C                    ;
23229
        .BYTE   0x61                    ;
23230
        .BYTE   0x79                    ;
23231
        .BYTE   0x20                    ;
23232
        .BYTE   0x6D                    ;
23233
        .BYTE   0x65                    ;
23234
        .BYTE   0x6D                    ;
23235
        .BYTE   0x6F                    ;
23236
        .BYTE   0x72                    ;
23237
        .BYTE   0x79                    ;
23238
        .BYTE   0x0D                    ;
23239
        .BYTE   0x0A                    ;
23240
        .BYTE   0x65                    ;
23241
        .BYTE   0x20                    ;
23242
        .BYTE   0x2D                    ;
23243
        .BYTE   0x20                    ;
23244
        .BYTE   0x73                    ;
23245
        .BYTE   0x65                    ;
23246
        .BYTE   0x74                    ;
23247
        .BYTE   0x20                    ;
23248
        .BYTE   0x4C                    ;
23249
        .BYTE   0x45                    ;
23250
        .BYTE   0x44                    ;
23251
        .BYTE   0x73                    ;
23252
        .BYTE   0x0D                    ;
23253
        .BYTE   0x0A                    ;
23254
        .BYTE   0x6D                    ;
23255
        .BYTE   0x20                    ;
23256
        .BYTE   0x2D                    ;
23257
        .BYTE   0x20                    ;
23258
        .BYTE   0x6D                    ;
23259
        .BYTE   0x6F                    ;
23260
        .BYTE   0x64                    ;
23261
        .BYTE   0x69                    ;
23262
        .BYTE   0x66                    ;
23263
        .BYTE   0x79                    ;
23264
        .BYTE   0x20                    ;
23265
        .BYTE   0x6D                    ;
23266
        .BYTE   0x65                    ;
23267
        .BYTE   0x6D                    ;
23268
        .BYTE   0x6F                    ;
23269
        .BYTE   0x72                    ;
23270
        .BYTE   0x79                    ;
23271
        .BYTE   0x0D                    ;
23272
        .BYTE   0x0A                    ;
23273
        .BYTE   0x73                    ;
23274
        .BYTE   0x20                    ;
23275
        .BYTE   0x2D                    ;
23276
        .BYTE   0x20                    ;
23277
        .BYTE   0x72                    ;
23278
        .BYTE   0x65                    ;
23279
        .BYTE   0x61                    ;
23280
        .BYTE   0x64                    ;
23281
        .BYTE   0x20                    ;
23282
        .BYTE   0x44                    ;
23283
        .BYTE   0x49                    ;
23284
        .BYTE   0x50                    ;
23285
        .BYTE   0x20                    ;
23286
        .BYTE   0x73                    ;
23287
        .BYTE   0x77                    ;
23288
        .BYTE   0x69                    ;
23289
        .BYTE   0x74                    ;
23290
        .BYTE   0x63                    ;
23291
        .BYTE   0x68                    ;
23292
        .BYTE   0x0D                    ;
23293
        .BYTE   0x0A                    ;
23294
        .BYTE   0x74                    ;
23295
        .BYTE   0x20                    ;
23296
        .BYTE   0x2D                    ;
23297
        .BYTE   0x20                    ;
23298
        .BYTE   0x72                    ;
23299
        .BYTE   0x65                    ;
23300
        .BYTE   0x61                    ;
23301
        .BYTE   0x64                    ;
23302
        .BYTE   0x20                    ;
23303
        .BYTE   0x74                    ;
23304
        .BYTE   0x65                    ;
23305
        .BYTE   0x6D                    ;
23306
        .BYTE   0x70                    ;
23307
        .BYTE   0x65                    ;
23308
        .BYTE   0x72                    ;
23309
        .BYTE   0x61                    ;
23310
        .BYTE   0x74                    ;
23311
        .BYTE   0x75                    ;
23312
        .BYTE   0x72                    ;
23313
        .BYTE   0x65                    ;
23314
        .BYTE   0x0D                    ;
23315
        .BYTE   0x0A                    ;
23316
        .BYTE   0x48                    ;
23317
        .BYTE   0x20                    ;
23318
        .BYTE   0x2D                    ;
23319
        .BYTE   0x20                    ;
23320
        .BYTE   0x48                    ;
23321
        .BYTE   0x41                    ;
23322
        .BYTE   0x4C                    ;
23323
        .BYTE   0x54                    ;
23324
        .BYTE   0x20                    ;
23325
        .BYTE   0x28                    ;
23326
        .BYTE   0x66                    ;
23327
        .BYTE   0x6F                    ;
23328
        .BYTE   0x72                    ;
23329
        .BYTE   0x65                    ;
23330
        .BYTE   0x76                    ;
23331
        .BYTE   0x65                    ;
23332
        .BYTE   0x72                    ;
23333
        .BYTE   0x29                    ;
23334
        .BYTE   0x0D                    ;
23335
        .BYTE   0x0A                    ;
23336
        .BYTE   0x0D                    ;
23337
        .BYTE   0x0A                    ;
23338
        .BYTE   0                        ;
23339 16 jsauermann
Cstr_123:                               ;
23340 2 jsauermann
        .BYTE   0x4D                    ;
23341
        .BYTE   0x65                    ;
23342
        .BYTE   0x61                    ;
23343
        .BYTE   0x73                    ;
23344
        .BYTE   0x75                    ;
23345
        .BYTE   0x72                    ;
23346
        .BYTE   0x69                    ;
23347
        .BYTE   0x6E                    ;
23348
        .BYTE   0x67                    ;
23349
        .BYTE   0x2E                    ;
23350
        .BYTE   0x2E                    ;
23351
        .BYTE   0x2E                    ;
23352
        .BYTE   0x0D                    ;
23353
        .BYTE   0x0A                    ;
23354
        .BYTE   0                        ;
23355 16 jsauermann
Cstr_132:                               ;
23356 2 jsauermann
        .BYTE   0x74                    ;
23357
        .BYTE   0x6F                    ;
23358
        .BYTE   0x74                    ;
23359
        .BYTE   0x61                    ;
23360
        .BYTE   0x6C                    ;
23361
        .BYTE   0x3A                    ;
23362
        .BYTE   0x20                    ;
23363
        .BYTE   0x20                    ;
23364
        .BYTE   0x25                    ;
23365
        .BYTE   0x64                    ;
23366
        .BYTE   0x20                    ;
23367
        .BYTE   0x63                    ;
23368
        .BYTE   0x79                    ;
23369
        .BYTE   0x63                    ;
23370
        .BYTE   0x6C                    ;
23371
        .BYTE   0x65                    ;
23372
        .BYTE   0x73                    ;
23373
        .BYTE   0x0D                    ;
23374
        .BYTE   0x0A                    ;
23375
        .BYTE   0                        ;
23376 16 jsauermann
Cstr_133:                               ;
23377 2 jsauermann
        .BYTE   0x68                    ;
23378
        .BYTE   0x61                    ;
23379
        .BYTE   0x6C                    ;
23380
        .BYTE   0x74                    ;
23381
        .BYTE   0x65                    ;
23382
        .BYTE   0x64                    ;
23383
        .BYTE   0x3A                    ;
23384
        .BYTE   0x20                    ;
23385
        .BYTE   0x25                    ;
23386
        .BYTE   0x64                    ;
23387
        .BYTE   0x20                    ;
23388
        .BYTE   0x63                    ;
23389
        .BYTE   0x79                    ;
23390
        .BYTE   0x63                    ;
23391
        .BYTE   0x6C                    ;
23392
        .BYTE   0x65                    ;
23393
        .BYTE   0x73                    ;
23394
        .BYTE   0x0D                    ;
23395
        .BYTE   0x0A                    ;
23396
        .BYTE   0                        ;
23397 16 jsauermann
Cstr_134:                               ;
23398 2 jsauermann
        .BYTE   0x69                    ;
23399
        .BYTE   0x64                    ;
23400
        .BYTE   0x6C                    ;
23401
        .BYTE   0x65                    ;
23402
        .BYTE   0x3A                    ;
23403
        .BYTE   0x20                    ;
23404
        .BYTE   0x20                    ;
23405
        .BYTE   0x20                    ;
23406
        .BYTE   0x25                    ;
23407
        .BYTE   0x64                    ;
23408
        .BYTE   0x20                    ;
23409
        .BYTE   0x25                    ;
23410
        .BYTE   0x25                    ;
23411
        .BYTE   0x0D                    ;
23412
        .BYTE   0x0A                    ;
23413
        .BYTE   0                        ;
23414 16 jsauermann
Cstr_135:                               ;
23415 2 jsauermann
        .BYTE   0x6C                    ;
23416
        .BYTE   0x6F                    ;
23417
        .BYTE   0x61                    ;
23418
        .BYTE   0x64                    ;
23419
        .BYTE   0x3A                    ;
23420
        .BYTE   0x20                    ;
23421
        .BYTE   0x20                    ;
23422
        .BYTE   0x20                    ;
23423
        .BYTE   0x25                    ;
23424
        .BYTE   0x64                    ;
23425
        .BYTE   0x20                    ;
23426
        .BYTE   0x25                    ;
23427
        .BYTE   0x25                    ;
23428
        .BYTE   0x0D                    ;
23429
        .BYTE   0x0A                    ;
23430
        .BYTE   0                        ;
23431 16 jsauermann
Cstr_137:                               ;
23432 2 jsauermann
        .BYTE   0x4C                    ;
23433
        .BYTE   0x6F                    ;
23434
        .BYTE   0x61                    ;
23435
        .BYTE   0x64                    ;
23436
        .BYTE   0x20                    ;
23437
        .BYTE   0x54                    ;
23438
        .BYTE   0x61                    ;
23439
        .BYTE   0x73                    ;
23440
        .BYTE   0x6B                    ;
23441
        .BYTE   0x20                    ;
23442
        .BYTE   0                        ;
23443 16 jsauermann
Cstr_138:                               ;
23444 2 jsauermann
        .BYTE   0x4D                    ;
23445
        .BYTE   0x65                    ;
23446
        .BYTE   0x61                    ;
23447
        .BYTE   0x73                    ;
23448
        .BYTE   0x75                    ;
23449
        .BYTE   0x72                    ;
23450
        .BYTE   0x65                    ;
23451
        .BYTE   0x6D                    ;
23452
        .BYTE   0x65                    ;
23453
        .BYTE   0x6E                    ;
23454
        .BYTE   0x74                    ;
23455
        .BYTE   0                        ;
23456 16 jsauermann
Cstr_139:                               ;
23457 2 jsauermann
        .BYTE   0x4D                    ;
23458
        .BYTE   0x6F                    ;
23459
        .BYTE   0x6E                    ;
23460
        .BYTE   0x69                    ;
23461
        .BYTE   0x74                    ;
23462
        .BYTE   0x6F                    ;
23463
        .BYTE   0x72                    ;
23464
        .BYTE   0                        ;
23465 16 jsauermann
Cstr_140:                               ;
23466 2 jsauermann
        .BYTE   0x49                    ;
23467
        .BYTE   0x64                    ;
23468
        .BYTE   0x6C                    ;
23469
        .BYTE   0x65                    ;
23470
        .BYTE   0x20                    ;
23471
        .BYTE   0x54                    ;
23472
        .BYTE   0x61                    ;
23473
        .BYTE   0x73                    ;
23474
        .BYTE   0x6B                    ;
23475
        .BYTE   0                        ;
23476
Cend_text:                              ;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.