############################################################################### # # # Calypsi ISO C compiler for 65816 version 5.16 # # 13/May/2026 15:46:15 # # Command line: --speed -O 2 --64bit-doubles sumSquares.c -o # # /tmp/sumSquares.calypsi.elf --list-file # # sumSquares.calypsi.lst # # # ############################################################################### \ 000000 .rtmodel version,"1" \ 000000 .rtmodel codeModel,"large" \ 000000 .rtmodel dataModel,"small" \ 000000 .rtmodel core,"65816" \ 000000 .rtmodel huge,"0" \ 000000 .rtmodel target,"none-specified" \ 000000 .extern _Dp \ 000000 .extern _Mul16 \ 000000 .extern _Vfp 0001 // Simple function for compiler-quality comparison. 0002 unsigned long sumSquares(unsigned short n) { \ 000000 .section farcode,text \ 000000 .public sumSquares \ 000000 5a sumSquares: phy \ 000001 5a phy \ 000002 8301 sta 1,s 0003 unsigned long total = 0; \ 000004 64.. stz dp:.tiny _Dp \ 000006 64.. stz dp:.tiny (_Dp+2) 0004 for (unsigned short i = 1; i <= n; i++) { \ 000008 a90100 lda ##1 \ 00000b 8303 sta 3,s \ 00000d a301 `?L5`: lda 1,s \ 00000f c303 cmp 3,s \ 000011 b007 bcs `?L4` 0005 total += (unsigned long)i * i; 0006 } 0007 return total; \ 000013 a6.. ldx dp:.tiny (_Dp+2) \ 000015 a5.. lda dp:.tiny _Dp 0008 } \ 000017 7a ply \ 000018 7a ply \ 000019 6b rtl \ 00001a a303 `?L4`: lda 3,s \ 00001c aa tax \ 00001d 22...... jsl long:_Mul16 \ 000021 18 clc \ 000022 65.. adc dp:.tiny _Dp \ 000024 48 pha \ 000025 8a txa \ 000026 65.. adc dp:.tiny (_Dp+2) \ 000028 aa tax \ 000029 68 pla \ 00002a 86.. stx dp:.tiny (_Dp+2) \ 00002c 85.. sta dp:.tiny _Dp \ 00002e a303 lda 3,s \ 000030 1a inc a \ 000031 8303 sta 3,s \ 000033 80d8 bra `?L5` ########################## # # # Memory sizes (decimal) # # # ########################## Executable (Text): 53 bytes