Files
2023-04-20 10:16:42 +02:00

226 lines
5.2 KiB
Plaintext

; XA C compiler v2.0 r2 SN00085795-Ccz (c) 1998 TASKING, Inc.
; options: -IC:\cxa\include -Ms -So -w -A1 -O2 -DMEASURE_TIME -DPRINT -g
$CASE
$ZPAGE
NAME SIEVE
SYMB TOOL, "XA C compiler v2.0", 1
SYMB TYPE, 256, "bit", 'g', 0, 1
SYMB FILE, "sieve.c"
SYMB FILE, "C:\\cxa\\include\\stdio.h"
SYMB FILE, "C:\\cxa\\include\\stdarg.h"
SYMB ENDF
SYMB TYPE, 257, 'n', #2, 130
SYMB TYPE, 258, 'O', #257
SYMB TYPE, 259, "_iobuf", 'S', 10,\
"_ptr", #258, 0,\
"_cnt", #16, 2,\
"_base", #258, 4,\
"_flag", #2, 6,\
"_file", #2, 7,\
"_bufsiz", #16, 8
SYMB TYPE, 260, "FILE", 'T', #259
SYMB TYPE, 261, 'n', #1, 130
SYMB TYPE, 262, 'O', #261
SYMB TYPE, 263, 'Z', #262, 0
SYMB TYPE, 265, "va_list", 'T', #263
SYMB TYPE, 266, "size_t", 'T', #18
SYMB TYPE, 267, "fpos_t", 'T', #7
SYMB ENDF
SYMB FILE, "C:\\cxa\\include\\time.h"
SYMB FILE, "C:\\cxa\\include\\stddef.h"
SYMB ENDF
SYMB TYPE, 268, "time_t", 'T', #7
SYMB TYPE, 269, "clock_t", 'T', #7
SYMB ENDF
SIEVE_PR SEGMENT CODE
RSEG SIEVE_PR
ALIGN 1
SYMB LINE, 30
PUBLIC _main
_main:
SYMB TYPE, 270, 'X', 8, #1, 30, 0
SYMB GFUN, "main", _main, #270, 0, 0, 0
SYMB ALAB, _main, #270
SYMB IDEN, "i", -1, #16, 130, 5
SYMB LTIM, "i", -1, 0, 69
SYMB IDEN, "prime", -1, #16, 130, 5
SYMB LTIM, "prime", -1, 0, 69
SYMB IDEN, "k", -1, #16, 130, 5
SYMB LTIM, "k", -1, 0, 69
SYMB IDEN, "count", -1, #16, 130, 5
SYMB LTIM, "count", -1, 0, 69
SYMB IDEN, "iter", -1, #16, 130, 5
SYMB LTIM, "iter", -1, 0, 69
SYMB IDEN, "__#STR0001S", -1, #258, 130, 5
SYMB LTIM, "__#STR0001S", -1, 0, 69
SYMB IDEN, "__#STR0002S", -1, #258, 130, 5
SYMB LTIM, "__#STR0002S", -1, 0, 69
SYMB IDEN, "__#STR0004S", -1, #258, 130, 5
SYMB LTIM, "__#STR0004S", -1, 0, 69
SYMB IDEN, "__#STR0005S", -1, #258, 130, 5
SYMB LTIM, "__#STR0005S", -1, 0, 69
SYMB LINE, 34
MOV.W R0,#_3
PUSH.W R0
SYMB SOFF, 2
CALL _printf
ADDS.W R7,#02H
SYMB SOFF, 0
SYMB LINE, 36
MOV.W R0,#00H
CALL _time
MOV.W R1,#_Begin_Time
MOV.W [R1],R0
SYMB LINE, 39
MOV.W R5,#01H
SYMB LTIM, "iter", 22, 0, 205
_6:
SYMB LINE, 41
MOV.W R4,#00H
SYMB LTIM, "count", 18, 0, 205
SYMB LTIM, "i", -1, 0, 197
SYMB LINE, 42
MOV.W R0,#_flags
SYMB LTIM, "__#STR0001S", 2, 0, 205
SYMB LTIM, "i", -1, 0, 69
_7:
SYMB LINE, 43
MOV.B [R0],#01H
SYMB LINE, 42
ADDS.W R0,#01H
SYMB LTIM, "__#STR0001S", 2, 0, 77
SYMB LTIM, "__#STR0001S", 2, 0, 205
CMP.W R0,#_flags+8191
BCS _7
SYMB LINE, 44
MOV.W R3,#00H
MOV.W R2,#_flags
SYMB LTIM, "__#STR0004S", 10, 0, 205
_8:
SYMB LINE, 46
MOV.B R0L,[R2]
SYMB LTIM, "__#STR0001S", 2, 0, 77
BEQ _11
SYMB LINE, 48
MOV.W R1,R3
ADD.W R1,R1
ADDS.W R1,#03H
SYMB LTIM, "prime", 6, 0, 205
SYMB LINE, 49
MOV.W R6,R3
ADD.W R6,R1
MOV.W R0,R6
SYMB LTIM, "k", 2, 0, 205
CMP.W R6,#01FFEH
BGT _10
_9:
SYMB LINE, 50
MOV.B [R0+_flags],#00H
SYMB LINE, 49
ADD.W R0,R1
SYMB LTIM, "k", 2, 0, 77
SYMB LTIM, "k", 2, 0, 205
CMP.W R0,#01FFEH
BLE _9
SYMB LINE, 50
_10:
SYMB LINE, 52
ADDS.W R4,#01H
SYMB LTIM, "count", 18, 0, 77
SYMB LTIM, "count", 18, 0, 205
SYMB LINE, 53
_11:
SYMB LINE, 44
ADDS.W R2,#01H
SYMB LTIM, "__#STR0004S", 10, 0, 77
SYMB LTIM, "__#STR0004S", 10, 0, 205
ADDS.W R3,#01H
CMP.W R2,#_flags+8191
BCS _8
SYMB LINE, 39
ADDS.W R5,#01H
SYMB LTIM, "iter", 22, 0, 77
SYMB LTIM, "iter", 22, 0, 205
CMP.W R5,#0AH
BLE _6
SYMB LINE, 58
MOV.W R0,#00H
CALL _time
SYMB LTIM, "prime", 6, 0, 77
SYMB LTIM, "k", 2, 0, 77
SYMB LTIM, "__#STR0004S", 10, 0, 77
MOV.W R1,#_End_Time
MOV.W [R1],R0
SYMB LINE, 60
PUSH.W R4
SYMB SOFF, 2
SYMB LTIM, "count", 18, 0, 77
MOV.W R0,#_4
PUSH.W R0
SYMB SOFF, 4
CALL _printf
ADDS.W R7,#04H
SYMB SOFF, 0
SYMB LINE, 62
MOV.W R0,#_End_Time
MOV.W R0,[R0]
MOV.W R1,#_Begin_Time
MOV.W R1,[R1]
SUB.W R0,R1
PUSH.W R0
SYMB SOFF, 2
MOV.W R0,#_5
PUSH.W R0
SYMB SOFF, 4
CALL _printf
ADDS.W R7,#04H
SYMB SOFF, 0
SYMB LINE, 65
RET
SYMB LTIM, "iter", 22, 0, 77
SYMB EFUN
SYMB ENDF
SYMB TYPE, 272, 'n', #268, 130
SYMB TYPE, 273, 'O', #272
SYMB TYPE, 271, 'X', 8, #268, 30, 1, #273
SYMB ALAB, _time, #271
EXTRN CODE(_time)
SYMB TYPE, 274, 'Z', #2, 8190
SYMB IDEN, "flags", _flags, #274, 130, 0
SYMB ALAB, _flags, #274
SIEVE_CLR_FA SEGMENT IDATA CLEAR
RSEG SIEVE_CLR_FA
PUBLIC _flags
_flags: DS 8191
SIEVE_INI_FA SEGMENT IDATA INIT
RSEG SIEVE_INI_FA
_4: DB 025H,064H,020H,070H,072H,069H,06DH,065H,073H,02EH,00AH,000H
SYMB IDEN, "End_Time", _End_Time, #18, 130, 0
SYMB ALAB, _End_Time, #18
RSEG SIEVE_CLR_FA
PUBLIC _End_Time
ALIGN 1
_End_Time: DS 2
RSEG SIEVE_INI_FA
_3: DB 031H,030H,020H,069H,074H,065H,072H,061H,074H,069H,06FH,06EH
DB 073H,00AH,000H
SYMB TYPE, 276, 'X', 8, #16, 30, 2, #258, #1
SYMB ALAB, _printf, #276
EXTRN CODE(_printf)
_5: DB 054H,069H,06DH,065H,03AH,020H,025H,064H,020H,06DH,073H,065H
DB 063H,02EH,00AH,000H
SYMB IDEN, "Begin_Time", _Begin_Time, #18, 130, 0
SYMB ALAB, _Begin_Time, #18
RSEG SIEVE_CLR_FA
PUBLIC _Begin_Time
ALIGN 1
_Begin_Time: DS 2
EXTRN CODE(__START)
EXTRN DATA(__lc_ub_xvwbuffer)
EXTRN DATA(__lc_ue_xvwbuffer)
CALLS 'main', 'printf'
CALLS 'main', 'time'
CALLS 'main', 'printf'
END