mirror of
https://github.com/VARCem/PTV_Archive.git
synced 2026-09-23 23:44:50 +00:00
226 lines
5.2 KiB
Plaintext
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
|