prog8/compiler/test/comparisons/test_word_lt.asm
Irmen de Jong 56c1035581 Merge branch 'master' into multi-assign
# Conflicts:
#	docs/source/todo.rst
#	examples/test.p8
2024-03-26 22:09:16 +01:00

25774 lines
583 KiB
NASM

; w65c02 assembly code for 'test_word_lt'
; generated by prog8.codegen.cpu6502.ProgramAndVarsGen on 2024-03-13T21:14:49
; assembler syntax is for the 64tasm cross-assembler
; output options: output=PRG launcher=BASIC zp=DONTUSE
.cpu 'w65c02'
.enc 'none'
P8ZP_SCRATCH_B1 = 122
P8ZP_SCRATCH_REG = 123
P8ZP_SCRATCH_W1 = 124 ; word
P8ZP_SCRATCH_W2 = 126 ; word
.weak
.endweak
; ---- basic program with sys call ----
* = $0801
.word (+), 2024
.null $9e, format(' %d ', prog8_entrypoint), $3a, $8f, ' prog8'
+ .word 0
prog8_entrypoint ; assembly code starts here
jsr sys.init_system_phase2
lda #4
sta $01
jsr p8b_main.p8s_start
jmp sys.cleanup_at_exit
; ---- block: 'p8b_main' ----
p8b_main .proc
; source: test_word_lt.p8:8 main {
; non-zeropage variables without initialization value
.section BSS
p8v_comparison .word ?
p8v_success .byte ?
.send BSS
; non-zeropage variables
p8v_datatype ; PETSCII:"word"
.byte $57, $4f, $52, $44, $00
; source: test_word_lt.p8:9 ubyte success = 0
; source: test_word_lt.p8:10 str datatype = "word"
; source: test_word_lt.p8:11 uword @shared comparison
; source: test_word_lt.p8:13 sub start() {
p8s_start .proc
; program startup initialization
cld
tsx
stx prog8_lib.orig_stackpointer ; required for sys.exit()
.if prog8_bss_section_size>0
; reset all variables in BSS section to zero
lda #<prog8_bss_section_start
ldy #>prog8_bss_section_start
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldx #<prog8_bss_section_size
ldy #>prog8_bss_section_size
lda #0
jsr prog8_lib.memset
.endif
jsr p8b_main.prog8_init_vars
+
clv
clc
; statements
; source: test_word_lt.p8:14 txt.print("\nless-than tests for: ")
ldy #>prog8_interned_strings.string_1
lda #<prog8_interned_strings.string_1
jsr txt.print
; source: test_word_lt.p8:15 txt.print(datatype)
ldy #>p8b_main.p8v_datatype
lda #<p8b_main.p8v_datatype
jsr txt.print
; source: library:/prog8lib/cx16/textio.p8:29 chrout('\n')
lda #13
jsr txt.chrout
; source: test_word_lt.p8:17 test_stack.test()
jsr test_stack.test
; source: test_word_lt.p8:18 txt.print("\n<number: ")
ldy #>prog8_interned_strings.string_2
lda #<prog8_interned_strings.string_2
jsr txt.print
; source: test_word_lt.p8:19 test_cmp_number()
jsr p8b_main.p8s_test_cmp_number
; source: test_word_lt.p8:20 txt.print("\n<var: ")
ldy #>prog8_interned_strings.string_3
lda #<prog8_interned_strings.string_3
jsr txt.print
; source: test_word_lt.p8:21 test_cmp_var()
jsr p8b_main.p8s_test_cmp_var
; source: test_word_lt.p8:22 txt.print("\n<array[]: ")
ldy #>prog8_interned_strings.string_4
lda #<prog8_interned_strings.string_4
jsr txt.print
; source: test_word_lt.p8:23 test_cmp_array()
jsr p8b_main.p8s_test_cmp_array
; source: test_word_lt.p8:24 txt.print("\n<expr: ")
ldy #>prog8_interned_strings.string_5
lda #<prog8_interned_strings.string_5
jsr txt.print
; source: test_word_lt.p8:25 test_cmp_expr()
jsr p8b_main.p8s_test_cmp_expr
; source: test_word_lt.p8:26 test_stack.test()
jmp test_stack.test
; source: test_word_lt.p8:13 sub start() {
; variables
.section BSS
.send BSS
.pend
; source: test_word_lt.p8:29 sub verify_success(ubyte expected) {
p8s_verify_success .proc
; simple int arg(s) passed via register(s)
sta p8v_expected
; statements
; source: test_word_lt.p8:30 if success==expected {
lda p8b_main.p8v_success
cmp p8v_expected
bne label_asm_2_else
; source: test_word_lt.p8:31 txt.print("ok")
lda #$4f
jsr txt.chrout
lda #$4b
jsr txt.chrout
bra label_asm_1_afterif
label_asm_2_else
; source: test_word_lt.p8:33 txt.print(" **failed** ")
ldy #>prog8_interned_strings.string_7
lda #<prog8_interned_strings.string_7
jsr txt.print
; source: test_word_lt.p8:34 txt.print_ub(success)
lda p8b_main.p8v_success
jsr txt.print_ub
; source: test_word_lt.p8:35 txt.print(" success, expected ")
ldy #>prog8_interned_strings.string_8
lda #<prog8_interned_strings.string_8
jsr txt.print
; source: test_word_lt.p8:36 txt.print_ub(expected)
lda p8v_expected
jsr txt.print_ub
label_asm_1_afterif
; source: test_word_lt.p8:29 sub verify_success(ubyte expected) {
rts
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
p8v_expected .byte ?
.send BSS
.pend
; source: test_word_lt.p8:52 sub fail_word(uword idx) {
p8s_fail_word .proc
; simple int arg(s) passed via register(s)
sta p8v_idx
sty p8v_idx+1
; statements
; source: test_word_lt.p8:53 txt.print(" **fail#")
ldy #>prog8_interned_strings.string_9
lda #<prog8_interned_strings.string_9
jsr txt.print
; source: test_word_lt.p8:54 txt.print_uw(idx)
ldy p8v_idx+1
lda p8v_idx
jsr txt.print_uw
; source: test_word_lt.p8:55 txt.print(" **")
ldy #>prog8_interned_strings.string_10
lda #<prog8_interned_strings.string_10
jmp txt.print
; source: test_word_lt.p8:52 sub fail_word(uword idx) {
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
p8v_idx .word ?
.send BSS
.pend
; source: test_word_lt.p8:71 sub test_cmp_number() {
p8s_test_cmp_number .proc
; statements
; source: test_word_lt.p8:72 word @shared x
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:73 success = 0
stz p8b_main.p8v_success
; source: test_word_lt.p8:74 x=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:76 if x<-21829
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl1a
; source: test_word_lt.p8:78 goto skip1a
bra p8l_skip1a
; source: test_word_lt.p8:79 lbl1a: fail_word(1)
p8l_lbl1a
ldy #>1
lda #<1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:80 skip1a:
p8l_skip1a
; source: test_word_lt.p8:82 cx16.r3 = &lbl1b
lda #<p8l_lbl1b
ldy #>p8l_lbl1b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:83 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:85 goto skip1b
bra p8l_skip1b
; source: test_word_lt.p8:86 lbl1b: fail_word(2)
p8l_lbl1b
ldy #>2
lda #<2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:87 skip1b:
p8l_skip1b
; source: test_word_lt.p8:89 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_3_afterif
; source: test_word_lt.p8:90 fail_word(3)
ldy #>3
lda #<3
jsr p8b_main.p8s_fail_word
label_asm_3_afterif
; source: test_word_lt.p8:93 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_5_else
; source: test_word_lt.p8:94 fail_word(4)
ldy #>4
lda #<4
jsr p8b_main.p8s_fail_word
bra label_asm_4_afterif
label_asm_5_else
; source: test_word_lt.p8:96 success++
inc p8b_main.p8v_success
label_asm_4_afterif
; source: test_word_lt.p8:99 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl2a
; source: test_word_lt.p8:101 goto skip2a
bra p8l_skip2a
; source: test_word_lt.p8:102 lbl2a: success++
p8l_lbl2a
inc p8b_main.p8v_success
; source: test_word_lt.p8:103 skip2a:
p8l_skip2a
; source: test_word_lt.p8:105 cx16.r3 = &lbl2b
lda #<p8l_lbl2b
ldy #>p8l_lbl2b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:106 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:108 goto skip2b
bra p8l_skip2b
; source: test_word_lt.p8:109 lbl2b: success++
p8l_lbl2b
inc p8b_main.p8v_success
; source: test_word_lt.p8:110 skip2b:
p8l_skip2b
; source: test_word_lt.p8:112 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_6_afterif
; source: test_word_lt.p8:113 success++
inc p8b_main.p8v_success
label_asm_6_afterif
; source: test_word_lt.p8:116 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_8_else
; source: test_word_lt.p8:117 success++
inc p8b_main.p8v_success
bra label_asm_7_afterif
label_asm_8_else
; source: test_word_lt.p8:119 cx16.r0L++
inc cx16.r0L
label_asm_7_afterif
; source: test_word_lt.p8:122 if x<0
lda p8v_x+1
bmi p8l_lbl3a
; source: test_word_lt.p8:124 goto skip3a
bra p8l_skip3a
; source: test_word_lt.p8:125 lbl3a: success++
p8l_lbl3a
inc p8b_main.p8v_success
; source: test_word_lt.p8:126 skip3a:
p8l_skip3a
; source: test_word_lt.p8:128 cx16.r3 = &lbl3b
lda #<p8l_lbl3b
ldy #>p8l_lbl3b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:129 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:131 goto skip3b
bra p8l_skip3b
; source: test_word_lt.p8:132 lbl3b: success++
p8l_lbl3b
inc p8b_main.p8v_success
; source: test_word_lt.p8:133 skip3b:
p8l_skip3b
; source: test_word_lt.p8:135 if x<0
lda p8v_x+1
bpl label_asm_9_afterif
; source: test_word_lt.p8:136 success++
inc p8b_main.p8v_success
label_asm_9_afterif
; source: test_word_lt.p8:139 if x<0
lda p8v_x+1
bpl label_asm_11_else
; source: test_word_lt.p8:140 success++
inc p8b_main.p8v_success
bra label_asm_10_afterif
label_asm_11_else
; source: test_word_lt.p8:142 cx16.r0L++
inc cx16.r0L
label_asm_10_afterif
; source: test_word_lt.p8:145 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl4a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl4a
+
; source: test_word_lt.p8:147 goto skip4a
bra p8l_skip4a
; source: test_word_lt.p8:148 lbl4a: success++
p8l_lbl4a
inc p8b_main.p8v_success
; source: test_word_lt.p8:149 skip4a:
p8l_skip4a
; source: test_word_lt.p8:151 cx16.r3 = &lbl4b
lda #<p8l_lbl4b
ldy #>p8l_lbl4b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:152 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:154 goto skip4b
bra p8l_skip4b
; source: test_word_lt.p8:155 lbl4b: success++
p8l_lbl4b
inc p8b_main.p8v_success
; source: test_word_lt.p8:156 skip4b:
p8l_skip4b
; source: test_word_lt.p8:158 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_12_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_12_afterif
+
; source: test_word_lt.p8:159 success++
inc p8b_main.p8v_success
label_asm_12_afterif
; source: test_word_lt.p8:162 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_14_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_14_else
+
; source: test_word_lt.p8:163 success++
inc p8b_main.p8v_success
bra label_asm_13_afterif
label_asm_14_else
; source: test_word_lt.p8:165 cx16.r0L++
inc cx16.r0L
label_asm_13_afterif
; source: test_word_lt.p8:168 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl5a
; source: test_word_lt.p8:170 goto skip5a
bra p8l_skip5a
; source: test_word_lt.p8:171 lbl5a: success++
p8l_lbl5a
inc p8b_main.p8v_success
; source: test_word_lt.p8:172 skip5a:
p8l_skip5a
; source: test_word_lt.p8:174 cx16.r3 = &lbl5b
lda #<p8l_lbl5b
ldy #>p8l_lbl5b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:175 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:177 goto skip5b
bra p8l_skip5b
; source: test_word_lt.p8:178 lbl5b: success++
p8l_lbl5b
inc p8b_main.p8v_success
; source: test_word_lt.p8:179 skip5b:
p8l_skip5b
; source: test_word_lt.p8:181 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_15_afterif
; source: test_word_lt.p8:182 success++
inc p8b_main.p8v_success
label_asm_15_afterif
; source: test_word_lt.p8:185 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_17_else
; source: test_word_lt.p8:186 success++
inc p8b_main.p8v_success
bra label_asm_16_afterif
label_asm_17_else
; source: test_word_lt.p8:188 cx16.r0L++
inc cx16.r0L
label_asm_16_afterif
; source: test_word_lt.p8:191 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl6a
; source: test_word_lt.p8:193 goto skip6a
bra p8l_skip6a
; source: test_word_lt.p8:194 lbl6a: success++
p8l_lbl6a
inc p8b_main.p8v_success
; source: test_word_lt.p8:195 skip6a:
p8l_skip6a
; source: test_word_lt.p8:197 cx16.r3 = &lbl6b
lda #<p8l_lbl6b
ldy #>p8l_lbl6b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:198 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:200 goto skip6b
bra p8l_skip6b
; source: test_word_lt.p8:201 lbl6b: success++
p8l_lbl6b
inc p8b_main.p8v_success
; source: test_word_lt.p8:202 skip6b:
p8l_skip6b
; source: test_word_lt.p8:204 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_18_afterif
; source: test_word_lt.p8:205 success++
inc p8b_main.p8v_success
label_asm_18_afterif
; source: test_word_lt.p8:208 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_20_else
; source: test_word_lt.p8:209 success++
inc p8b_main.p8v_success
bra label_asm_19_afterif
label_asm_20_else
; source: test_word_lt.p8:211 cx16.r0L++
inc cx16.r0L
label_asm_19_afterif
; source: test_word_lt.p8:214 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl7a
; source: test_word_lt.p8:216 goto skip7a
bra p8l_skip7a
; source: test_word_lt.p8:217 lbl7a: success++
p8l_lbl7a
inc p8b_main.p8v_success
; source: test_word_lt.p8:218 skip7a:
p8l_skip7a
; source: test_word_lt.p8:220 cx16.r3 = &lbl7b
lda #<p8l_lbl7b
ldy #>p8l_lbl7b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:221 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:223 goto skip7b
bra p8l_skip7b
; source: test_word_lt.p8:224 lbl7b: success++
p8l_lbl7b
inc p8b_main.p8v_success
; source: test_word_lt.p8:225 skip7b:
p8l_skip7b
; source: test_word_lt.p8:227 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_21_afterif
; source: test_word_lt.p8:228 success++
inc p8b_main.p8v_success
label_asm_21_afterif
; source: test_word_lt.p8:231 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_23_else
; source: test_word_lt.p8:232 success++
inc p8b_main.p8v_success
bra label_asm_22_afterif
label_asm_23_else
; source: test_word_lt.p8:234 cx16.r0L++
inc cx16.r0L
label_asm_22_afterif
; source: test_word_lt.p8:236 x=-1
lda #<-1
ldy #>-1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:238 if x<-21829
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl8a
; source: test_word_lt.p8:240 goto skip8a
bra p8l_skip8a
; source: test_word_lt.p8:241 lbl8a: fail_word(5)
p8l_lbl8a
ldy #>5
lda #<5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:242 skip8a:
p8l_skip8a
; source: test_word_lt.p8:244 cx16.r3 = &lbl8b
lda #<p8l_lbl8b
ldy #>p8l_lbl8b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:245 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:247 goto skip8b
bra p8l_skip8b
; source: test_word_lt.p8:248 lbl8b: fail_word(6)
p8l_lbl8b
ldy #>6
lda #<6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:249 skip8b:
p8l_skip8b
; source: test_word_lt.p8:251 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_24_afterif
; source: test_word_lt.p8:252 fail_word(7)
ldy #>7
lda #<7
jsr p8b_main.p8s_fail_word
label_asm_24_afterif
; source: test_word_lt.p8:255 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_26_else
; source: test_word_lt.p8:256 fail_word(8)
ldy #>8
lda #<8
jsr p8b_main.p8s_fail_word
bra label_asm_25_afterif
label_asm_26_else
; source: test_word_lt.p8:258 success++
inc p8b_main.p8v_success
label_asm_25_afterif
; source: test_word_lt.p8:261 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl9a
; source: test_word_lt.p8:263 goto skip9a
bra p8l_skip9a
; source: test_word_lt.p8:264 lbl9a: fail_word(9)
p8l_lbl9a
ldy #>9
lda #<9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:265 skip9a:
p8l_skip9a
; source: test_word_lt.p8:267 cx16.r3 = &lbl9b
lda #<p8l_lbl9b
ldy #>p8l_lbl9b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:268 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:270 goto skip9b
bra p8l_skip9b
; source: test_word_lt.p8:271 lbl9b: fail_word(10)
p8l_lbl9b
ldy #>10
lda #<10
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:272 skip9b:
p8l_skip9b
; source: test_word_lt.p8:274 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_27_afterif
; source: test_word_lt.p8:275 fail_word(11)
ldy #>11
lda #<11
jsr p8b_main.p8s_fail_word
label_asm_27_afterif
; source: test_word_lt.p8:278 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_29_else
; source: test_word_lt.p8:279 fail_word(12)
ldy #>12
lda #<12
jsr p8b_main.p8s_fail_word
bra label_asm_28_afterif
label_asm_29_else
; source: test_word_lt.p8:281 success++
inc p8b_main.p8v_success
label_asm_28_afterif
; source: test_word_lt.p8:284 if x<0
lda p8v_x+1
bmi p8l_lbl10a
; source: test_word_lt.p8:286 goto skip10a
bra p8l_skip10a
; source: test_word_lt.p8:287 lbl10a: success++
p8l_lbl10a
inc p8b_main.p8v_success
; source: test_word_lt.p8:288 skip10a:
p8l_skip10a
; source: test_word_lt.p8:290 cx16.r3 = &lbl10b
lda #<p8l_lbl10b
ldy #>p8l_lbl10b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:291 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:293 goto skip10b
bra p8l_skip10b
; source: test_word_lt.p8:294 lbl10b: success++
p8l_lbl10b
inc p8b_main.p8v_success
; source: test_word_lt.p8:295 skip10b:
p8l_skip10b
; source: test_word_lt.p8:297 if x<0
lda p8v_x+1
bpl label_asm_30_afterif
; source: test_word_lt.p8:298 success++
inc p8b_main.p8v_success
label_asm_30_afterif
; source: test_word_lt.p8:301 if x<0
lda p8v_x+1
bpl label_asm_32_else
; source: test_word_lt.p8:302 success++
inc p8b_main.p8v_success
bra label_asm_31_afterif
label_asm_32_else
; source: test_word_lt.p8:304 cx16.r0L++
inc cx16.r0L
label_asm_31_afterif
; source: test_word_lt.p8:307 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl11a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl11a
+
; source: test_word_lt.p8:309 goto skip11a
bra p8l_skip11a
; source: test_word_lt.p8:310 lbl11a: success++
p8l_lbl11a
inc p8b_main.p8v_success
; source: test_word_lt.p8:311 skip11a:
p8l_skip11a
; source: test_word_lt.p8:313 cx16.r3 = &lbl11b
lda #<p8l_lbl11b
ldy #>p8l_lbl11b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:314 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:316 goto skip11b
bra p8l_skip11b
; source: test_word_lt.p8:317 lbl11b: success++
p8l_lbl11b
inc p8b_main.p8v_success
; source: test_word_lt.p8:318 skip11b:
p8l_skip11b
; source: test_word_lt.p8:320 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_33_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_33_afterif
+
; source: test_word_lt.p8:321 success++
inc p8b_main.p8v_success
label_asm_33_afterif
; source: test_word_lt.p8:324 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_35_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_35_else
+
; source: test_word_lt.p8:325 success++
inc p8b_main.p8v_success
bra label_asm_34_afterif
label_asm_35_else
; source: test_word_lt.p8:327 cx16.r0L++
inc cx16.r0L
label_asm_34_afterif
; source: test_word_lt.p8:330 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl12a
; source: test_word_lt.p8:332 goto skip12a
bra p8l_skip12a
; source: test_word_lt.p8:333 lbl12a: success++
p8l_lbl12a
inc p8b_main.p8v_success
; source: test_word_lt.p8:334 skip12a:
p8l_skip12a
; source: test_word_lt.p8:336 cx16.r3 = &lbl12b
lda #<p8l_lbl12b
ldy #>p8l_lbl12b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:337 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:339 goto skip12b
bra p8l_skip12b
; source: test_word_lt.p8:340 lbl12b: success++
p8l_lbl12b
inc p8b_main.p8v_success
; source: test_word_lt.p8:341 skip12b:
p8l_skip12b
; source: test_word_lt.p8:343 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_36_afterif
; source: test_word_lt.p8:344 success++
inc p8b_main.p8v_success
label_asm_36_afterif
; source: test_word_lt.p8:347 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_38_else
; source: test_word_lt.p8:348 success++
inc p8b_main.p8v_success
bra label_asm_37_afterif
label_asm_38_else
; source: test_word_lt.p8:350 cx16.r0L++
inc cx16.r0L
label_asm_37_afterif
; source: test_word_lt.p8:353 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl13a
; source: test_word_lt.p8:355 goto skip13a
bra p8l_skip13a
; source: test_word_lt.p8:356 lbl13a: success++
p8l_lbl13a
inc p8b_main.p8v_success
; source: test_word_lt.p8:357 skip13a:
p8l_skip13a
; source: test_word_lt.p8:359 cx16.r3 = &lbl13b
lda #<p8l_lbl13b
ldy #>p8l_lbl13b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:360 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:362 goto skip13b
bra p8l_skip13b
; source: test_word_lt.p8:363 lbl13b: success++
p8l_lbl13b
inc p8b_main.p8v_success
; source: test_word_lt.p8:364 skip13b:
p8l_skip13b
; source: test_word_lt.p8:366 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_39_afterif
; source: test_word_lt.p8:367 success++
inc p8b_main.p8v_success
label_asm_39_afterif
; source: test_word_lt.p8:370 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_41_else
; source: test_word_lt.p8:371 success++
inc p8b_main.p8v_success
bra label_asm_40_afterif
label_asm_41_else
; source: test_word_lt.p8:373 cx16.r0L++
inc cx16.r0L
label_asm_40_afterif
; source: test_word_lt.p8:376 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl14a
; source: test_word_lt.p8:378 goto skip14a
bra p8l_skip14a
; source: test_word_lt.p8:379 lbl14a: success++
p8l_lbl14a
inc p8b_main.p8v_success
; source: test_word_lt.p8:380 skip14a:
p8l_skip14a
; source: test_word_lt.p8:382 cx16.r3 = &lbl14b
lda #<p8l_lbl14b
ldy #>p8l_lbl14b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:383 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:385 goto skip14b
bra p8l_skip14b
; source: test_word_lt.p8:386 lbl14b: success++
p8l_lbl14b
inc p8b_main.p8v_success
; source: test_word_lt.p8:387 skip14b:
p8l_skip14b
; source: test_word_lt.p8:389 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_42_afterif
; source: test_word_lt.p8:390 success++
inc p8b_main.p8v_success
label_asm_42_afterif
; source: test_word_lt.p8:393 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_44_else
; source: test_word_lt.p8:394 success++
inc p8b_main.p8v_success
bra label_asm_43_afterif
label_asm_44_else
; source: test_word_lt.p8:396 cx16.r0L++
inc cx16.r0L
label_asm_43_afterif
; source: test_word_lt.p8:398 x=0
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:400 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl15a
; source: test_word_lt.p8:402 goto skip15a
bra p8l_skip15a
; source: test_word_lt.p8:403 lbl15a: fail_word(13)
p8l_lbl15a
ldy #>13
lda #<13
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:404 skip15a:
p8l_skip15a
; source: test_word_lt.p8:406 cx16.r3 = &lbl15b
lda #<p8l_lbl15b
ldy #>p8l_lbl15b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:407 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:409 goto skip15b
bra p8l_skip15b
; source: test_word_lt.p8:410 lbl15b: fail_word(14)
p8l_lbl15b
ldy #>14
lda #<14
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:411 skip15b:
p8l_skip15b
; source: test_word_lt.p8:413 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_45_afterif
; source: test_word_lt.p8:414 fail_word(15)
ldy #>15
lda #<15
jsr p8b_main.p8s_fail_word
label_asm_45_afterif
; source: test_word_lt.p8:417 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_47_else
; source: test_word_lt.p8:418 fail_word(16)
ldy #>$10
lda #<$10
jsr p8b_main.p8s_fail_word
bra label_asm_46_afterif
label_asm_47_else
; source: test_word_lt.p8:420 success++
inc p8b_main.p8v_success
label_asm_46_afterif
; source: test_word_lt.p8:423 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl16a
; source: test_word_lt.p8:425 goto skip16a
bra p8l_skip16a
; source: test_word_lt.p8:426 lbl16a: fail_word(17)
p8l_lbl16a
ldy #>$11
lda #<$11
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:427 skip16a:
p8l_skip16a
; source: test_word_lt.p8:429 cx16.r3 = &lbl16b
lda #<p8l_lbl16b
ldy #>p8l_lbl16b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:430 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:432 goto skip16b
bra p8l_skip16b
; source: test_word_lt.p8:433 lbl16b: fail_word(18)
p8l_lbl16b
ldy #>$12
lda #<$12
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:434 skip16b:
p8l_skip16b
; source: test_word_lt.p8:436 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_48_afterif
; source: test_word_lt.p8:437 fail_word(19)
ldy #>$13
lda #<$13
jsr p8b_main.p8s_fail_word
label_asm_48_afterif
; source: test_word_lt.p8:440 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_50_else
; source: test_word_lt.p8:441 fail_word(20)
ldy #>$14
lda #<$14
jsr p8b_main.p8s_fail_word
bra label_asm_49_afterif
label_asm_50_else
; source: test_word_lt.p8:443 success++
inc p8b_main.p8v_success
label_asm_49_afterif
; source: test_word_lt.p8:446 if x<0
lda p8v_x+1
bmi p8l_lbl17a
; source: test_word_lt.p8:448 goto skip17a
bra p8l_skip17a
; source: test_word_lt.p8:449 lbl17a: fail_word(21)
p8l_lbl17a
ldy #>$15
lda #<$15
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:450 skip17a:
p8l_skip17a
; source: test_word_lt.p8:452 cx16.r3 = &lbl17b
lda #<p8l_lbl17b
ldy #>p8l_lbl17b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:453 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:455 goto skip17b
bra p8l_skip17b
; source: test_word_lt.p8:456 lbl17b: fail_word(22)
p8l_lbl17b
ldy #>$16
lda #<$16
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:457 skip17b:
p8l_skip17b
; source: test_word_lt.p8:459 if x<0
lda p8v_x+1
bpl label_asm_51_afterif
; source: test_word_lt.p8:460 fail_word(23)
ldy #>$17
lda #<$17
jsr p8b_main.p8s_fail_word
label_asm_51_afterif
; source: test_word_lt.p8:463 if x<0
lda p8v_x+1
bpl label_asm_53_else
; source: test_word_lt.p8:464 fail_word(24)
ldy #>$18
lda #<$18
jsr p8b_main.p8s_fail_word
bra label_asm_52_afterif
label_asm_53_else
; source: test_word_lt.p8:466 success++
inc p8b_main.p8v_success
label_asm_52_afterif
; source: test_word_lt.p8:469 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl18a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl18a
+
; source: test_word_lt.p8:471 goto skip18a
bra p8l_skip18a
; source: test_word_lt.p8:472 lbl18a: success++
p8l_lbl18a
inc p8b_main.p8v_success
; source: test_word_lt.p8:473 skip18a:
p8l_skip18a
; source: test_word_lt.p8:475 cx16.r3 = &lbl18b
lda #<p8l_lbl18b
ldy #>p8l_lbl18b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:476 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:478 goto skip18b
bra p8l_skip18b
; source: test_word_lt.p8:479 lbl18b: success++
p8l_lbl18b
inc p8b_main.p8v_success
; source: test_word_lt.p8:480 skip18b:
p8l_skip18b
; source: test_word_lt.p8:482 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_54_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_54_afterif
+
; source: test_word_lt.p8:483 success++
inc p8b_main.p8v_success
label_asm_54_afterif
; source: test_word_lt.p8:486 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_56_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_56_else
+
; source: test_word_lt.p8:487 success++
inc p8b_main.p8v_success
bra label_asm_55_afterif
label_asm_56_else
; source: test_word_lt.p8:489 cx16.r0L++
inc cx16.r0L
label_asm_55_afterif
; source: test_word_lt.p8:492 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl19a
; source: test_word_lt.p8:494 goto skip19a
bra p8l_skip19a
; source: test_word_lt.p8:495 lbl19a: success++
p8l_lbl19a
inc p8b_main.p8v_success
; source: test_word_lt.p8:496 skip19a:
p8l_skip19a
; source: test_word_lt.p8:498 cx16.r3 = &lbl19b
lda #<p8l_lbl19b
ldy #>p8l_lbl19b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:499 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:501 goto skip19b
bra p8l_skip19b
; source: test_word_lt.p8:502 lbl19b: success++
p8l_lbl19b
inc p8b_main.p8v_success
; source: test_word_lt.p8:503 skip19b:
p8l_skip19b
; source: test_word_lt.p8:505 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_57_afterif
; source: test_word_lt.p8:506 success++
inc p8b_main.p8v_success
label_asm_57_afterif
; source: test_word_lt.p8:509 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_59_else
; source: test_word_lt.p8:510 success++
inc p8b_main.p8v_success
bra label_asm_58_afterif
label_asm_59_else
; source: test_word_lt.p8:512 cx16.r0L++
inc cx16.r0L
label_asm_58_afterif
; source: test_word_lt.p8:515 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl20a
; source: test_word_lt.p8:517 goto skip20a
bra p8l_skip20a
; source: test_word_lt.p8:518 lbl20a: success++
p8l_lbl20a
inc p8b_main.p8v_success
; source: test_word_lt.p8:519 skip20a:
p8l_skip20a
; source: test_word_lt.p8:521 cx16.r3 = &lbl20b
lda #<p8l_lbl20b
ldy #>p8l_lbl20b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:522 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:524 goto skip20b
bra p8l_skip20b
; source: test_word_lt.p8:525 lbl20b: success++
p8l_lbl20b
inc p8b_main.p8v_success
; source: test_word_lt.p8:526 skip20b:
p8l_skip20b
; source: test_word_lt.p8:528 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_60_afterif
; source: test_word_lt.p8:529 success++
inc p8b_main.p8v_success
label_asm_60_afterif
; source: test_word_lt.p8:532 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_62_else
; source: test_word_lt.p8:533 success++
inc p8b_main.p8v_success
bra label_asm_61_afterif
label_asm_62_else
; source: test_word_lt.p8:535 cx16.r0L++
inc cx16.r0L
label_asm_61_afterif
; source: test_word_lt.p8:538 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl21a
; source: test_word_lt.p8:540 goto skip21a
bra p8l_skip21a
; source: test_word_lt.p8:541 lbl21a: success++
p8l_lbl21a
inc p8b_main.p8v_success
; source: test_word_lt.p8:542 skip21a:
p8l_skip21a
; source: test_word_lt.p8:544 cx16.r3 = &lbl21b
lda #<p8l_lbl21b
ldy #>p8l_lbl21b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:545 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:547 goto skip21b
bra p8l_skip21b
; source: test_word_lt.p8:548 lbl21b: success++
p8l_lbl21b
inc p8b_main.p8v_success
; source: test_word_lt.p8:549 skip21b:
p8l_skip21b
; source: test_word_lt.p8:551 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_63_afterif
; source: test_word_lt.p8:552 success++
inc p8b_main.p8v_success
label_asm_63_afterif
; source: test_word_lt.p8:555 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_65_else
; source: test_word_lt.p8:556 success++
inc p8b_main.p8v_success
bra label_asm_64_afterif
label_asm_65_else
; source: test_word_lt.p8:558 cx16.r0L++
inc cx16.r0L
label_asm_64_afterif
; source: test_word_lt.p8:560 x=1
lda #<1
ldy #>1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:562 if x<-21829
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl22a
; source: test_word_lt.p8:564 goto skip22a
bra p8l_skip22a
; source: test_word_lt.p8:565 lbl22a: fail_word(25)
p8l_lbl22a
ldy #>$19
lda #<$19
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:566 skip22a:
p8l_skip22a
; source: test_word_lt.p8:568 cx16.r3 = &lbl22b
lda #<p8l_lbl22b
ldy #>p8l_lbl22b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:569 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:571 goto skip22b
bra p8l_skip22b
; source: test_word_lt.p8:572 lbl22b: fail_word(26)
p8l_lbl22b
ldy #>$1a
lda #<$1a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:573 skip22b:
p8l_skip22b
; source: test_word_lt.p8:575 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_66_afterif
; source: test_word_lt.p8:576 fail_word(27)
ldy #>$1b
lda #<$1b
jsr p8b_main.p8s_fail_word
label_asm_66_afterif
; source: test_word_lt.p8:579 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_68_else
; source: test_word_lt.p8:580 fail_word(28)
ldy #>$1c
lda #<$1c
jsr p8b_main.p8s_fail_word
bra label_asm_67_afterif
label_asm_68_else
; source: test_word_lt.p8:582 success++
inc p8b_main.p8v_success
label_asm_67_afterif
; source: test_word_lt.p8:585 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl23a
; source: test_word_lt.p8:587 goto skip23a
bra p8l_skip23a
; source: test_word_lt.p8:588 lbl23a: fail_word(29)
p8l_lbl23a
ldy #>$1d
lda #<$1d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:589 skip23a:
p8l_skip23a
; source: test_word_lt.p8:591 cx16.r3 = &lbl23b
lda #<p8l_lbl23b
ldy #>p8l_lbl23b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:592 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:594 goto skip23b
bra p8l_skip23b
; source: test_word_lt.p8:595 lbl23b: fail_word(30)
p8l_lbl23b
ldy #>$1e
lda #<$1e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:596 skip23b:
p8l_skip23b
; source: test_word_lt.p8:598 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_69_afterif
; source: test_word_lt.p8:599 fail_word(31)
ldy #>$1f
lda #<$1f
jsr p8b_main.p8s_fail_word
label_asm_69_afterif
; source: test_word_lt.p8:602 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_71_else
; source: test_word_lt.p8:603 fail_word(32)
ldy #>$20
lda #<$20
jsr p8b_main.p8s_fail_word
bra label_asm_70_afterif
label_asm_71_else
; source: test_word_lt.p8:605 success++
inc p8b_main.p8v_success
label_asm_70_afterif
; source: test_word_lt.p8:608 if x<0
lda p8v_x+1
bmi p8l_lbl24a
; source: test_word_lt.p8:610 goto skip24a
bra p8l_skip24a
; source: test_word_lt.p8:611 lbl24a: fail_word(33)
p8l_lbl24a
ldy #>$21
lda #<$21
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:612 skip24a:
p8l_skip24a
; source: test_word_lt.p8:614 cx16.r3 = &lbl24b
lda #<p8l_lbl24b
ldy #>p8l_lbl24b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:615 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:617 goto skip24b
bra p8l_skip24b
; source: test_word_lt.p8:618 lbl24b: fail_word(34)
p8l_lbl24b
ldy #>$22
lda #<$22
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:619 skip24b:
p8l_skip24b
; source: test_word_lt.p8:621 if x<0
lda p8v_x+1
bpl label_asm_72_afterif
; source: test_word_lt.p8:622 fail_word(35)
ldy #>$23
lda #<$23
jsr p8b_main.p8s_fail_word
label_asm_72_afterif
; source: test_word_lt.p8:625 if x<0
lda p8v_x+1
bpl label_asm_74_else
; source: test_word_lt.p8:626 fail_word(36)
ldy #>$24
lda #<$24
jsr p8b_main.p8s_fail_word
bra label_asm_73_afterif
label_asm_74_else
; source: test_word_lt.p8:628 success++
inc p8b_main.p8v_success
label_asm_73_afterif
; source: test_word_lt.p8:631 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl25a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl25a
+
; source: test_word_lt.p8:633 goto skip25a
bra p8l_skip25a
; source: test_word_lt.p8:634 lbl25a: fail_word(37)
p8l_lbl25a
ldy #>$25
lda #<$25
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:635 skip25a:
p8l_skip25a
; source: test_word_lt.p8:637 cx16.r3 = &lbl25b
lda #<p8l_lbl25b
ldy #>p8l_lbl25b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:638 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:640 goto skip25b
bra p8l_skip25b
; source: test_word_lt.p8:641 lbl25b: fail_word(38)
p8l_lbl25b
ldy #>$26
lda #<$26
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:642 skip25b:
p8l_skip25b
; source: test_word_lt.p8:644 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_75_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_75_afterif
+
; source: test_word_lt.p8:645 fail_word(39)
ldy #>$27
lda #<$27
jsr p8b_main.p8s_fail_word
label_asm_75_afterif
; source: test_word_lt.p8:648 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_77_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_77_else
+
; source: test_word_lt.p8:649 fail_word(40)
ldy #>$28
lda #<$28
jsr p8b_main.p8s_fail_word
bra label_asm_76_afterif
label_asm_77_else
; source: test_word_lt.p8:651 success++
inc p8b_main.p8v_success
label_asm_76_afterif
; source: test_word_lt.p8:654 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl26a
; source: test_word_lt.p8:656 goto skip26a
bra p8l_skip26a
; source: test_word_lt.p8:657 lbl26a: success++
p8l_lbl26a
inc p8b_main.p8v_success
; source: test_word_lt.p8:658 skip26a:
p8l_skip26a
; source: test_word_lt.p8:660 cx16.r3 = &lbl26b
lda #<p8l_lbl26b
ldy #>p8l_lbl26b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:661 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:663 goto skip26b
bra p8l_skip26b
; source: test_word_lt.p8:664 lbl26b: success++
p8l_lbl26b
inc p8b_main.p8v_success
; source: test_word_lt.p8:665 skip26b:
p8l_skip26b
; source: test_word_lt.p8:667 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_78_afterif
; source: test_word_lt.p8:668 success++
inc p8b_main.p8v_success
label_asm_78_afterif
; source: test_word_lt.p8:671 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_80_else
; source: test_word_lt.p8:672 success++
inc p8b_main.p8v_success
bra label_asm_79_afterif
label_asm_80_else
; source: test_word_lt.p8:674 cx16.r0L++
inc cx16.r0L
label_asm_79_afterif
; source: test_word_lt.p8:677 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl27a
; source: test_word_lt.p8:679 goto skip27a
bra p8l_skip27a
; source: test_word_lt.p8:680 lbl27a: success++
p8l_lbl27a
inc p8b_main.p8v_success
; source: test_word_lt.p8:681 skip27a:
p8l_skip27a
; source: test_word_lt.p8:683 cx16.r3 = &lbl27b
lda #<p8l_lbl27b
ldy #>p8l_lbl27b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:684 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:686 goto skip27b
bra p8l_skip27b
; source: test_word_lt.p8:687 lbl27b: success++
p8l_lbl27b
inc p8b_main.p8v_success
; source: test_word_lt.p8:688 skip27b:
p8l_skip27b
; source: test_word_lt.p8:690 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_81_afterif
; source: test_word_lt.p8:691 success++
inc p8b_main.p8v_success
label_asm_81_afterif
; source: test_word_lt.p8:694 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_83_else
; source: test_word_lt.p8:695 success++
inc p8b_main.p8v_success
bra label_asm_82_afterif
label_asm_83_else
; source: test_word_lt.p8:697 cx16.r0L++
inc cx16.r0L
label_asm_82_afterif
; source: test_word_lt.p8:700 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl28a
; source: test_word_lt.p8:702 goto skip28a
bra p8l_skip28a
; source: test_word_lt.p8:703 lbl28a: success++
p8l_lbl28a
inc p8b_main.p8v_success
; source: test_word_lt.p8:704 skip28a:
p8l_skip28a
; source: test_word_lt.p8:706 cx16.r3 = &lbl28b
lda #<p8l_lbl28b
ldy #>p8l_lbl28b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:707 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:709 goto skip28b
bra p8l_skip28b
; source: test_word_lt.p8:710 lbl28b: success++
p8l_lbl28b
inc p8b_main.p8v_success
; source: test_word_lt.p8:711 skip28b:
p8l_skip28b
; source: test_word_lt.p8:713 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_84_afterif
; source: test_word_lt.p8:714 success++
inc p8b_main.p8v_success
label_asm_84_afterif
; source: test_word_lt.p8:717 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_86_else
; source: test_word_lt.p8:718 success++
inc p8b_main.p8v_success
bra label_asm_85_afterif
label_asm_86_else
; source: test_word_lt.p8:720 cx16.r0L++
inc cx16.r0L
label_asm_85_afterif
; source: test_word_lt.p8:722 x=170
lda #<$aa
ldy #>$aa
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:724 if x<-21829
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl29a
; source: test_word_lt.p8:726 goto skip29a
bra p8l_skip29a
; source: test_word_lt.p8:727 lbl29a: fail_word(41)
p8l_lbl29a
ldy #>$29
lda #<$29
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:728 skip29a:
p8l_skip29a
; source: test_word_lt.p8:730 cx16.r3 = &lbl29b
lda #<p8l_lbl29b
ldy #>p8l_lbl29b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:731 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:733 goto skip29b
bra p8l_skip29b
; source: test_word_lt.p8:734 lbl29b: fail_word(42)
p8l_lbl29b
ldy #>$2a
lda #<$2a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:735 skip29b:
p8l_skip29b
; source: test_word_lt.p8:737 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_87_afterif
; source: test_word_lt.p8:738 fail_word(43)
ldy #>$2b
lda #<$2b
jsr p8b_main.p8s_fail_word
label_asm_87_afterif
; source: test_word_lt.p8:741 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_89_else
; source: test_word_lt.p8:742 fail_word(44)
ldy #>$2c
lda #<$2c
jsr p8b_main.p8s_fail_word
bra label_asm_88_afterif
label_asm_89_else
; source: test_word_lt.p8:744 success++
inc p8b_main.p8v_success
label_asm_88_afterif
; source: test_word_lt.p8:747 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl30a
; source: test_word_lt.p8:749 goto skip30a
bra p8l_skip30a
; source: test_word_lt.p8:750 lbl30a: fail_word(45)
p8l_lbl30a
ldy #>$2d
lda #<$2d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:751 skip30a:
p8l_skip30a
; source: test_word_lt.p8:753 cx16.r3 = &lbl30b
lda #<p8l_lbl30b
ldy #>p8l_lbl30b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:754 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:756 goto skip30b
bra p8l_skip30b
; source: test_word_lt.p8:757 lbl30b: fail_word(46)
p8l_lbl30b
ldy #>$2e
lda #<$2e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:758 skip30b:
p8l_skip30b
; source: test_word_lt.p8:760 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_90_afterif
; source: test_word_lt.p8:761 fail_word(47)
ldy #>$2f
lda #<$2f
jsr p8b_main.p8s_fail_word
label_asm_90_afterif
; source: test_word_lt.p8:764 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_92_else
; source: test_word_lt.p8:765 fail_word(48)
ldy #>$30
lda #<$30
jsr p8b_main.p8s_fail_word
bra label_asm_91_afterif
label_asm_92_else
; source: test_word_lt.p8:767 success++
inc p8b_main.p8v_success
label_asm_91_afterif
; source: test_word_lt.p8:770 if x<0
lda p8v_x+1
bmi p8l_lbl31a
; source: test_word_lt.p8:772 goto skip31a
bra p8l_skip31a
; source: test_word_lt.p8:773 lbl31a: fail_word(49)
p8l_lbl31a
ldy #>$31
lda #<$31
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:774 skip31a:
p8l_skip31a
; source: test_word_lt.p8:776 cx16.r3 = &lbl31b
lda #<p8l_lbl31b
ldy #>p8l_lbl31b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:777 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:779 goto skip31b
bra p8l_skip31b
; source: test_word_lt.p8:780 lbl31b: fail_word(50)
p8l_lbl31b
ldy #>$32
lda #<$32
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:781 skip31b:
p8l_skip31b
; source: test_word_lt.p8:783 if x<0
lda p8v_x+1
bpl label_asm_93_afterif
; source: test_word_lt.p8:784 fail_word(51)
ldy #>$33
lda #<$33
jsr p8b_main.p8s_fail_word
label_asm_93_afterif
; source: test_word_lt.p8:787 if x<0
lda p8v_x+1
bpl label_asm_95_else
; source: test_word_lt.p8:788 fail_word(52)
ldy #>$34
lda #<$34
jsr p8b_main.p8s_fail_word
bra label_asm_94_afterif
label_asm_95_else
; source: test_word_lt.p8:790 success++
inc p8b_main.p8v_success
label_asm_94_afterif
; source: test_word_lt.p8:793 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl32a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl32a
+
; source: test_word_lt.p8:795 goto skip32a
bra p8l_skip32a
; source: test_word_lt.p8:796 lbl32a: fail_word(53)
p8l_lbl32a
ldy #>$35
lda #<$35
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:797 skip32a:
p8l_skip32a
; source: test_word_lt.p8:799 cx16.r3 = &lbl32b
lda #<p8l_lbl32b
ldy #>p8l_lbl32b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:800 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:802 goto skip32b
bra p8l_skip32b
; source: test_word_lt.p8:803 lbl32b: fail_word(54)
p8l_lbl32b
ldy #>$36
lda #<$36
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:804 skip32b:
p8l_skip32b
; source: test_word_lt.p8:806 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_96_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_96_afterif
+
; source: test_word_lt.p8:807 fail_word(55)
ldy #>$37
lda #<$37
jsr p8b_main.p8s_fail_word
label_asm_96_afterif
; source: test_word_lt.p8:810 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_98_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_98_else
+
; source: test_word_lt.p8:811 fail_word(56)
ldy #>$38
lda #<$38
jsr p8b_main.p8s_fail_word
bra label_asm_97_afterif
label_asm_98_else
; source: test_word_lt.p8:813 success++
inc p8b_main.p8v_success
label_asm_97_afterif
; source: test_word_lt.p8:816 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl33a
; source: test_word_lt.p8:818 goto skip33a
bra p8l_skip33a
; source: test_word_lt.p8:819 lbl33a: fail_word(57)
p8l_lbl33a
ldy #>$39
lda #<$39
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:820 skip33a:
p8l_skip33a
; source: test_word_lt.p8:822 cx16.r3 = &lbl33b
lda #<p8l_lbl33b
ldy #>p8l_lbl33b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:823 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:825 goto skip33b
bra p8l_skip33b
; source: test_word_lt.p8:826 lbl33b: fail_word(58)
p8l_lbl33b
ldy #>$3a
lda #<$3a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:827 skip33b:
p8l_skip33b
; source: test_word_lt.p8:829 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_99_afterif
; source: test_word_lt.p8:830 fail_word(59)
ldy #>$3b
lda #<$3b
jsr p8b_main.p8s_fail_word
label_asm_99_afterif
; source: test_word_lt.p8:833 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_101_else
; source: test_word_lt.p8:834 fail_word(60)
ldy #>$3c
lda #<$3c
jsr p8b_main.p8s_fail_word
bra label_asm_100_afterif
label_asm_101_else
; source: test_word_lt.p8:836 success++
inc p8b_main.p8v_success
label_asm_100_afterif
; source: test_word_lt.p8:839 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl34a
; source: test_word_lt.p8:841 goto skip34a
bra p8l_skip34a
; source: test_word_lt.p8:842 lbl34a: success++
p8l_lbl34a
inc p8b_main.p8v_success
; source: test_word_lt.p8:843 skip34a:
p8l_skip34a
; source: test_word_lt.p8:845 cx16.r3 = &lbl34b
lda #<p8l_lbl34b
ldy #>p8l_lbl34b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:846 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:848 goto skip34b
bra p8l_skip34b
; source: test_word_lt.p8:849 lbl34b: success++
p8l_lbl34b
inc p8b_main.p8v_success
; source: test_word_lt.p8:850 skip34b:
p8l_skip34b
; source: test_word_lt.p8:852 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_102_afterif
; source: test_word_lt.p8:853 success++
inc p8b_main.p8v_success
label_asm_102_afterif
; source: test_word_lt.p8:856 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_104_else
; source: test_word_lt.p8:857 success++
inc p8b_main.p8v_success
bra label_asm_103_afterif
label_asm_104_else
; source: test_word_lt.p8:859 cx16.r0L++
inc cx16.r0L
label_asm_103_afterif
; source: test_word_lt.p8:862 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl35a
; source: test_word_lt.p8:864 goto skip35a
bra p8l_skip35a
; source: test_word_lt.p8:865 lbl35a: success++
p8l_lbl35a
inc p8b_main.p8v_success
; source: test_word_lt.p8:866 skip35a:
p8l_skip35a
; source: test_word_lt.p8:868 cx16.r3 = &lbl35b
lda #<p8l_lbl35b
ldy #>p8l_lbl35b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:869 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:871 goto skip35b
bra p8l_skip35b
; source: test_word_lt.p8:872 lbl35b: success++
p8l_lbl35b
inc p8b_main.p8v_success
; source: test_word_lt.p8:873 skip35b:
p8l_skip35b
; source: test_word_lt.p8:875 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_105_afterif
; source: test_word_lt.p8:876 success++
inc p8b_main.p8v_success
label_asm_105_afterif
; source: test_word_lt.p8:879 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_107_else
; source: test_word_lt.p8:880 success++
inc p8b_main.p8v_success
bra label_asm_106_afterif
label_asm_107_else
; source: test_word_lt.p8:882 cx16.r0L++
inc cx16.r0L
label_asm_106_afterif
; source: test_word_lt.p8:884 x=30464
lda #<$7700
ldy #>$7700
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:886 if x<-21829
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl36a
; source: test_word_lt.p8:888 goto skip36a
bra p8l_skip36a
; source: test_word_lt.p8:889 lbl36a: fail_word(61)
p8l_lbl36a
ldy #>$3d
lda #<$3d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:890 skip36a:
p8l_skip36a
; source: test_word_lt.p8:892 cx16.r3 = &lbl36b
lda #<p8l_lbl36b
ldy #>p8l_lbl36b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:893 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:895 goto skip36b
bra p8l_skip36b
; source: test_word_lt.p8:896 lbl36b: fail_word(62)
p8l_lbl36b
ldy #>$3e
lda #<$3e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:897 skip36b:
p8l_skip36b
; source: test_word_lt.p8:899 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_108_afterif
; source: test_word_lt.p8:900 fail_word(63)
ldy #>$3f
lda #<$3f
jsr p8b_main.p8s_fail_word
label_asm_108_afterif
; source: test_word_lt.p8:903 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_110_else
; source: test_word_lt.p8:904 fail_word(64)
ldy #>$40
lda #<$40
jsr p8b_main.p8s_fail_word
bra label_asm_109_afterif
label_asm_110_else
; source: test_word_lt.p8:906 success++
inc p8b_main.p8v_success
label_asm_109_afterif
; source: test_word_lt.p8:909 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl37a
; source: test_word_lt.p8:911 goto skip37a
bra p8l_skip37a
; source: test_word_lt.p8:912 lbl37a: fail_word(65)
p8l_lbl37a
ldy #>$41
lda #<$41
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:913 skip37a:
p8l_skip37a
; source: test_word_lt.p8:915 cx16.r3 = &lbl37b
lda #<p8l_lbl37b
ldy #>p8l_lbl37b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:916 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:918 goto skip37b
bra p8l_skip37b
; source: test_word_lt.p8:919 lbl37b: fail_word(66)
p8l_lbl37b
ldy #>$42
lda #<$42
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:920 skip37b:
p8l_skip37b
; source: test_word_lt.p8:922 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_111_afterif
; source: test_word_lt.p8:923 fail_word(67)
ldy #>$43
lda #<$43
jsr p8b_main.p8s_fail_word
label_asm_111_afterif
; source: test_word_lt.p8:926 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_113_else
; source: test_word_lt.p8:927 fail_word(68)
ldy #>$44
lda #<$44
jsr p8b_main.p8s_fail_word
bra label_asm_112_afterif
label_asm_113_else
; source: test_word_lt.p8:929 success++
inc p8b_main.p8v_success
label_asm_112_afterif
; source: test_word_lt.p8:932 if x<0
lda p8v_x+1
bmi p8l_lbl38a
; source: test_word_lt.p8:934 goto skip38a
bra p8l_skip38a
; source: test_word_lt.p8:935 lbl38a: fail_word(69)
p8l_lbl38a
ldy #>$45
lda #<$45
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:936 skip38a:
p8l_skip38a
; source: test_word_lt.p8:938 cx16.r3 = &lbl38b
lda #<p8l_lbl38b
ldy #>p8l_lbl38b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:939 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:941 goto skip38b
bra p8l_skip38b
; source: test_word_lt.p8:942 lbl38b: fail_word(70)
p8l_lbl38b
ldy #>$46
lda #<$46
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:943 skip38b:
p8l_skip38b
; source: test_word_lt.p8:945 if x<0
lda p8v_x+1
bpl label_asm_114_afterif
; source: test_word_lt.p8:946 fail_word(71)
ldy #>$47
lda #<$47
jsr p8b_main.p8s_fail_word
label_asm_114_afterif
; source: test_word_lt.p8:949 if x<0
lda p8v_x+1
bpl label_asm_116_else
; source: test_word_lt.p8:950 fail_word(72)
ldy #>$48
lda #<$48
jsr p8b_main.p8s_fail_word
bra label_asm_115_afterif
label_asm_116_else
; source: test_word_lt.p8:952 success++
inc p8b_main.p8v_success
label_asm_115_afterif
; source: test_word_lt.p8:955 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl39a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl39a
+
; source: test_word_lt.p8:957 goto skip39a
bra p8l_skip39a
; source: test_word_lt.p8:958 lbl39a: fail_word(73)
p8l_lbl39a
ldy #>$49
lda #<$49
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:959 skip39a:
p8l_skip39a
; source: test_word_lt.p8:961 cx16.r3 = &lbl39b
lda #<p8l_lbl39b
ldy #>p8l_lbl39b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:962 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:964 goto skip39b
bra p8l_skip39b
; source: test_word_lt.p8:965 lbl39b: fail_word(74)
p8l_lbl39b
ldy #>$4a
lda #<$4a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:966 skip39b:
p8l_skip39b
; source: test_word_lt.p8:968 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_117_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_117_afterif
+
; source: test_word_lt.p8:969 fail_word(75)
ldy #>$4b
lda #<$4b
jsr p8b_main.p8s_fail_word
label_asm_117_afterif
; source: test_word_lt.p8:972 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_119_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_119_else
+
; source: test_word_lt.p8:973 fail_word(76)
ldy #>$4c
lda #<$4c
jsr p8b_main.p8s_fail_word
bra label_asm_118_afterif
label_asm_119_else
; source: test_word_lt.p8:975 success++
inc p8b_main.p8v_success
label_asm_118_afterif
; source: test_word_lt.p8:978 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl40a
; source: test_word_lt.p8:980 goto skip40a
bra p8l_skip40a
; source: test_word_lt.p8:981 lbl40a: fail_word(77)
p8l_lbl40a
ldy #>$4d
lda #<$4d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:982 skip40a:
p8l_skip40a
; source: test_word_lt.p8:984 cx16.r3 = &lbl40b
lda #<p8l_lbl40b
ldy #>p8l_lbl40b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:985 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:987 goto skip40b
bra p8l_skip40b
; source: test_word_lt.p8:988 lbl40b: fail_word(78)
p8l_lbl40b
ldy #>$4e
lda #<$4e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:989 skip40b:
p8l_skip40b
; source: test_word_lt.p8:991 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_120_afterif
; source: test_word_lt.p8:992 fail_word(79)
ldy #>$4f
lda #<$4f
jsr p8b_main.p8s_fail_word
label_asm_120_afterif
; source: test_word_lt.p8:995 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_122_else
; source: test_word_lt.p8:996 fail_word(80)
ldy #>$50
lda #<$50
jsr p8b_main.p8s_fail_word
bra label_asm_121_afterif
label_asm_122_else
; source: test_word_lt.p8:998 success++
inc p8b_main.p8v_success
label_asm_121_afterif
; source: test_word_lt.p8:1001 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl41a
; source: test_word_lt.p8:1003 goto skip41a
bra p8l_skip41a
; source: test_word_lt.p8:1004 lbl41a: fail_word(81)
p8l_lbl41a
ldy #>$51
lda #<$51
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1005 skip41a:
p8l_skip41a
; source: test_word_lt.p8:1007 cx16.r3 = &lbl41b
lda #<p8l_lbl41b
ldy #>p8l_lbl41b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1008 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1010 goto skip41b
bra p8l_skip41b
; source: test_word_lt.p8:1011 lbl41b: fail_word(82)
p8l_lbl41b
ldy #>$52
lda #<$52
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1012 skip41b:
p8l_skip41b
; source: test_word_lt.p8:1014 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_123_afterif
; source: test_word_lt.p8:1015 fail_word(83)
ldy #>$53
lda #<$53
jsr p8b_main.p8s_fail_word
label_asm_123_afterif
; source: test_word_lt.p8:1018 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_125_else
; source: test_word_lt.p8:1019 fail_word(84)
ldy #>$54
lda #<$54
jsr p8b_main.p8s_fail_word
bra label_asm_124_afterif
label_asm_125_else
; source: test_word_lt.p8:1021 success++
inc p8b_main.p8v_success
label_asm_124_afterif
; source: test_word_lt.p8:1024 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl42a
; source: test_word_lt.p8:1026 goto skip42a
bra p8l_skip42a
; source: test_word_lt.p8:1027 lbl42a: success++
p8l_lbl42a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1028 skip42a:
p8l_skip42a
; source: test_word_lt.p8:1030 cx16.r3 = &lbl42b
lda #<p8l_lbl42b
ldy #>p8l_lbl42b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1031 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1033 goto skip42b
bra p8l_skip42b
; source: test_word_lt.p8:1034 lbl42b: success++
p8l_lbl42b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1035 skip42b:
p8l_skip42b
; source: test_word_lt.p8:1037 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_126_afterif
; source: test_word_lt.p8:1038 success++
inc p8b_main.p8v_success
label_asm_126_afterif
; source: test_word_lt.p8:1041 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_128_else
; source: test_word_lt.p8:1042 success++
inc p8b_main.p8v_success
bra label_asm_127_afterif
label_asm_128_else
; source: test_word_lt.p8:1044 cx16.r0L++
inc cx16.r0L
label_asm_127_afterif
; source: test_word_lt.p8:1046 x=32767
lda #<$7fff
ldy #>$7fff
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:1048 if x<-21829
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bmi p8l_lbl43a
; source: test_word_lt.p8:1050 goto skip43a
bra p8l_skip43a
; source: test_word_lt.p8:1051 lbl43a: fail_word(85)
p8l_lbl43a
ldy #>$55
lda #<$55
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1052 skip43a:
p8l_skip43a
; source: test_word_lt.p8:1054 cx16.r3 = &lbl43b
lda #<p8l_lbl43b
ldy #>p8l_lbl43b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1055 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1057 goto skip43b
bra p8l_skip43b
; source: test_word_lt.p8:1058 lbl43b: fail_word(86)
p8l_lbl43b
ldy #>$56
lda #<$56
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1059 skip43b:
p8l_skip43b
; source: test_word_lt.p8:1061 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_129_afterif
; source: test_word_lt.p8:1062 fail_word(87)
ldy #>$57
lda #<$57
jsr p8b_main.p8s_fail_word
label_asm_129_afterif
; source: test_word_lt.p8:1065 if x<-21829
ldy p8v_x+1
lda p8v_x
cmp #<-$5545
tya
sbc #>-$5545
bvs +
eor #128
+ bmi label_asm_131_else
; source: test_word_lt.p8:1066 fail_word(88)
ldy #>$58
lda #<$58
jsr p8b_main.p8s_fail_word
bra label_asm_130_afterif
label_asm_131_else
; source: test_word_lt.p8:1068 success++
inc p8b_main.p8v_success
label_asm_130_afterif
; source: test_word_lt.p8:1071 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bmi p8l_lbl44a
; source: test_word_lt.p8:1073 goto skip44a
bra p8l_skip44a
; source: test_word_lt.p8:1074 lbl44a: fail_word(89)
p8l_lbl44a
ldy #>$59
lda #<$59
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1075 skip44a:
p8l_skip44a
; source: test_word_lt.p8:1077 cx16.r3 = &lbl44b
lda #<p8l_lbl44b
ldy #>p8l_lbl44b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1078 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1080 goto skip44b
bra p8l_skip44b
; source: test_word_lt.p8:1081 lbl44b: fail_word(90)
p8l_lbl44b
ldy #>$5a
lda #<$5a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1082 skip44b:
p8l_skip44b
; source: test_word_lt.p8:1084 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_132_afterif
; source: test_word_lt.p8:1085 fail_word(91)
ldy #>$5b
lda #<$5b
jsr p8b_main.p8s_fail_word
label_asm_132_afterif
; source: test_word_lt.p8:1088 if x<-1
ldy p8v_x+1
lda p8v_x
cmp #<-1
tya
sbc #>-1
bvs +
eor #128
+ bmi label_asm_134_else
; source: test_word_lt.p8:1089 fail_word(92)
ldy #>$5c
lda #<$5c
jsr p8b_main.p8s_fail_word
bra label_asm_133_afterif
label_asm_134_else
; source: test_word_lt.p8:1091 success++
inc p8b_main.p8v_success
label_asm_133_afterif
; source: test_word_lt.p8:1094 if x<0
lda p8v_x+1
bmi p8l_lbl45a
; source: test_word_lt.p8:1096 goto skip45a
bra p8l_skip45a
; source: test_word_lt.p8:1097 lbl45a: fail_word(93)
p8l_lbl45a
ldy #>$5d
lda #<$5d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1098 skip45a:
p8l_skip45a
; source: test_word_lt.p8:1100 cx16.r3 = &lbl45b
lda #<p8l_lbl45b
ldy #>p8l_lbl45b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1101 if x<0
lda p8v_x+1
bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1103 goto skip45b
bra p8l_skip45b
; source: test_word_lt.p8:1104 lbl45b: fail_word(94)
p8l_lbl45b
ldy #>$5e
lda #<$5e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1105 skip45b:
p8l_skip45b
; source: test_word_lt.p8:1107 if x<0
lda p8v_x+1
bpl label_asm_135_afterif
; source: test_word_lt.p8:1108 fail_word(95)
ldy #>$5f
lda #<$5f
jsr p8b_main.p8s_fail_word
label_asm_135_afterif
; source: test_word_lt.p8:1111 if x<0
lda p8v_x+1
bpl label_asm_137_else
; source: test_word_lt.p8:1112 fail_word(96)
ldy #>$60
lda #<$60
jsr p8b_main.p8s_fail_word
bra label_asm_136_afterif
label_asm_137_else
; source: test_word_lt.p8:1114 success++
inc p8b_main.p8v_success
label_asm_136_afterif
; source: test_word_lt.p8:1117 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi p8l_lbl46a
bne +
lda p8b_main.p8s_test_cmp_number.p8v_x
beq p8l_lbl46a
+
; source: test_word_lt.p8:1119 goto skip46a
bra p8l_skip46a
; source: test_word_lt.p8:1120 lbl46a: fail_word(97)
p8l_lbl46a
ldy #>$61
lda #<$61
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1121 skip46a:
p8l_skip46a
; source: test_word_lt.p8:1123 cx16.r3 = &lbl46b
lda #<p8l_lbl46b
ldy #>p8l_lbl46b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1124 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne ++
lda p8b_main.p8s_test_cmp_number.p8v_x
bne ++
+ jmp (cx16.r3)
+
; source: test_word_lt.p8:1126 goto skip46b
bra p8l_skip46b
; source: test_word_lt.p8:1127 lbl46b: fail_word(98)
p8l_lbl46b
ldy #>$62
lda #<$62
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1128 skip46b:
p8l_skip46b
; source: test_word_lt.p8:1130 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_138_afterif
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_138_afterif
+
; source: test_word_lt.p8:1131 fail_word(99)
ldy #>$63
lda #<$63
jsr p8b_main.p8s_fail_word
label_asm_138_afterif
; source: test_word_lt.p8:1134 if x<1
lda p8b_main.p8s_test_cmp_number.p8v_x+1
bmi +
bne label_asm_140_else
lda p8b_main.p8s_test_cmp_number.p8v_x
bne label_asm_140_else
+
; source: test_word_lt.p8:1135 fail_word(100)
ldy #>$64
lda #<$64
jsr p8b_main.p8s_fail_word
bra label_asm_139_afterif
label_asm_140_else
; source: test_word_lt.p8:1137 success++
inc p8b_main.p8v_success
label_asm_139_afterif
; source: test_word_lt.p8:1140 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bmi p8l_lbl47a
; source: test_word_lt.p8:1142 goto skip47a
bra p8l_skip47a
; source: test_word_lt.p8:1143 lbl47a: fail_word(101)
p8l_lbl47a
ldy #>$65
lda #<$65
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1144 skip47a:
p8l_skip47a
; source: test_word_lt.p8:1146 cx16.r3 = &lbl47b
lda #<p8l_lbl47b
ldy #>p8l_lbl47b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1147 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1149 goto skip47b
bra p8l_skip47b
; source: test_word_lt.p8:1150 lbl47b: fail_word(102)
p8l_lbl47b
ldy #>$66
lda #<$66
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1151 skip47b:
p8l_skip47b
; source: test_word_lt.p8:1153 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_141_afterif
; source: test_word_lt.p8:1154 fail_word(103)
ldy #>$67
lda #<$67
jsr p8b_main.p8s_fail_word
label_asm_141_afterif
; source: test_word_lt.p8:1157 if x<170
ldy p8v_x+1
lda p8v_x
cmp #<$aa
tya
sbc #>$aa
bvs +
eor #128
+ bmi label_asm_143_else
; source: test_word_lt.p8:1158 fail_word(104)
ldy #>$68
lda #<$68
jsr p8b_main.p8s_fail_word
bra label_asm_142_afterif
label_asm_143_else
; source: test_word_lt.p8:1160 success++
inc p8b_main.p8v_success
label_asm_142_afterif
; source: test_word_lt.p8:1163 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bmi p8l_lbl48a
; source: test_word_lt.p8:1165 goto skip48a
bra p8l_skip48a
; source: test_word_lt.p8:1166 lbl48a: fail_word(105)
p8l_lbl48a
ldy #>$69
lda #<$69
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1167 skip48a:
p8l_skip48a
; source: test_word_lt.p8:1169 cx16.r3 = &lbl48b
lda #<p8l_lbl48b
ldy #>p8l_lbl48b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1170 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1172 goto skip48b
bra p8l_skip48b
; source: test_word_lt.p8:1173 lbl48b: fail_word(106)
p8l_lbl48b
ldy #>$6a
lda #<$6a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1174 skip48b:
p8l_skip48b
; source: test_word_lt.p8:1176 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_144_afterif
; source: test_word_lt.p8:1177 fail_word(107)
ldy #>$6b
lda #<$6b
jsr p8b_main.p8s_fail_word
label_asm_144_afterif
; source: test_word_lt.p8:1180 if x<30464
ldy p8v_x+1
lda p8v_x
cmp #<$7700
tya
sbc #>$7700
bvs +
eor #128
+ bmi label_asm_146_else
; source: test_word_lt.p8:1181 fail_word(108)
ldy #>$6c
lda #<$6c
jsr p8b_main.p8s_fail_word
bra label_asm_145_afterif
label_asm_146_else
; source: test_word_lt.p8:1183 success++
inc p8b_main.p8v_success
label_asm_145_afterif
; source: test_word_lt.p8:1186 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bmi p8l_lbl49a
; source: test_word_lt.p8:1188 goto skip49a
bra p8l_skip49a
; source: test_word_lt.p8:1189 lbl49a: fail_word(109)
p8l_lbl49a
ldy #>$6d
lda #<$6d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1190 skip49a:
p8l_skip49a
; source: test_word_lt.p8:1192 cx16.r3 = &lbl49b
lda #<p8l_lbl49b
ldy #>p8l_lbl49b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1193 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1195 goto skip49b
bra p8l_skip49b
; source: test_word_lt.p8:1196 lbl49b: fail_word(110)
p8l_lbl49b
ldy #>$6e
lda #<$6e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1197 skip49b:
p8l_skip49b
; source: test_word_lt.p8:1199 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_147_afterif
; source: test_word_lt.p8:1200 fail_word(111)
ldy #>$6f
lda #<$6f
jsr p8b_main.p8s_fail_word
label_asm_147_afterif
; source: test_word_lt.p8:1203 if x<32767
ldy p8v_x+1
lda p8v_x
cmp #<$7fff
tya
sbc #>$7fff
bvs +
eor #128
+ bmi label_asm_149_else
; source: test_word_lt.p8:1204 fail_word(112)
ldy #>$70
lda #<$70
jsr p8b_main.p8s_fail_word
bra label_asm_148_afterif
label_asm_149_else
; source: test_word_lt.p8:1206 success++
inc p8b_main.p8v_success
label_asm_148_afterif
; source: test_word_lt.p8:1208 verify_success(112)
lda #$70
jmp p8b_main.p8s_verify_success
; source: test_word_lt.p8:71 sub test_cmp_number() {
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
p8v_x .sint ?
.send BSS
.pend
; source: test_word_lt.p8:1210 sub test_cmp_var() {
p8s_test_cmp_var .proc
; statements
; source: test_word_lt.p8:1211 word @shared x, value
stz p8v_x
stz p8v_x+1
lda p8v_x
ldy p8v_x+1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1212 success = 0
stz p8b_main.p8v_success
; source: test_word_lt.p8:1213 x=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:1214 value=-21829
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1216 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl1a
; source: test_word_lt.p8:1218 goto skip1a
bra p8l_skip1a
; source: test_word_lt.p8:1219 lbl1a: fail_word(113)
p8l_lbl1a
ldy #>$71
lda #<$71
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1220 skip1a:
p8l_skip1a
; source: test_word_lt.p8:1222 cx16.r3 = &lbl1b
lda #<p8l_lbl1b
ldy #>p8l_lbl1b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1223 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1225 goto skip1b
bra p8l_skip1b
; source: test_word_lt.p8:1226 lbl1b: fail_word(114)
p8l_lbl1b
ldy #>$72
lda #<$72
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1227 skip1b:
p8l_skip1b
; source: test_word_lt.p8:1229 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_150_afterif
; source: test_word_lt.p8:1230 fail_word(115)
ldy #>$73
lda #<$73
jsr p8b_main.p8s_fail_word
label_asm_150_afterif
; source: test_word_lt.p8:1233 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_152_else
; source: test_word_lt.p8:1234 fail_word(116)
ldy #>$74
lda #<$74
jsr p8b_main.p8s_fail_word
bra label_asm_151_afterif
label_asm_152_else
; source: test_word_lt.p8:1236 success++
inc p8b_main.p8v_success
label_asm_151_afterif
; source: test_word_lt.p8:1238 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1240 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl2a
; source: test_word_lt.p8:1242 goto skip2a
bra p8l_skip2a
; source: test_word_lt.p8:1243 lbl2a: success++
p8l_lbl2a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1244 skip2a:
p8l_skip2a
; source: test_word_lt.p8:1246 cx16.r3 = &lbl2b
lda #<p8l_lbl2b
ldy #>p8l_lbl2b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1247 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1249 goto skip2b
bra p8l_skip2b
; source: test_word_lt.p8:1250 lbl2b: success++
p8l_lbl2b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1251 skip2b:
p8l_skip2b
; source: test_word_lt.p8:1253 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_153_afterif
; source: test_word_lt.p8:1254 success++
inc p8b_main.p8v_success
label_asm_153_afterif
; source: test_word_lt.p8:1257 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_155_else
; source: test_word_lt.p8:1258 success++
inc p8b_main.p8v_success
bra label_asm_154_afterif
label_asm_155_else
; source: test_word_lt.p8:1260 cx16.r0L++
inc cx16.r0L
label_asm_154_afterif
; source: test_word_lt.p8:1262 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:1264 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl3a
; source: test_word_lt.p8:1266 goto skip3a
bra p8l_skip3a
; source: test_word_lt.p8:1267 lbl3a: success++
p8l_lbl3a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1268 skip3a:
p8l_skip3a
; source: test_word_lt.p8:1270 cx16.r3 = &lbl3b
lda #<p8l_lbl3b
ldy #>p8l_lbl3b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1271 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1273 goto skip3b
bra p8l_skip3b
; source: test_word_lt.p8:1274 lbl3b: success++
p8l_lbl3b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1275 skip3b:
p8l_skip3b
; source: test_word_lt.p8:1277 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_156_afterif
; source: test_word_lt.p8:1278 success++
inc p8b_main.p8v_success
label_asm_156_afterif
; source: test_word_lt.p8:1281 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_158_else
; source: test_word_lt.p8:1282 success++
inc p8b_main.p8v_success
bra label_asm_157_afterif
label_asm_158_else
; source: test_word_lt.p8:1284 cx16.r0L++
inc cx16.r0L
label_asm_157_afterif
; source: test_word_lt.p8:1286 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1288 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl4a
; source: test_word_lt.p8:1290 goto skip4a
bra p8l_skip4a
; source: test_word_lt.p8:1291 lbl4a: success++
p8l_lbl4a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1292 skip4a:
p8l_skip4a
; source: test_word_lt.p8:1294 cx16.r3 = &lbl4b
lda #<p8l_lbl4b
ldy #>p8l_lbl4b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1295 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1297 goto skip4b
bra p8l_skip4b
; source: test_word_lt.p8:1298 lbl4b: success++
p8l_lbl4b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1299 skip4b:
p8l_skip4b
; source: test_word_lt.p8:1301 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_159_afterif
; source: test_word_lt.p8:1302 success++
inc p8b_main.p8v_success
label_asm_159_afterif
; source: test_word_lt.p8:1305 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_161_else
; source: test_word_lt.p8:1306 success++
inc p8b_main.p8v_success
bra label_asm_160_afterif
label_asm_161_else
; source: test_word_lt.p8:1308 cx16.r0L++
inc cx16.r0L
label_asm_160_afterif
; source: test_word_lt.p8:1310 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1312 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl5a
; source: test_word_lt.p8:1314 goto skip5a
bra p8l_skip5a
; source: test_word_lt.p8:1315 lbl5a: success++
p8l_lbl5a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1316 skip5a:
p8l_skip5a
; source: test_word_lt.p8:1318 cx16.r3 = &lbl5b
lda #<p8l_lbl5b
ldy #>p8l_lbl5b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1319 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1321 goto skip5b
bra p8l_skip5b
; source: test_word_lt.p8:1322 lbl5b: success++
p8l_lbl5b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1323 skip5b:
p8l_skip5b
; source: test_word_lt.p8:1325 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_162_afterif
; source: test_word_lt.p8:1326 success++
inc p8b_main.p8v_success
label_asm_162_afterif
; source: test_word_lt.p8:1329 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_164_else
; source: test_word_lt.p8:1330 success++
inc p8b_main.p8v_success
bra label_asm_163_afterif
label_asm_164_else
; source: test_word_lt.p8:1332 cx16.r0L++
inc cx16.r0L
label_asm_163_afterif
; source: test_word_lt.p8:1334 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1336 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl6a
; source: test_word_lt.p8:1338 goto skip6a
bra p8l_skip6a
; source: test_word_lt.p8:1339 lbl6a: success++
p8l_lbl6a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1340 skip6a:
p8l_skip6a
; source: test_word_lt.p8:1342 cx16.r3 = &lbl6b
lda #<p8l_lbl6b
ldy #>p8l_lbl6b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1343 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1345 goto skip6b
bra p8l_skip6b
; source: test_word_lt.p8:1346 lbl6b: success++
p8l_lbl6b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1347 skip6b:
p8l_skip6b
; source: test_word_lt.p8:1349 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_165_afterif
; source: test_word_lt.p8:1350 success++
inc p8b_main.p8v_success
label_asm_165_afterif
; source: test_word_lt.p8:1353 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_167_else
; source: test_word_lt.p8:1354 success++
inc p8b_main.p8v_success
bra label_asm_166_afterif
label_asm_167_else
; source: test_word_lt.p8:1356 cx16.r0L++
inc cx16.r0L
label_asm_166_afterif
; source: test_word_lt.p8:1358 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1360 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl7a
; source: test_word_lt.p8:1362 goto skip7a
bra p8l_skip7a
; source: test_word_lt.p8:1363 lbl7a: success++
p8l_lbl7a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1364 skip7a:
p8l_skip7a
; source: test_word_lt.p8:1366 cx16.r3 = &lbl7b
lda #<p8l_lbl7b
ldy #>p8l_lbl7b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1367 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1369 goto skip7b
bra p8l_skip7b
; source: test_word_lt.p8:1370 lbl7b: success++
p8l_lbl7b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1371 skip7b:
p8l_skip7b
; source: test_word_lt.p8:1373 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_168_afterif
; source: test_word_lt.p8:1374 success++
inc p8b_main.p8v_success
label_asm_168_afterif
; source: test_word_lt.p8:1377 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_170_else
; source: test_word_lt.p8:1378 success++
inc p8b_main.p8v_success
bra label_asm_169_afterif
label_asm_170_else
; source: test_word_lt.p8:1380 cx16.r0L++
inc cx16.r0L
label_asm_169_afterif
; source: test_word_lt.p8:1382 x=-1
lda #<-1
ldy #>-1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:1383 value=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1385 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl8a
; source: test_word_lt.p8:1387 goto skip8a
bra p8l_skip8a
; source: test_word_lt.p8:1388 lbl8a: fail_word(117)
p8l_lbl8a
ldy #>$75
lda #<$75
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1389 skip8a:
p8l_skip8a
; source: test_word_lt.p8:1391 cx16.r3 = &lbl8b
lda #<p8l_lbl8b
ldy #>p8l_lbl8b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1392 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1394 goto skip8b
bra p8l_skip8b
; source: test_word_lt.p8:1395 lbl8b: fail_word(118)
p8l_lbl8b
ldy #>$76
lda #<$76
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1396 skip8b:
p8l_skip8b
; source: test_word_lt.p8:1398 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_171_afterif
; source: test_word_lt.p8:1399 fail_word(119)
ldy #>$77
lda #<$77
jsr p8b_main.p8s_fail_word
label_asm_171_afterif
; source: test_word_lt.p8:1402 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_173_else
; source: test_word_lt.p8:1403 fail_word(120)
ldy #>$78
lda #<$78
jsr p8b_main.p8s_fail_word
bra label_asm_172_afterif
label_asm_173_else
; source: test_word_lt.p8:1405 success++
inc p8b_main.p8v_success
label_asm_172_afterif
; source: test_word_lt.p8:1407 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1409 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl9a
; source: test_word_lt.p8:1411 goto skip9a
bra p8l_skip9a
; source: test_word_lt.p8:1412 lbl9a: fail_word(121)
p8l_lbl9a
ldy #>$79
lda #<$79
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1413 skip9a:
p8l_skip9a
; source: test_word_lt.p8:1415 cx16.r3 = &lbl9b
lda #<p8l_lbl9b
ldy #>p8l_lbl9b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1416 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1418 goto skip9b
bra p8l_skip9b
; source: test_word_lt.p8:1419 lbl9b: fail_word(122)
p8l_lbl9b
ldy #>$7a
lda #<$7a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1420 skip9b:
p8l_skip9b
; source: test_word_lt.p8:1422 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_174_afterif
; source: test_word_lt.p8:1423 fail_word(123)
ldy #>$7b
lda #<$7b
jsr p8b_main.p8s_fail_word
label_asm_174_afterif
; source: test_word_lt.p8:1426 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_176_else
; source: test_word_lt.p8:1427 fail_word(124)
ldy #>$7c
lda #<$7c
jsr p8b_main.p8s_fail_word
bra label_asm_175_afterif
label_asm_176_else
; source: test_word_lt.p8:1429 success++
inc p8b_main.p8v_success
label_asm_175_afterif
; source: test_word_lt.p8:1431 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:1433 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl10a
; source: test_word_lt.p8:1435 goto skip10a
bra p8l_skip10a
; source: test_word_lt.p8:1436 lbl10a: success++
p8l_lbl10a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1437 skip10a:
p8l_skip10a
; source: test_word_lt.p8:1439 cx16.r3 = &lbl10b
lda #<p8l_lbl10b
ldy #>p8l_lbl10b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1440 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1442 goto skip10b
bra p8l_skip10b
; source: test_word_lt.p8:1443 lbl10b: success++
p8l_lbl10b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1444 skip10b:
p8l_skip10b
; source: test_word_lt.p8:1446 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_177_afterif
; source: test_word_lt.p8:1447 success++
inc p8b_main.p8v_success
label_asm_177_afterif
; source: test_word_lt.p8:1450 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_179_else
; source: test_word_lt.p8:1451 success++
inc p8b_main.p8v_success
bra label_asm_178_afterif
label_asm_179_else
; source: test_word_lt.p8:1453 cx16.r0L++
inc cx16.r0L
label_asm_178_afterif
; source: test_word_lt.p8:1455 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1457 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl11a
; source: test_word_lt.p8:1459 goto skip11a
bra p8l_skip11a
; source: test_word_lt.p8:1460 lbl11a: success++
p8l_lbl11a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1461 skip11a:
p8l_skip11a
; source: test_word_lt.p8:1463 cx16.r3 = &lbl11b
lda #<p8l_lbl11b
ldy #>p8l_lbl11b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1464 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1466 goto skip11b
bra p8l_skip11b
; source: test_word_lt.p8:1467 lbl11b: success++
p8l_lbl11b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1468 skip11b:
p8l_skip11b
; source: test_word_lt.p8:1470 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_180_afterif
; source: test_word_lt.p8:1471 success++
inc p8b_main.p8v_success
label_asm_180_afterif
; source: test_word_lt.p8:1474 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_182_else
; source: test_word_lt.p8:1475 success++
inc p8b_main.p8v_success
bra label_asm_181_afterif
label_asm_182_else
; source: test_word_lt.p8:1477 cx16.r0L++
inc cx16.r0L
label_asm_181_afterif
; source: test_word_lt.p8:1479 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1481 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl12a
; source: test_word_lt.p8:1483 goto skip12a
bra p8l_skip12a
; source: test_word_lt.p8:1484 lbl12a: success++
p8l_lbl12a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1485 skip12a:
p8l_skip12a
; source: test_word_lt.p8:1487 cx16.r3 = &lbl12b
lda #<p8l_lbl12b
ldy #>p8l_lbl12b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1488 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1490 goto skip12b
bra p8l_skip12b
; source: test_word_lt.p8:1491 lbl12b: success++
p8l_lbl12b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1492 skip12b:
p8l_skip12b
; source: test_word_lt.p8:1494 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_183_afterif
; source: test_word_lt.p8:1495 success++
inc p8b_main.p8v_success
label_asm_183_afterif
; source: test_word_lt.p8:1498 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_185_else
; source: test_word_lt.p8:1499 success++
inc p8b_main.p8v_success
bra label_asm_184_afterif
label_asm_185_else
; source: test_word_lt.p8:1501 cx16.r0L++
inc cx16.r0L
label_asm_184_afterif
; source: test_word_lt.p8:1503 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1505 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl13a
; source: test_word_lt.p8:1507 goto skip13a
bra p8l_skip13a
; source: test_word_lt.p8:1508 lbl13a: success++
p8l_lbl13a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1509 skip13a:
p8l_skip13a
; source: test_word_lt.p8:1511 cx16.r3 = &lbl13b
lda #<p8l_lbl13b
ldy #>p8l_lbl13b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1512 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1514 goto skip13b
bra p8l_skip13b
; source: test_word_lt.p8:1515 lbl13b: success++
p8l_lbl13b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1516 skip13b:
p8l_skip13b
; source: test_word_lt.p8:1518 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_186_afterif
; source: test_word_lt.p8:1519 success++
inc p8b_main.p8v_success
label_asm_186_afterif
; source: test_word_lt.p8:1522 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_188_else
; source: test_word_lt.p8:1523 success++
inc p8b_main.p8v_success
bra label_asm_187_afterif
label_asm_188_else
; source: test_word_lt.p8:1525 cx16.r0L++
inc cx16.r0L
label_asm_187_afterif
; source: test_word_lt.p8:1527 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1529 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl14a
; source: test_word_lt.p8:1531 goto skip14a
bra p8l_skip14a
; source: test_word_lt.p8:1532 lbl14a: success++
p8l_lbl14a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1533 skip14a:
p8l_skip14a
; source: test_word_lt.p8:1535 cx16.r3 = &lbl14b
lda #<p8l_lbl14b
ldy #>p8l_lbl14b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1536 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1538 goto skip14b
bra p8l_skip14b
; source: test_word_lt.p8:1539 lbl14b: success++
p8l_lbl14b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1540 skip14b:
p8l_skip14b
; source: test_word_lt.p8:1542 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_189_afterif
; source: test_word_lt.p8:1543 success++
inc p8b_main.p8v_success
label_asm_189_afterif
; source: test_word_lt.p8:1546 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_191_else
; source: test_word_lt.p8:1547 success++
inc p8b_main.p8v_success
bra label_asm_190_afterif
label_asm_191_else
; source: test_word_lt.p8:1549 cx16.r0L++
inc cx16.r0L
label_asm_190_afterif
; source: test_word_lt.p8:1551 x=0
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:1552 value=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1554 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl15a
; source: test_word_lt.p8:1556 goto skip15a
bra p8l_skip15a
; source: test_word_lt.p8:1557 lbl15a: fail_word(125)
p8l_lbl15a
ldy #>$7d
lda #<$7d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1558 skip15a:
p8l_skip15a
; source: test_word_lt.p8:1560 cx16.r3 = &lbl15b
lda #<p8l_lbl15b
ldy #>p8l_lbl15b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1561 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1563 goto skip15b
bra p8l_skip15b
; source: test_word_lt.p8:1564 lbl15b: fail_word(126)
p8l_lbl15b
ldy #>$7e
lda #<$7e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1565 skip15b:
p8l_skip15b
; source: test_word_lt.p8:1567 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_192_afterif
; source: test_word_lt.p8:1568 fail_word(127)
ldy #>$7f
lda #<$7f
jsr p8b_main.p8s_fail_word
label_asm_192_afterif
; source: test_word_lt.p8:1571 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_194_else
; source: test_word_lt.p8:1572 fail_word(128)
ldy #>$80
lda #<$80
jsr p8b_main.p8s_fail_word
bra label_asm_193_afterif
label_asm_194_else
; source: test_word_lt.p8:1574 success++
inc p8b_main.p8v_success
label_asm_193_afterif
; source: test_word_lt.p8:1576 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1578 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl16a
; source: test_word_lt.p8:1580 goto skip16a
bra p8l_skip16a
; source: test_word_lt.p8:1581 lbl16a: fail_word(129)
p8l_lbl16a
ldy #>$81
lda #<$81
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1582 skip16a:
p8l_skip16a
; source: test_word_lt.p8:1584 cx16.r3 = &lbl16b
lda #<p8l_lbl16b
ldy #>p8l_lbl16b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1585 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1587 goto skip16b
bra p8l_skip16b
; source: test_word_lt.p8:1588 lbl16b: fail_word(130)
p8l_lbl16b
ldy #>$82
lda #<$82
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1589 skip16b:
p8l_skip16b
; source: test_word_lt.p8:1591 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_195_afterif
; source: test_word_lt.p8:1592 fail_word(131)
ldy #>$83
lda #<$83
jsr p8b_main.p8s_fail_word
label_asm_195_afterif
; source: test_word_lt.p8:1595 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_197_else
; source: test_word_lt.p8:1596 fail_word(132)
ldy #>$84
lda #<$84
jsr p8b_main.p8s_fail_word
bra label_asm_196_afterif
label_asm_197_else
; source: test_word_lt.p8:1598 success++
inc p8b_main.p8v_success
label_asm_196_afterif
; source: test_word_lt.p8:1600 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:1602 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl17a
; source: test_word_lt.p8:1604 goto skip17a
bra p8l_skip17a
; source: test_word_lt.p8:1605 lbl17a: fail_word(133)
p8l_lbl17a
ldy #>$85
lda #<$85
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1606 skip17a:
p8l_skip17a
; source: test_word_lt.p8:1608 cx16.r3 = &lbl17b
lda #<p8l_lbl17b
ldy #>p8l_lbl17b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1609 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1611 goto skip17b
bra p8l_skip17b
; source: test_word_lt.p8:1612 lbl17b: fail_word(134)
p8l_lbl17b
ldy #>$86
lda #<$86
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1613 skip17b:
p8l_skip17b
; source: test_word_lt.p8:1615 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_198_afterif
; source: test_word_lt.p8:1616 fail_word(135)
ldy #>$87
lda #<$87
jsr p8b_main.p8s_fail_word
label_asm_198_afterif
; source: test_word_lt.p8:1619 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_200_else
; source: test_word_lt.p8:1620 fail_word(136)
ldy #>$88
lda #<$88
jsr p8b_main.p8s_fail_word
bra label_asm_199_afterif
label_asm_200_else
; source: test_word_lt.p8:1622 success++
inc p8b_main.p8v_success
label_asm_199_afterif
; source: test_word_lt.p8:1624 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1626 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl18a
; source: test_word_lt.p8:1628 goto skip18a
bra p8l_skip18a
; source: test_word_lt.p8:1629 lbl18a: success++
p8l_lbl18a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1630 skip18a:
p8l_skip18a
; source: test_word_lt.p8:1632 cx16.r3 = &lbl18b
lda #<p8l_lbl18b
ldy #>p8l_lbl18b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1633 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1635 goto skip18b
bra p8l_skip18b
; source: test_word_lt.p8:1636 lbl18b: success++
p8l_lbl18b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1637 skip18b:
p8l_skip18b
; source: test_word_lt.p8:1639 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_201_afterif
; source: test_word_lt.p8:1640 success++
inc p8b_main.p8v_success
label_asm_201_afterif
; source: test_word_lt.p8:1643 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_203_else
; source: test_word_lt.p8:1644 success++
inc p8b_main.p8v_success
bra label_asm_202_afterif
label_asm_203_else
; source: test_word_lt.p8:1646 cx16.r0L++
inc cx16.r0L
label_asm_202_afterif
; source: test_word_lt.p8:1648 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1650 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl19a
; source: test_word_lt.p8:1652 goto skip19a
bra p8l_skip19a
; source: test_word_lt.p8:1653 lbl19a: success++
p8l_lbl19a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1654 skip19a:
p8l_skip19a
; source: test_word_lt.p8:1656 cx16.r3 = &lbl19b
lda #<p8l_lbl19b
ldy #>p8l_lbl19b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1657 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1659 goto skip19b
bra p8l_skip19b
; source: test_word_lt.p8:1660 lbl19b: success++
p8l_lbl19b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1661 skip19b:
p8l_skip19b
; source: test_word_lt.p8:1663 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_204_afterif
; source: test_word_lt.p8:1664 success++
inc p8b_main.p8v_success
label_asm_204_afterif
; source: test_word_lt.p8:1667 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_206_else
; source: test_word_lt.p8:1668 success++
inc p8b_main.p8v_success
bra label_asm_205_afterif
label_asm_206_else
; source: test_word_lt.p8:1670 cx16.r0L++
inc cx16.r0L
label_asm_205_afterif
; source: test_word_lt.p8:1672 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1674 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl20a
; source: test_word_lt.p8:1676 goto skip20a
bra p8l_skip20a
; source: test_word_lt.p8:1677 lbl20a: success++
p8l_lbl20a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1678 skip20a:
p8l_skip20a
; source: test_word_lt.p8:1680 cx16.r3 = &lbl20b
lda #<p8l_lbl20b
ldy #>p8l_lbl20b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1681 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1683 goto skip20b
bra p8l_skip20b
; source: test_word_lt.p8:1684 lbl20b: success++
p8l_lbl20b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1685 skip20b:
p8l_skip20b
; source: test_word_lt.p8:1687 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_207_afterif
; source: test_word_lt.p8:1688 success++
inc p8b_main.p8v_success
label_asm_207_afterif
; source: test_word_lt.p8:1691 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_209_else
; source: test_word_lt.p8:1692 success++
inc p8b_main.p8v_success
bra label_asm_208_afterif
label_asm_209_else
; source: test_word_lt.p8:1694 cx16.r0L++
inc cx16.r0L
label_asm_208_afterif
; source: test_word_lt.p8:1696 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1698 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl21a
; source: test_word_lt.p8:1700 goto skip21a
bra p8l_skip21a
; source: test_word_lt.p8:1701 lbl21a: success++
p8l_lbl21a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1702 skip21a:
p8l_skip21a
; source: test_word_lt.p8:1704 cx16.r3 = &lbl21b
lda #<p8l_lbl21b
ldy #>p8l_lbl21b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1705 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1707 goto skip21b
bra p8l_skip21b
; source: test_word_lt.p8:1708 lbl21b: success++
p8l_lbl21b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1709 skip21b:
p8l_skip21b
; source: test_word_lt.p8:1711 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_210_afterif
; source: test_word_lt.p8:1712 success++
inc p8b_main.p8v_success
label_asm_210_afterif
; source: test_word_lt.p8:1715 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_212_else
; source: test_word_lt.p8:1716 success++
inc p8b_main.p8v_success
bra label_asm_211_afterif
label_asm_212_else
; source: test_word_lt.p8:1718 cx16.r0L++
inc cx16.r0L
label_asm_211_afterif
; source: test_word_lt.p8:1720 x=1
lda #<1
ldy #>1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:1721 value=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1723 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl22a
; source: test_word_lt.p8:1725 goto skip22a
bra p8l_skip22a
; source: test_word_lt.p8:1726 lbl22a: fail_word(137)
p8l_lbl22a
ldy #>$89
lda #<$89
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1727 skip22a:
p8l_skip22a
; source: test_word_lt.p8:1729 cx16.r3 = &lbl22b
lda #<p8l_lbl22b
ldy #>p8l_lbl22b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1730 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1732 goto skip22b
bra p8l_skip22b
; source: test_word_lt.p8:1733 lbl22b: fail_word(138)
p8l_lbl22b
ldy #>$8a
lda #<$8a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1734 skip22b:
p8l_skip22b
; source: test_word_lt.p8:1736 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_213_afterif
; source: test_word_lt.p8:1737 fail_word(139)
ldy #>$8b
lda #<$8b
jsr p8b_main.p8s_fail_word
label_asm_213_afterif
; source: test_word_lt.p8:1740 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_215_else
; source: test_word_lt.p8:1741 fail_word(140)
ldy #>$8c
lda #<$8c
jsr p8b_main.p8s_fail_word
bra label_asm_214_afterif
label_asm_215_else
; source: test_word_lt.p8:1743 success++
inc p8b_main.p8v_success
label_asm_214_afterif
; source: test_word_lt.p8:1745 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1747 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl23a
; source: test_word_lt.p8:1749 goto skip23a
bra p8l_skip23a
; source: test_word_lt.p8:1750 lbl23a: fail_word(141)
p8l_lbl23a
ldy #>$8d
lda #<$8d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1751 skip23a:
p8l_skip23a
; source: test_word_lt.p8:1753 cx16.r3 = &lbl23b
lda #<p8l_lbl23b
ldy #>p8l_lbl23b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1754 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1756 goto skip23b
bra p8l_skip23b
; source: test_word_lt.p8:1757 lbl23b: fail_word(142)
p8l_lbl23b
ldy #>$8e
lda #<$8e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1758 skip23b:
p8l_skip23b
; source: test_word_lt.p8:1760 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_216_afterif
; source: test_word_lt.p8:1761 fail_word(143)
ldy #>$8f
lda #<$8f
jsr p8b_main.p8s_fail_word
label_asm_216_afterif
; source: test_word_lt.p8:1764 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_218_else
; source: test_word_lt.p8:1765 fail_word(144)
ldy #>$90
lda #<$90
jsr p8b_main.p8s_fail_word
bra label_asm_217_afterif
label_asm_218_else
; source: test_word_lt.p8:1767 success++
inc p8b_main.p8v_success
label_asm_217_afterif
; source: test_word_lt.p8:1769 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:1771 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl24a
; source: test_word_lt.p8:1773 goto skip24a
bra p8l_skip24a
; source: test_word_lt.p8:1774 lbl24a: fail_word(145)
p8l_lbl24a
ldy #>$91
lda #<$91
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1775 skip24a:
p8l_skip24a
; source: test_word_lt.p8:1777 cx16.r3 = &lbl24b
lda #<p8l_lbl24b
ldy #>p8l_lbl24b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1778 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1780 goto skip24b
bra p8l_skip24b
; source: test_word_lt.p8:1781 lbl24b: fail_word(146)
p8l_lbl24b
ldy #>$92
lda #<$92
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1782 skip24b:
p8l_skip24b
; source: test_word_lt.p8:1784 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_219_afterif
; source: test_word_lt.p8:1785 fail_word(147)
ldy #>$93
lda #<$93
jsr p8b_main.p8s_fail_word
label_asm_219_afterif
; source: test_word_lt.p8:1788 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_221_else
; source: test_word_lt.p8:1789 fail_word(148)
ldy #>$94
lda #<$94
jsr p8b_main.p8s_fail_word
bra label_asm_220_afterif
label_asm_221_else
; source: test_word_lt.p8:1791 success++
inc p8b_main.p8v_success
label_asm_220_afterif
; source: test_word_lt.p8:1793 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1795 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl25a
; source: test_word_lt.p8:1797 goto skip25a
bra p8l_skip25a
; source: test_word_lt.p8:1798 lbl25a: fail_word(149)
p8l_lbl25a
ldy #>$95
lda #<$95
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1799 skip25a:
p8l_skip25a
; source: test_word_lt.p8:1801 cx16.r3 = &lbl25b
lda #<p8l_lbl25b
ldy #>p8l_lbl25b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1802 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1804 goto skip25b
bra p8l_skip25b
; source: test_word_lt.p8:1805 lbl25b: fail_word(150)
p8l_lbl25b
ldy #>$96
lda #<$96
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1806 skip25b:
p8l_skip25b
; source: test_word_lt.p8:1808 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_222_afterif
; source: test_word_lt.p8:1809 fail_word(151)
ldy #>$97
lda #<$97
jsr p8b_main.p8s_fail_word
label_asm_222_afterif
; source: test_word_lt.p8:1812 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_224_else
; source: test_word_lt.p8:1813 fail_word(152)
ldy #>$98
lda #<$98
jsr p8b_main.p8s_fail_word
bra label_asm_223_afterif
label_asm_224_else
; source: test_word_lt.p8:1815 success++
inc p8b_main.p8v_success
label_asm_223_afterif
; source: test_word_lt.p8:1817 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1819 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl26a
; source: test_word_lt.p8:1821 goto skip26a
bra p8l_skip26a
; source: test_word_lt.p8:1822 lbl26a: success++
p8l_lbl26a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1823 skip26a:
p8l_skip26a
; source: test_word_lt.p8:1825 cx16.r3 = &lbl26b
lda #<p8l_lbl26b
ldy #>p8l_lbl26b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1826 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1828 goto skip26b
bra p8l_skip26b
; source: test_word_lt.p8:1829 lbl26b: success++
p8l_lbl26b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1830 skip26b:
p8l_skip26b
; source: test_word_lt.p8:1832 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_225_afterif
; source: test_word_lt.p8:1833 success++
inc p8b_main.p8v_success
label_asm_225_afterif
; source: test_word_lt.p8:1836 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_227_else
; source: test_word_lt.p8:1837 success++
inc p8b_main.p8v_success
bra label_asm_226_afterif
label_asm_227_else
; source: test_word_lt.p8:1839 cx16.r0L++
inc cx16.r0L
label_asm_226_afterif
; source: test_word_lt.p8:1841 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1843 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl27a
; source: test_word_lt.p8:1845 goto skip27a
bra p8l_skip27a
; source: test_word_lt.p8:1846 lbl27a: success++
p8l_lbl27a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1847 skip27a:
p8l_skip27a
; source: test_word_lt.p8:1849 cx16.r3 = &lbl27b
lda #<p8l_lbl27b
ldy #>p8l_lbl27b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1850 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1852 goto skip27b
bra p8l_skip27b
; source: test_word_lt.p8:1853 lbl27b: success++
p8l_lbl27b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1854 skip27b:
p8l_skip27b
; source: test_word_lt.p8:1856 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_228_afterif
; source: test_word_lt.p8:1857 success++
inc p8b_main.p8v_success
label_asm_228_afterif
; source: test_word_lt.p8:1860 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_230_else
; source: test_word_lt.p8:1861 success++
inc p8b_main.p8v_success
bra label_asm_229_afterif
label_asm_230_else
; source: test_word_lt.p8:1863 cx16.r0L++
inc cx16.r0L
label_asm_229_afterif
; source: test_word_lt.p8:1865 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1867 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl28a
; source: test_word_lt.p8:1869 goto skip28a
bra p8l_skip28a
; source: test_word_lt.p8:1870 lbl28a: success++
p8l_lbl28a
inc p8b_main.p8v_success
; source: test_word_lt.p8:1871 skip28a:
p8l_skip28a
; source: test_word_lt.p8:1873 cx16.r3 = &lbl28b
lda #<p8l_lbl28b
ldy #>p8l_lbl28b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1874 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1876 goto skip28b
bra p8l_skip28b
; source: test_word_lt.p8:1877 lbl28b: success++
p8l_lbl28b
inc p8b_main.p8v_success
; source: test_word_lt.p8:1878 skip28b:
p8l_skip28b
; source: test_word_lt.p8:1880 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_231_afterif
; source: test_word_lt.p8:1881 success++
inc p8b_main.p8v_success
label_asm_231_afterif
; source: test_word_lt.p8:1884 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_233_else
; source: test_word_lt.p8:1885 success++
inc p8b_main.p8v_success
bra label_asm_232_afterif
label_asm_233_else
; source: test_word_lt.p8:1887 cx16.r0L++
inc cx16.r0L
label_asm_232_afterif
; source: test_word_lt.p8:1889 x=170
lda #<$aa
ldy #>$aa
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:1890 value=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1892 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl29a
; source: test_word_lt.p8:1894 goto skip29a
bra p8l_skip29a
; source: test_word_lt.p8:1895 lbl29a: fail_word(153)
p8l_lbl29a
ldy #>$99
lda #<$99
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1896 skip29a:
p8l_skip29a
; source: test_word_lt.p8:1898 cx16.r3 = &lbl29b
lda #<p8l_lbl29b
ldy #>p8l_lbl29b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1899 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1901 goto skip29b
bra p8l_skip29b
; source: test_word_lt.p8:1902 lbl29b: fail_word(154)
p8l_lbl29b
ldy #>$9a
lda #<$9a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1903 skip29b:
p8l_skip29b
; source: test_word_lt.p8:1905 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_234_afterif
; source: test_word_lt.p8:1906 fail_word(155)
ldy #>$9b
lda #<$9b
jsr p8b_main.p8s_fail_word
label_asm_234_afterif
; source: test_word_lt.p8:1909 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_236_else
; source: test_word_lt.p8:1910 fail_word(156)
ldy #>$9c
lda #<$9c
jsr p8b_main.p8s_fail_word
bra label_asm_235_afterif
label_asm_236_else
; source: test_word_lt.p8:1912 success++
inc p8b_main.p8v_success
label_asm_235_afterif
; source: test_word_lt.p8:1914 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1916 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl30a
; source: test_word_lt.p8:1918 goto skip30a
bra p8l_skip30a
; source: test_word_lt.p8:1919 lbl30a: fail_word(157)
p8l_lbl30a
ldy #>$9d
lda #<$9d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1920 skip30a:
p8l_skip30a
; source: test_word_lt.p8:1922 cx16.r3 = &lbl30b
lda #<p8l_lbl30b
ldy #>p8l_lbl30b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1923 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1925 goto skip30b
bra p8l_skip30b
; source: test_word_lt.p8:1926 lbl30b: fail_word(158)
p8l_lbl30b
ldy #>$9e
lda #<$9e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1927 skip30b:
p8l_skip30b
; source: test_word_lt.p8:1929 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_237_afterif
; source: test_word_lt.p8:1930 fail_word(159)
ldy #>$9f
lda #<$9f
jsr p8b_main.p8s_fail_word
label_asm_237_afterif
; source: test_word_lt.p8:1933 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_239_else
; source: test_word_lt.p8:1934 fail_word(160)
ldy #>$a0
lda #<$a0
jsr p8b_main.p8s_fail_word
bra label_asm_238_afterif
label_asm_239_else
; source: test_word_lt.p8:1936 success++
inc p8b_main.p8v_success
label_asm_238_afterif
; source: test_word_lt.p8:1938 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:1940 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl31a
; source: test_word_lt.p8:1942 goto skip31a
bra p8l_skip31a
; source: test_word_lt.p8:1943 lbl31a: fail_word(161)
p8l_lbl31a
ldy #>$a1
lda #<$a1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1944 skip31a:
p8l_skip31a
; source: test_word_lt.p8:1946 cx16.r3 = &lbl31b
lda #<p8l_lbl31b
ldy #>p8l_lbl31b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1947 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1949 goto skip31b
bra p8l_skip31b
; source: test_word_lt.p8:1950 lbl31b: fail_word(162)
p8l_lbl31b
ldy #>$a2
lda #<$a2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1951 skip31b:
p8l_skip31b
; source: test_word_lt.p8:1953 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_240_afterif
; source: test_word_lt.p8:1954 fail_word(163)
ldy #>$a3
lda #<$a3
jsr p8b_main.p8s_fail_word
label_asm_240_afterif
; source: test_word_lt.p8:1957 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_242_else
; source: test_word_lt.p8:1958 fail_word(164)
ldy #>$a4
lda #<$a4
jsr p8b_main.p8s_fail_word
bra label_asm_241_afterif
label_asm_242_else
; source: test_word_lt.p8:1960 success++
inc p8b_main.p8v_success
label_asm_241_afterif
; source: test_word_lt.p8:1962 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1964 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl32a
; source: test_word_lt.p8:1966 goto skip32a
bra p8l_skip32a
; source: test_word_lt.p8:1967 lbl32a: fail_word(165)
p8l_lbl32a
ldy #>$a5
lda #<$a5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1968 skip32a:
p8l_skip32a
; source: test_word_lt.p8:1970 cx16.r3 = &lbl32b
lda #<p8l_lbl32b
ldy #>p8l_lbl32b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1971 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1973 goto skip32b
bra p8l_skip32b
; source: test_word_lt.p8:1974 lbl32b: fail_word(166)
p8l_lbl32b
ldy #>$a6
lda #<$a6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1975 skip32b:
p8l_skip32b
; source: test_word_lt.p8:1977 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_243_afterif
; source: test_word_lt.p8:1978 fail_word(167)
ldy #>$a7
lda #<$a7
jsr p8b_main.p8s_fail_word
label_asm_243_afterif
; source: test_word_lt.p8:1981 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_245_else
; source: test_word_lt.p8:1982 fail_word(168)
ldy #>$a8
lda #<$a8
jsr p8b_main.p8s_fail_word
bra label_asm_244_afterif
label_asm_245_else
; source: test_word_lt.p8:1984 success++
inc p8b_main.p8v_success
label_asm_244_afterif
; source: test_word_lt.p8:1986 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:1988 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl33a
; source: test_word_lt.p8:1990 goto skip33a
bra p8l_skip33a
; source: test_word_lt.p8:1991 lbl33a: fail_word(169)
p8l_lbl33a
ldy #>$a9
lda #<$a9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1992 skip33a:
p8l_skip33a
; source: test_word_lt.p8:1994 cx16.r3 = &lbl33b
lda #<p8l_lbl33b
ldy #>p8l_lbl33b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:1995 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:1997 goto skip33b
bra p8l_skip33b
; source: test_word_lt.p8:1998 lbl33b: fail_word(170)
p8l_lbl33b
ldy #>$aa
lda #<$aa
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:1999 skip33b:
p8l_skip33b
; source: test_word_lt.p8:2001 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_246_afterif
; source: test_word_lt.p8:2002 fail_word(171)
ldy #>$ab
lda #<$ab
jsr p8b_main.p8s_fail_word
label_asm_246_afterif
; source: test_word_lt.p8:2005 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_248_else
; source: test_word_lt.p8:2006 fail_word(172)
ldy #>$ac
lda #<$ac
jsr p8b_main.p8s_fail_word
bra label_asm_247_afterif
label_asm_248_else
; source: test_word_lt.p8:2008 success++
inc p8b_main.p8v_success
label_asm_247_afterif
; source: test_word_lt.p8:2010 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2012 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl34a
; source: test_word_lt.p8:2014 goto skip34a
bra p8l_skip34a
; source: test_word_lt.p8:2015 lbl34a: success++
p8l_lbl34a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2016 skip34a:
p8l_skip34a
; source: test_word_lt.p8:2018 cx16.r3 = &lbl34b
lda #<p8l_lbl34b
ldy #>p8l_lbl34b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2019 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2021 goto skip34b
bra p8l_skip34b
; source: test_word_lt.p8:2022 lbl34b: success++
p8l_lbl34b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2023 skip34b:
p8l_skip34b
; source: test_word_lt.p8:2025 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_249_afterif
; source: test_word_lt.p8:2026 success++
inc p8b_main.p8v_success
label_asm_249_afterif
; source: test_word_lt.p8:2029 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_251_else
; source: test_word_lt.p8:2030 success++
inc p8b_main.p8v_success
bra label_asm_250_afterif
label_asm_251_else
; source: test_word_lt.p8:2032 cx16.r0L++
inc cx16.r0L
label_asm_250_afterif
; source: test_word_lt.p8:2034 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2036 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl35a
; source: test_word_lt.p8:2038 goto skip35a
bra p8l_skip35a
; source: test_word_lt.p8:2039 lbl35a: success++
p8l_lbl35a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2040 skip35a:
p8l_skip35a
; source: test_word_lt.p8:2042 cx16.r3 = &lbl35b
lda #<p8l_lbl35b
ldy #>p8l_lbl35b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2043 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2045 goto skip35b
bra p8l_skip35b
; source: test_word_lt.p8:2046 lbl35b: success++
p8l_lbl35b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2047 skip35b:
p8l_skip35b
; source: test_word_lt.p8:2049 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_252_afterif
; source: test_word_lt.p8:2050 success++
inc p8b_main.p8v_success
label_asm_252_afterif
; source: test_word_lt.p8:2053 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_254_else
; source: test_word_lt.p8:2054 success++
inc p8b_main.p8v_success
bra label_asm_253_afterif
label_asm_254_else
; source: test_word_lt.p8:2056 cx16.r0L++
inc cx16.r0L
label_asm_253_afterif
; source: test_word_lt.p8:2058 x=30464
lda #<$7700
ldy #>$7700
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:2059 value=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2061 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl36a
; source: test_word_lt.p8:2063 goto skip36a
bra p8l_skip36a
; source: test_word_lt.p8:2064 lbl36a: fail_word(173)
p8l_lbl36a
ldy #>$ad
lda #<$ad
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2065 skip36a:
p8l_skip36a
; source: test_word_lt.p8:2067 cx16.r3 = &lbl36b
lda #<p8l_lbl36b
ldy #>p8l_lbl36b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2068 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2070 goto skip36b
bra p8l_skip36b
; source: test_word_lt.p8:2071 lbl36b: fail_word(174)
p8l_lbl36b
ldy #>$ae
lda #<$ae
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2072 skip36b:
p8l_skip36b
; source: test_word_lt.p8:2074 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_255_afterif
; source: test_word_lt.p8:2075 fail_word(175)
ldy #>$af
lda #<$af
jsr p8b_main.p8s_fail_word
label_asm_255_afterif
; source: test_word_lt.p8:2078 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_257_else
; source: test_word_lt.p8:2079 fail_word(176)
ldy #>$b0
lda #<$b0
jsr p8b_main.p8s_fail_word
bra label_asm_256_afterif
label_asm_257_else
; source: test_word_lt.p8:2081 success++
inc p8b_main.p8v_success
label_asm_256_afterif
; source: test_word_lt.p8:2083 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2085 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl37a
; source: test_word_lt.p8:2087 goto skip37a
bra p8l_skip37a
; source: test_word_lt.p8:2088 lbl37a: fail_word(177)
p8l_lbl37a
ldy #>$b1
lda #<$b1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2089 skip37a:
p8l_skip37a
; source: test_word_lt.p8:2091 cx16.r3 = &lbl37b
lda #<p8l_lbl37b
ldy #>p8l_lbl37b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2092 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2094 goto skip37b
bra p8l_skip37b
; source: test_word_lt.p8:2095 lbl37b: fail_word(178)
p8l_lbl37b
ldy #>$b2
lda #<$b2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2096 skip37b:
p8l_skip37b
; source: test_word_lt.p8:2098 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_258_afterif
; source: test_word_lt.p8:2099 fail_word(179)
ldy #>$b3
lda #<$b3
jsr p8b_main.p8s_fail_word
label_asm_258_afterif
; source: test_word_lt.p8:2102 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_260_else
; source: test_word_lt.p8:2103 fail_word(180)
ldy #>$b4
lda #<$b4
jsr p8b_main.p8s_fail_word
bra label_asm_259_afterif
label_asm_260_else
; source: test_word_lt.p8:2105 success++
inc p8b_main.p8v_success
label_asm_259_afterif
; source: test_word_lt.p8:2107 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:2109 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl38a
; source: test_word_lt.p8:2111 goto skip38a
bra p8l_skip38a
; source: test_word_lt.p8:2112 lbl38a: fail_word(181)
p8l_lbl38a
ldy #>$b5
lda #<$b5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2113 skip38a:
p8l_skip38a
; source: test_word_lt.p8:2115 cx16.r3 = &lbl38b
lda #<p8l_lbl38b
ldy #>p8l_lbl38b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2116 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2118 goto skip38b
bra p8l_skip38b
; source: test_word_lt.p8:2119 lbl38b: fail_word(182)
p8l_lbl38b
ldy #>$b6
lda #<$b6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2120 skip38b:
p8l_skip38b
; source: test_word_lt.p8:2122 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_261_afterif
; source: test_word_lt.p8:2123 fail_word(183)
ldy #>$b7
lda #<$b7
jsr p8b_main.p8s_fail_word
label_asm_261_afterif
; source: test_word_lt.p8:2126 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_263_else
; source: test_word_lt.p8:2127 fail_word(184)
ldy #>$b8
lda #<$b8
jsr p8b_main.p8s_fail_word
bra label_asm_262_afterif
label_asm_263_else
; source: test_word_lt.p8:2129 success++
inc p8b_main.p8v_success
label_asm_262_afterif
; source: test_word_lt.p8:2131 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2133 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl39a
; source: test_word_lt.p8:2135 goto skip39a
bra p8l_skip39a
; source: test_word_lt.p8:2136 lbl39a: fail_word(185)
p8l_lbl39a
ldy #>$b9
lda #<$b9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2137 skip39a:
p8l_skip39a
; source: test_word_lt.p8:2139 cx16.r3 = &lbl39b
lda #<p8l_lbl39b
ldy #>p8l_lbl39b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2140 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2142 goto skip39b
bra p8l_skip39b
; source: test_word_lt.p8:2143 lbl39b: fail_word(186)
p8l_lbl39b
ldy #>$ba
lda #<$ba
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2144 skip39b:
p8l_skip39b
; source: test_word_lt.p8:2146 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_264_afterif
; source: test_word_lt.p8:2147 fail_word(187)
ldy #>$bb
lda #<$bb
jsr p8b_main.p8s_fail_word
label_asm_264_afterif
; source: test_word_lt.p8:2150 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_266_else
; source: test_word_lt.p8:2151 fail_word(188)
ldy #>$bc
lda #<$bc
jsr p8b_main.p8s_fail_word
bra label_asm_265_afterif
label_asm_266_else
; source: test_word_lt.p8:2153 success++
inc p8b_main.p8v_success
label_asm_265_afterif
; source: test_word_lt.p8:2155 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2157 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl40a
; source: test_word_lt.p8:2159 goto skip40a
bra p8l_skip40a
; source: test_word_lt.p8:2160 lbl40a: fail_word(189)
p8l_lbl40a
ldy #>$bd
lda #<$bd
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2161 skip40a:
p8l_skip40a
; source: test_word_lt.p8:2163 cx16.r3 = &lbl40b
lda #<p8l_lbl40b
ldy #>p8l_lbl40b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2164 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2166 goto skip40b
bra p8l_skip40b
; source: test_word_lt.p8:2167 lbl40b: fail_word(190)
p8l_lbl40b
ldy #>$be
lda #<$be
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2168 skip40b:
p8l_skip40b
; source: test_word_lt.p8:2170 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_267_afterif
; source: test_word_lt.p8:2171 fail_word(191)
ldy #>$bf
lda #<$bf
jsr p8b_main.p8s_fail_word
label_asm_267_afterif
; source: test_word_lt.p8:2174 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_269_else
; source: test_word_lt.p8:2175 fail_word(192)
ldy #>$c0
lda #<$c0
jsr p8b_main.p8s_fail_word
bra label_asm_268_afterif
label_asm_269_else
; source: test_word_lt.p8:2177 success++
inc p8b_main.p8v_success
label_asm_268_afterif
; source: test_word_lt.p8:2179 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2181 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl41a
; source: test_word_lt.p8:2183 goto skip41a
bra p8l_skip41a
; source: test_word_lt.p8:2184 lbl41a: fail_word(193)
p8l_lbl41a
ldy #>$c1
lda #<$c1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2185 skip41a:
p8l_skip41a
; source: test_word_lt.p8:2187 cx16.r3 = &lbl41b
lda #<p8l_lbl41b
ldy #>p8l_lbl41b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2188 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2190 goto skip41b
bra p8l_skip41b
; source: test_word_lt.p8:2191 lbl41b: fail_word(194)
p8l_lbl41b
ldy #>$c2
lda #<$c2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2192 skip41b:
p8l_skip41b
; source: test_word_lt.p8:2194 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_270_afterif
; source: test_word_lt.p8:2195 fail_word(195)
ldy #>$c3
lda #<$c3
jsr p8b_main.p8s_fail_word
label_asm_270_afterif
; source: test_word_lt.p8:2198 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_272_else
; source: test_word_lt.p8:2199 fail_word(196)
ldy #>$c4
lda #<$c4
jsr p8b_main.p8s_fail_word
bra label_asm_271_afterif
label_asm_272_else
; source: test_word_lt.p8:2201 success++
inc p8b_main.p8v_success
label_asm_271_afterif
; source: test_word_lt.p8:2203 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2205 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl42a
; source: test_word_lt.p8:2207 goto skip42a
bra p8l_skip42a
; source: test_word_lt.p8:2208 lbl42a: success++
p8l_lbl42a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2209 skip42a:
p8l_skip42a
; source: test_word_lt.p8:2211 cx16.r3 = &lbl42b
lda #<p8l_lbl42b
ldy #>p8l_lbl42b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2212 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2214 goto skip42b
bra p8l_skip42b
; source: test_word_lt.p8:2215 lbl42b: success++
p8l_lbl42b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2216 skip42b:
p8l_skip42b
; source: test_word_lt.p8:2218 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_273_afterif
; source: test_word_lt.p8:2219 success++
inc p8b_main.p8v_success
label_asm_273_afterif
; source: test_word_lt.p8:2222 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_275_else
; source: test_word_lt.p8:2223 success++
inc p8b_main.p8v_success
bra label_asm_274_afterif
label_asm_275_else
; source: test_word_lt.p8:2225 cx16.r0L++
inc cx16.r0L
label_asm_274_afterif
; source: test_word_lt.p8:2227 x=32767
lda #<$7fff
ldy #>$7fff
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:2228 value=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2230 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl43a
; source: test_word_lt.p8:2232 goto skip43a
bra p8l_skip43a
; source: test_word_lt.p8:2233 lbl43a: fail_word(197)
p8l_lbl43a
ldy #>$c5
lda #<$c5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2234 skip43a:
p8l_skip43a
; source: test_word_lt.p8:2236 cx16.r3 = &lbl43b
lda #<p8l_lbl43b
ldy #>p8l_lbl43b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2237 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2239 goto skip43b
bra p8l_skip43b
; source: test_word_lt.p8:2240 lbl43b: fail_word(198)
p8l_lbl43b
ldy #>$c6
lda #<$c6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2241 skip43b:
p8l_skip43b
; source: test_word_lt.p8:2243 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_276_afterif
; source: test_word_lt.p8:2244 fail_word(199)
ldy #>$c7
lda #<$c7
jsr p8b_main.p8s_fail_word
label_asm_276_afterif
; source: test_word_lt.p8:2247 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_278_else
; source: test_word_lt.p8:2248 fail_word(200)
ldy #>$c8
lda #<$c8
jsr p8b_main.p8s_fail_word
bra label_asm_277_afterif
label_asm_278_else
; source: test_word_lt.p8:2250 success++
inc p8b_main.p8v_success
label_asm_277_afterif
; source: test_word_lt.p8:2252 value=-1
lda #<-1
ldy #>-1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2254 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl44a
; source: test_word_lt.p8:2256 goto skip44a
bra p8l_skip44a
; source: test_word_lt.p8:2257 lbl44a: fail_word(201)
p8l_lbl44a
ldy #>$c9
lda #<$c9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2258 skip44a:
p8l_skip44a
; source: test_word_lt.p8:2260 cx16.r3 = &lbl44b
lda #<p8l_lbl44b
ldy #>p8l_lbl44b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2261 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2263 goto skip44b
bra p8l_skip44b
; source: test_word_lt.p8:2264 lbl44b: fail_word(202)
p8l_lbl44b
ldy #>$ca
lda #<$ca
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2265 skip44b:
p8l_skip44b
; source: test_word_lt.p8:2267 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_279_afterif
; source: test_word_lt.p8:2268 fail_word(203)
ldy #>$cb
lda #<$cb
jsr p8b_main.p8s_fail_word
label_asm_279_afterif
; source: test_word_lt.p8:2271 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_281_else
; source: test_word_lt.p8:2272 fail_word(204)
ldy #>$cc
lda #<$cc
jsr p8b_main.p8s_fail_word
bra label_asm_280_afterif
label_asm_281_else
; source: test_word_lt.p8:2274 success++
inc p8b_main.p8v_success
label_asm_280_afterif
; source: test_word_lt.p8:2276 value=0
stz p8v_value
stz p8v_value+1
; source: test_word_lt.p8:2278 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl45a
; source: test_word_lt.p8:2280 goto skip45a
bra p8l_skip45a
; source: test_word_lt.p8:2281 lbl45a: fail_word(205)
p8l_lbl45a
ldy #>$cd
lda #<$cd
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2282 skip45a:
p8l_skip45a
; source: test_word_lt.p8:2284 cx16.r3 = &lbl45b
lda #<p8l_lbl45b
ldy #>p8l_lbl45b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2285 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2287 goto skip45b
bra p8l_skip45b
; source: test_word_lt.p8:2288 lbl45b: fail_word(206)
p8l_lbl45b
ldy #>$ce
lda #<$ce
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2289 skip45b:
p8l_skip45b
; source: test_word_lt.p8:2291 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_282_afterif
; source: test_word_lt.p8:2292 fail_word(207)
ldy #>$cf
lda #<$cf
jsr p8b_main.p8s_fail_word
label_asm_282_afterif
; source: test_word_lt.p8:2295 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_284_else
; source: test_word_lt.p8:2296 fail_word(208)
ldy #>$d0
lda #<$d0
jsr p8b_main.p8s_fail_word
bra label_asm_283_afterif
label_asm_284_else
; source: test_word_lt.p8:2298 success++
inc p8b_main.p8v_success
label_asm_283_afterif
; source: test_word_lt.p8:2300 value=1
lda #<1
ldy #>1
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2302 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl46a
; source: test_word_lt.p8:2304 goto skip46a
bra p8l_skip46a
; source: test_word_lt.p8:2305 lbl46a: fail_word(209)
p8l_lbl46a
ldy #>$d1
lda #<$d1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2306 skip46a:
p8l_skip46a
; source: test_word_lt.p8:2308 cx16.r3 = &lbl46b
lda #<p8l_lbl46b
ldy #>p8l_lbl46b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2309 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2311 goto skip46b
bra p8l_skip46b
; source: test_word_lt.p8:2312 lbl46b: fail_word(210)
p8l_lbl46b
ldy #>$d2
lda #<$d2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2313 skip46b:
p8l_skip46b
; source: test_word_lt.p8:2315 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_285_afterif
; source: test_word_lt.p8:2316 fail_word(211)
ldy #>$d3
lda #<$d3
jsr p8b_main.p8s_fail_word
label_asm_285_afterif
; source: test_word_lt.p8:2319 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_287_else
; source: test_word_lt.p8:2320 fail_word(212)
ldy #>$d4
lda #<$d4
jsr p8b_main.p8s_fail_word
bra label_asm_286_afterif
label_asm_287_else
; source: test_word_lt.p8:2322 success++
inc p8b_main.p8v_success
label_asm_286_afterif
; source: test_word_lt.p8:2324 value=170
lda #<$aa
ldy #>$aa
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2326 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl47a
; source: test_word_lt.p8:2328 goto skip47a
bra p8l_skip47a
; source: test_word_lt.p8:2329 lbl47a: fail_word(213)
p8l_lbl47a
ldy #>$d5
lda #<$d5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2330 skip47a:
p8l_skip47a
; source: test_word_lt.p8:2332 cx16.r3 = &lbl47b
lda #<p8l_lbl47b
ldy #>p8l_lbl47b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2333 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2335 goto skip47b
bra p8l_skip47b
; source: test_word_lt.p8:2336 lbl47b: fail_word(214)
p8l_lbl47b
ldy #>$d6
lda #<$d6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2337 skip47b:
p8l_skip47b
; source: test_word_lt.p8:2339 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_288_afterif
; source: test_word_lt.p8:2340 fail_word(215)
ldy #>$d7
lda #<$d7
jsr p8b_main.p8s_fail_word
label_asm_288_afterif
; source: test_word_lt.p8:2343 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_290_else
; source: test_word_lt.p8:2344 fail_word(216)
ldy #>$d8
lda #<$d8
jsr p8b_main.p8s_fail_word
bra label_asm_289_afterif
label_asm_290_else
; source: test_word_lt.p8:2346 success++
inc p8b_main.p8v_success
label_asm_289_afterif
; source: test_word_lt.p8:2348 value=30464
lda #<$7700
ldy #>$7700
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2350 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl48a
; source: test_word_lt.p8:2352 goto skip48a
bra p8l_skip48a
; source: test_word_lt.p8:2353 lbl48a: fail_word(217)
p8l_lbl48a
ldy #>$d9
lda #<$d9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2354 skip48a:
p8l_skip48a
; source: test_word_lt.p8:2356 cx16.r3 = &lbl48b
lda #<p8l_lbl48b
ldy #>p8l_lbl48b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2357 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2359 goto skip48b
bra p8l_skip48b
; source: test_word_lt.p8:2360 lbl48b: fail_word(218)
p8l_lbl48b
ldy #>$da
lda #<$da
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2361 skip48b:
p8l_skip48b
; source: test_word_lt.p8:2363 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_291_afterif
; source: test_word_lt.p8:2364 fail_word(219)
ldy #>$db
lda #<$db
jsr p8b_main.p8s_fail_word
label_asm_291_afterif
; source: test_word_lt.p8:2367 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_293_else
; source: test_word_lt.p8:2368 fail_word(220)
ldy #>$dc
lda #<$dc
jsr p8b_main.p8s_fail_word
bra label_asm_292_afterif
label_asm_293_else
; source: test_word_lt.p8:2370 success++
inc p8b_main.p8v_success
label_asm_292_afterif
; source: test_word_lt.p8:2372 value=32767
lda #<$7fff
ldy #>$7fff
sta p8v_value
sty p8v_value+1
; source: test_word_lt.p8:2374 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bmi p8l_lbl49a
; source: test_word_lt.p8:2376 goto skip49a
bra p8l_skip49a
; source: test_word_lt.p8:2377 lbl49a: fail_word(221)
p8l_lbl49a
ldy #>$dd
lda #<$dd
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2378 skip49a:
p8l_skip49a
; source: test_word_lt.p8:2380 cx16.r3 = &lbl49b
lda #<p8l_lbl49b
ldy #>p8l_lbl49b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2381 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2383 goto skip49b
bra p8l_skip49b
; source: test_word_lt.p8:2384 lbl49b: fail_word(222)
p8l_lbl49b
ldy #>$de
lda #<$de
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2385 skip49b:
p8l_skip49b
; source: test_word_lt.p8:2387 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_294_afterif
; source: test_word_lt.p8:2388 fail_word(223)
ldy #>$df
lda #<$df
jsr p8b_main.p8s_fail_word
label_asm_294_afterif
; source: test_word_lt.p8:2391 if x<value
ldy p8v_x+1
lda p8v_x
cmp p8v_value
tya
sbc p8v_value+1
bvs +
eor #128
+ bmi label_asm_296_else
; source: test_word_lt.p8:2392 fail_word(224)
ldy #>$e0
lda #<$e0
jsr p8b_main.p8s_fail_word
bra label_asm_295_afterif
label_asm_296_else
; source: test_word_lt.p8:2394 success++
inc p8b_main.p8v_success
label_asm_295_afterif
; source: test_word_lt.p8:2396 verify_success(112)
lda #$70
jmp p8b_main.p8s_verify_success
; source: test_word_lt.p8:1210 sub test_cmp_var() {
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
p8v_value .sint ?
p8v_x .sint ?
.send BSS
.pend
; source: test_word_lt.p8:2398 sub test_cmp_array() {
p8s_test_cmp_array .proc
; statements
; source: test_word_lt.p8:2399 word @shared x
; source: test_word_lt.p8:2400 word[] values = [0, 0]
; source: test_word_lt.p8:2399 word @shared x
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:2401 success = 0
stz p8b_main.p8v_success
; source: test_word_lt.p8:2402 x=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:2403 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:2405 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl1a
; source: test_word_lt.p8:2407 goto skip1a
bra p8l_skip1a
; source: test_word_lt.p8:2408 lbl1a: fail_word(225)
p8l_lbl1a
ldy #>$e1
lda #<$e1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2409 skip1a:
p8l_skip1a
; source: test_word_lt.p8:2411 cx16.r3 = &lbl1b
lda #<p8l_lbl1b
ldy #>p8l_lbl1b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2412 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2414 goto skip1b
bra p8l_skip1b
; source: test_word_lt.p8:2415 lbl1b: fail_word(226)
p8l_lbl1b
ldy #>$e2
lda #<$e2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2416 skip1b:
p8l_skip1b
; source: test_word_lt.p8:2418 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_297_afterif
; source: test_word_lt.p8:2419 fail_word(227)
ldy #>$e3
lda #<$e3
jsr p8b_main.p8s_fail_word
label_asm_297_afterif
; source: test_word_lt.p8:2422 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_299_else
; source: test_word_lt.p8:2423 fail_word(228)
ldy #>$e4
lda #<$e4
jsr p8b_main.p8s_fail_word
bra label_asm_298_afterif
label_asm_299_else
; source: test_word_lt.p8:2425 success++
inc p8b_main.p8v_success
label_asm_298_afterif
; source: test_word_lt.p8:2427 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:2429 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl2a
; source: test_word_lt.p8:2431 goto skip2a
bra p8l_skip2a
; source: test_word_lt.p8:2432 lbl2a: success++
p8l_lbl2a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2433 skip2a:
p8l_skip2a
; source: test_word_lt.p8:2435 cx16.r3 = &lbl2b
lda #<p8l_lbl2b
ldy #>p8l_lbl2b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2436 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2438 goto skip2b
bra p8l_skip2b
; source: test_word_lt.p8:2439 lbl2b: success++
p8l_lbl2b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2440 skip2b:
p8l_skip2b
; source: test_word_lt.p8:2442 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_300_afterif
; source: test_word_lt.p8:2443 success++
inc p8b_main.p8v_success
label_asm_300_afterif
; source: test_word_lt.p8:2446 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_302_else
; source: test_word_lt.p8:2447 success++
inc p8b_main.p8v_success
bra label_asm_301_afterif
label_asm_302_else
; source: test_word_lt.p8:2449 cx16.r0L++
inc cx16.r0L
label_asm_301_afterif
; source: test_word_lt.p8:2451 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:2453 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl3a
; source: test_word_lt.p8:2455 goto skip3a
bra p8l_skip3a
; source: test_word_lt.p8:2456 lbl3a: success++
p8l_lbl3a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2457 skip3a:
p8l_skip3a
; source: test_word_lt.p8:2459 cx16.r3 = &lbl3b
lda #<p8l_lbl3b
ldy #>p8l_lbl3b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2460 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2462 goto skip3b
bra p8l_skip3b
; source: test_word_lt.p8:2463 lbl3b: success++
p8l_lbl3b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2464 skip3b:
p8l_skip3b
; source: test_word_lt.p8:2466 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_303_afterif
; source: test_word_lt.p8:2467 success++
inc p8b_main.p8v_success
label_asm_303_afterif
; source: test_word_lt.p8:2470 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_305_else
; source: test_word_lt.p8:2471 success++
inc p8b_main.p8v_success
bra label_asm_304_afterif
label_asm_305_else
; source: test_word_lt.p8:2473 cx16.r0L++
inc cx16.r0L
label_asm_304_afterif
; source: test_word_lt.p8:2475 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:2477 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl4a
; source: test_word_lt.p8:2479 goto skip4a
bra p8l_skip4a
; source: test_word_lt.p8:2480 lbl4a: success++
p8l_lbl4a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2481 skip4a:
p8l_skip4a
; source: test_word_lt.p8:2483 cx16.r3 = &lbl4b
lda #<p8l_lbl4b
ldy #>p8l_lbl4b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2484 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2486 goto skip4b
bra p8l_skip4b
; source: test_word_lt.p8:2487 lbl4b: success++
p8l_lbl4b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2488 skip4b:
p8l_skip4b
; source: test_word_lt.p8:2490 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_306_afterif
; source: test_word_lt.p8:2491 success++
inc p8b_main.p8v_success
label_asm_306_afterif
; source: test_word_lt.p8:2494 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_308_else
; source: test_word_lt.p8:2495 success++
inc p8b_main.p8v_success
bra label_asm_307_afterif
label_asm_308_else
; source: test_word_lt.p8:2497 cx16.r0L++
inc cx16.r0L
label_asm_307_afterif
; source: test_word_lt.p8:2499 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:2501 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl5a
; source: test_word_lt.p8:2503 goto skip5a
bra p8l_skip5a
; source: test_word_lt.p8:2504 lbl5a: success++
p8l_lbl5a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2505 skip5a:
p8l_skip5a
; source: test_word_lt.p8:2507 cx16.r3 = &lbl5b
lda #<p8l_lbl5b
ldy #>p8l_lbl5b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2508 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2510 goto skip5b
bra p8l_skip5b
; source: test_word_lt.p8:2511 lbl5b: success++
p8l_lbl5b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2512 skip5b:
p8l_skip5b
; source: test_word_lt.p8:2514 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_309_afterif
; source: test_word_lt.p8:2515 success++
inc p8b_main.p8v_success
label_asm_309_afterif
; source: test_word_lt.p8:2518 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_311_else
; source: test_word_lt.p8:2519 success++
inc p8b_main.p8v_success
bra label_asm_310_afterif
label_asm_311_else
; source: test_word_lt.p8:2521 cx16.r0L++
inc cx16.r0L
label_asm_310_afterif
; source: test_word_lt.p8:2523 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:2525 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl6a
; source: test_word_lt.p8:2527 goto skip6a
bra p8l_skip6a
; source: test_word_lt.p8:2528 lbl6a: success++
p8l_lbl6a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2529 skip6a:
p8l_skip6a
; source: test_word_lt.p8:2531 cx16.r3 = &lbl6b
lda #<p8l_lbl6b
ldy #>p8l_lbl6b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2532 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2534 goto skip6b
bra p8l_skip6b
; source: test_word_lt.p8:2535 lbl6b: success++
p8l_lbl6b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2536 skip6b:
p8l_skip6b
; source: test_word_lt.p8:2538 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_312_afterif
; source: test_word_lt.p8:2539 success++
inc p8b_main.p8v_success
label_asm_312_afterif
; source: test_word_lt.p8:2542 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_314_else
; source: test_word_lt.p8:2543 success++
inc p8b_main.p8v_success
bra label_asm_313_afterif
label_asm_314_else
; source: test_word_lt.p8:2545 cx16.r0L++
inc cx16.r0L
label_asm_313_afterif
; source: test_word_lt.p8:2547 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:2549 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl7a
; source: test_word_lt.p8:2551 goto skip7a
bra p8l_skip7a
; source: test_word_lt.p8:2552 lbl7a: success++
p8l_lbl7a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2553 skip7a:
p8l_skip7a
; source: test_word_lt.p8:2555 cx16.r3 = &lbl7b
lda #<p8l_lbl7b
ldy #>p8l_lbl7b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2556 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2558 goto skip7b
bra p8l_skip7b
; source: test_word_lt.p8:2559 lbl7b: success++
p8l_lbl7b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2560 skip7b:
p8l_skip7b
; source: test_word_lt.p8:2562 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_315_afterif
; source: test_word_lt.p8:2563 success++
inc p8b_main.p8v_success
label_asm_315_afterif
; source: test_word_lt.p8:2566 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_317_else
; source: test_word_lt.p8:2567 success++
inc p8b_main.p8v_success
bra label_asm_316_afterif
label_asm_317_else
; source: test_word_lt.p8:2569 cx16.r0L++
inc cx16.r0L
label_asm_316_afterif
; source: test_word_lt.p8:2571 x=-1
lda #<-1
ldy #>-1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:2572 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:2574 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl8a
; source: test_word_lt.p8:2576 goto skip8a
bra p8l_skip8a
; source: test_word_lt.p8:2577 lbl8a: fail_word(229)
p8l_lbl8a
ldy #>$e5
lda #<$e5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2578 skip8a:
p8l_skip8a
; source: test_word_lt.p8:2580 cx16.r3 = &lbl8b
lda #<p8l_lbl8b
ldy #>p8l_lbl8b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2581 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2583 goto skip8b
bra p8l_skip8b
; source: test_word_lt.p8:2584 lbl8b: fail_word(230)
p8l_lbl8b
ldy #>$e6
lda #<$e6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2585 skip8b:
p8l_skip8b
; source: test_word_lt.p8:2587 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_318_afterif
; source: test_word_lt.p8:2588 fail_word(231)
ldy #>$e7
lda #<$e7
jsr p8b_main.p8s_fail_word
label_asm_318_afterif
; source: test_word_lt.p8:2591 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_320_else
; source: test_word_lt.p8:2592 fail_word(232)
ldy #>$e8
lda #<$e8
jsr p8b_main.p8s_fail_word
bra label_asm_319_afterif
label_asm_320_else
; source: test_word_lt.p8:2594 success++
inc p8b_main.p8v_success
label_asm_319_afterif
; source: test_word_lt.p8:2596 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:2598 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl9a
; source: test_word_lt.p8:2600 goto skip9a
bra p8l_skip9a
; source: test_word_lt.p8:2601 lbl9a: fail_word(233)
p8l_lbl9a
ldy #>$e9
lda #<$e9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2602 skip9a:
p8l_skip9a
; source: test_word_lt.p8:2604 cx16.r3 = &lbl9b
lda #<p8l_lbl9b
ldy #>p8l_lbl9b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2605 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2607 goto skip9b
bra p8l_skip9b
; source: test_word_lt.p8:2608 lbl9b: fail_word(234)
p8l_lbl9b
ldy #>$ea
lda #<$ea
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2609 skip9b:
p8l_skip9b
; source: test_word_lt.p8:2611 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_321_afterif
; source: test_word_lt.p8:2612 fail_word(235)
ldy #>$eb
lda #<$eb
jsr p8b_main.p8s_fail_word
label_asm_321_afterif
; source: test_word_lt.p8:2615 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_323_else
; source: test_word_lt.p8:2616 fail_word(236)
ldy #>$ec
lda #<$ec
jsr p8b_main.p8s_fail_word
bra label_asm_322_afterif
label_asm_323_else
; source: test_word_lt.p8:2618 success++
inc p8b_main.p8v_success
label_asm_322_afterif
; source: test_word_lt.p8:2620 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:2622 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl10a
; source: test_word_lt.p8:2624 goto skip10a
bra p8l_skip10a
; source: test_word_lt.p8:2625 lbl10a: success++
p8l_lbl10a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2626 skip10a:
p8l_skip10a
; source: test_word_lt.p8:2628 cx16.r3 = &lbl10b
lda #<p8l_lbl10b
ldy #>p8l_lbl10b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2629 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2631 goto skip10b
bra p8l_skip10b
; source: test_word_lt.p8:2632 lbl10b: success++
p8l_lbl10b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2633 skip10b:
p8l_skip10b
; source: test_word_lt.p8:2635 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_324_afterif
; source: test_word_lt.p8:2636 success++
inc p8b_main.p8v_success
label_asm_324_afterif
; source: test_word_lt.p8:2639 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_326_else
; source: test_word_lt.p8:2640 success++
inc p8b_main.p8v_success
bra label_asm_325_afterif
label_asm_326_else
; source: test_word_lt.p8:2642 cx16.r0L++
inc cx16.r0L
label_asm_325_afterif
; source: test_word_lt.p8:2644 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:2646 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl11a
; source: test_word_lt.p8:2648 goto skip11a
bra p8l_skip11a
; source: test_word_lt.p8:2649 lbl11a: success++
p8l_lbl11a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2650 skip11a:
p8l_skip11a
; source: test_word_lt.p8:2652 cx16.r3 = &lbl11b
lda #<p8l_lbl11b
ldy #>p8l_lbl11b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2653 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2655 goto skip11b
bra p8l_skip11b
; source: test_word_lt.p8:2656 lbl11b: success++
p8l_lbl11b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2657 skip11b:
p8l_skip11b
; source: test_word_lt.p8:2659 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_327_afterif
; source: test_word_lt.p8:2660 success++
inc p8b_main.p8v_success
label_asm_327_afterif
; source: test_word_lt.p8:2663 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_329_else
; source: test_word_lt.p8:2664 success++
inc p8b_main.p8v_success
bra label_asm_328_afterif
label_asm_329_else
; source: test_word_lt.p8:2666 cx16.r0L++
inc cx16.r0L
label_asm_328_afterif
; source: test_word_lt.p8:2668 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:2670 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl12a
; source: test_word_lt.p8:2672 goto skip12a
bra p8l_skip12a
; source: test_word_lt.p8:2673 lbl12a: success++
p8l_lbl12a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2674 skip12a:
p8l_skip12a
; source: test_word_lt.p8:2676 cx16.r3 = &lbl12b
lda #<p8l_lbl12b
ldy #>p8l_lbl12b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2677 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2679 goto skip12b
bra p8l_skip12b
; source: test_word_lt.p8:2680 lbl12b: success++
p8l_lbl12b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2681 skip12b:
p8l_skip12b
; source: test_word_lt.p8:2683 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_330_afterif
; source: test_word_lt.p8:2684 success++
inc p8b_main.p8v_success
label_asm_330_afterif
; source: test_word_lt.p8:2687 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_332_else
; source: test_word_lt.p8:2688 success++
inc p8b_main.p8v_success
bra label_asm_331_afterif
label_asm_332_else
; source: test_word_lt.p8:2690 cx16.r0L++
inc cx16.r0L
label_asm_331_afterif
; source: test_word_lt.p8:2692 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:2694 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl13a
; source: test_word_lt.p8:2696 goto skip13a
bra p8l_skip13a
; source: test_word_lt.p8:2697 lbl13a: success++
p8l_lbl13a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2698 skip13a:
p8l_skip13a
; source: test_word_lt.p8:2700 cx16.r3 = &lbl13b
lda #<p8l_lbl13b
ldy #>p8l_lbl13b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2701 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2703 goto skip13b
bra p8l_skip13b
; source: test_word_lt.p8:2704 lbl13b: success++
p8l_lbl13b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2705 skip13b:
p8l_skip13b
; source: test_word_lt.p8:2707 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_333_afterif
; source: test_word_lt.p8:2708 success++
inc p8b_main.p8v_success
label_asm_333_afterif
; source: test_word_lt.p8:2711 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_335_else
; source: test_word_lt.p8:2712 success++
inc p8b_main.p8v_success
bra label_asm_334_afterif
label_asm_335_else
; source: test_word_lt.p8:2714 cx16.r0L++
inc cx16.r0L
label_asm_334_afterif
; source: test_word_lt.p8:2716 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:2718 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl14a
; source: test_word_lt.p8:2720 goto skip14a
bra p8l_skip14a
; source: test_word_lt.p8:2721 lbl14a: success++
p8l_lbl14a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2722 skip14a:
p8l_skip14a
; source: test_word_lt.p8:2724 cx16.r3 = &lbl14b
lda #<p8l_lbl14b
ldy #>p8l_lbl14b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2725 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2727 goto skip14b
bra p8l_skip14b
; source: test_word_lt.p8:2728 lbl14b: success++
p8l_lbl14b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2729 skip14b:
p8l_skip14b
; source: test_word_lt.p8:2731 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_336_afterif
; source: test_word_lt.p8:2732 success++
inc p8b_main.p8v_success
label_asm_336_afterif
; source: test_word_lt.p8:2735 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_338_else
; source: test_word_lt.p8:2736 success++
inc p8b_main.p8v_success
bra label_asm_337_afterif
label_asm_338_else
; source: test_word_lt.p8:2738 cx16.r0L++
inc cx16.r0L
label_asm_337_afterif
; source: test_word_lt.p8:2740 x=0
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:2741 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:2743 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl15a
; source: test_word_lt.p8:2745 goto skip15a
bra p8l_skip15a
; source: test_word_lt.p8:2746 lbl15a: fail_word(237)
p8l_lbl15a
ldy #>$ed
lda #<$ed
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2747 skip15a:
p8l_skip15a
; source: test_word_lt.p8:2749 cx16.r3 = &lbl15b
lda #<p8l_lbl15b
ldy #>p8l_lbl15b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2750 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2752 goto skip15b
bra p8l_skip15b
; source: test_word_lt.p8:2753 lbl15b: fail_word(238)
p8l_lbl15b
ldy #>$ee
lda #<$ee
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2754 skip15b:
p8l_skip15b
; source: test_word_lt.p8:2756 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_339_afterif
; source: test_word_lt.p8:2757 fail_word(239)
ldy #>$ef
lda #<$ef
jsr p8b_main.p8s_fail_word
label_asm_339_afterif
; source: test_word_lt.p8:2760 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_341_else
; source: test_word_lt.p8:2761 fail_word(240)
ldy #>$f0
lda #<$f0
jsr p8b_main.p8s_fail_word
bra label_asm_340_afterif
label_asm_341_else
; source: test_word_lt.p8:2763 success++
inc p8b_main.p8v_success
label_asm_340_afterif
; source: test_word_lt.p8:2765 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:2767 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl16a
; source: test_word_lt.p8:2769 goto skip16a
bra p8l_skip16a
; source: test_word_lt.p8:2770 lbl16a: fail_word(241)
p8l_lbl16a
ldy #>$f1
lda #<$f1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2771 skip16a:
p8l_skip16a
; source: test_word_lt.p8:2773 cx16.r3 = &lbl16b
lda #<p8l_lbl16b
ldy #>p8l_lbl16b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2774 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2776 goto skip16b
bra p8l_skip16b
; source: test_word_lt.p8:2777 lbl16b: fail_word(242)
p8l_lbl16b
ldy #>$f2
lda #<$f2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2778 skip16b:
p8l_skip16b
; source: test_word_lt.p8:2780 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_342_afterif
; source: test_word_lt.p8:2781 fail_word(243)
ldy #>$f3
lda #<$f3
jsr p8b_main.p8s_fail_word
label_asm_342_afterif
; source: test_word_lt.p8:2784 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_344_else
; source: test_word_lt.p8:2785 fail_word(244)
ldy #>$f4
lda #<$f4
jsr p8b_main.p8s_fail_word
bra label_asm_343_afterif
label_asm_344_else
; source: test_word_lt.p8:2787 success++
inc p8b_main.p8v_success
label_asm_343_afterif
; source: test_word_lt.p8:2789 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:2791 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl17a
; source: test_word_lt.p8:2793 goto skip17a
bra p8l_skip17a
; source: test_word_lt.p8:2794 lbl17a: fail_word(245)
p8l_lbl17a
ldy #>$f5
lda #<$f5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2795 skip17a:
p8l_skip17a
; source: test_word_lt.p8:2797 cx16.r3 = &lbl17b
lda #<p8l_lbl17b
ldy #>p8l_lbl17b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2798 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2800 goto skip17b
bra p8l_skip17b
; source: test_word_lt.p8:2801 lbl17b: fail_word(246)
p8l_lbl17b
ldy #>$f6
lda #<$f6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2802 skip17b:
p8l_skip17b
; source: test_word_lt.p8:2804 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_345_afterif
; source: test_word_lt.p8:2805 fail_word(247)
ldy #>$f7
lda #<$f7
jsr p8b_main.p8s_fail_word
label_asm_345_afterif
; source: test_word_lt.p8:2808 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_347_else
; source: test_word_lt.p8:2809 fail_word(248)
ldy #>$f8
lda #<$f8
jsr p8b_main.p8s_fail_word
bra label_asm_346_afterif
label_asm_347_else
; source: test_word_lt.p8:2811 success++
inc p8b_main.p8v_success
label_asm_346_afterif
; source: test_word_lt.p8:2813 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:2815 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl18a
; source: test_word_lt.p8:2817 goto skip18a
bra p8l_skip18a
; source: test_word_lt.p8:2818 lbl18a: success++
p8l_lbl18a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2819 skip18a:
p8l_skip18a
; source: test_word_lt.p8:2821 cx16.r3 = &lbl18b
lda #<p8l_lbl18b
ldy #>p8l_lbl18b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2822 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2824 goto skip18b
bra p8l_skip18b
; source: test_word_lt.p8:2825 lbl18b: success++
p8l_lbl18b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2826 skip18b:
p8l_skip18b
; source: test_word_lt.p8:2828 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_348_afterif
; source: test_word_lt.p8:2829 success++
inc p8b_main.p8v_success
label_asm_348_afterif
; source: test_word_lt.p8:2832 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_350_else
; source: test_word_lt.p8:2833 success++
inc p8b_main.p8v_success
bra label_asm_349_afterif
label_asm_350_else
; source: test_word_lt.p8:2835 cx16.r0L++
inc cx16.r0L
label_asm_349_afterif
; source: test_word_lt.p8:2837 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:2839 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl19a
; source: test_word_lt.p8:2841 goto skip19a
bra p8l_skip19a
; source: test_word_lt.p8:2842 lbl19a: success++
p8l_lbl19a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2843 skip19a:
p8l_skip19a
; source: test_word_lt.p8:2845 cx16.r3 = &lbl19b
lda #<p8l_lbl19b
ldy #>p8l_lbl19b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2846 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2848 goto skip19b
bra p8l_skip19b
; source: test_word_lt.p8:2849 lbl19b: success++
p8l_lbl19b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2850 skip19b:
p8l_skip19b
; source: test_word_lt.p8:2852 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_351_afterif
; source: test_word_lt.p8:2853 success++
inc p8b_main.p8v_success
label_asm_351_afterif
; source: test_word_lt.p8:2856 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_353_else
; source: test_word_lt.p8:2857 success++
inc p8b_main.p8v_success
bra label_asm_352_afterif
label_asm_353_else
; source: test_word_lt.p8:2859 cx16.r0L++
inc cx16.r0L
label_asm_352_afterif
; source: test_word_lt.p8:2861 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:2863 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl20a
; source: test_word_lt.p8:2865 goto skip20a
bra p8l_skip20a
; source: test_word_lt.p8:2866 lbl20a: success++
p8l_lbl20a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2867 skip20a:
p8l_skip20a
; source: test_word_lt.p8:2869 cx16.r3 = &lbl20b
lda #<p8l_lbl20b
ldy #>p8l_lbl20b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2870 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2872 goto skip20b
bra p8l_skip20b
; source: test_word_lt.p8:2873 lbl20b: success++
p8l_lbl20b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2874 skip20b:
p8l_skip20b
; source: test_word_lt.p8:2876 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_354_afterif
; source: test_word_lt.p8:2877 success++
inc p8b_main.p8v_success
label_asm_354_afterif
; source: test_word_lt.p8:2880 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_356_else
; source: test_word_lt.p8:2881 success++
inc p8b_main.p8v_success
bra label_asm_355_afterif
label_asm_356_else
; source: test_word_lt.p8:2883 cx16.r0L++
inc cx16.r0L
label_asm_355_afterif
; source: test_word_lt.p8:2885 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:2887 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl21a
; source: test_word_lt.p8:2889 goto skip21a
bra p8l_skip21a
; source: test_word_lt.p8:2890 lbl21a: success++
p8l_lbl21a
inc p8b_main.p8v_success
; source: test_word_lt.p8:2891 skip21a:
p8l_skip21a
; source: test_word_lt.p8:2893 cx16.r3 = &lbl21b
lda #<p8l_lbl21b
ldy #>p8l_lbl21b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2894 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2896 goto skip21b
bra p8l_skip21b
; source: test_word_lt.p8:2897 lbl21b: success++
p8l_lbl21b
inc p8b_main.p8v_success
; source: test_word_lt.p8:2898 skip21b:
p8l_skip21b
; source: test_word_lt.p8:2900 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_357_afterif
; source: test_word_lt.p8:2901 success++
inc p8b_main.p8v_success
label_asm_357_afterif
; source: test_word_lt.p8:2904 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_359_else
; source: test_word_lt.p8:2905 success++
inc p8b_main.p8v_success
bra label_asm_358_afterif
label_asm_359_else
; source: test_word_lt.p8:2907 cx16.r0L++
inc cx16.r0L
label_asm_358_afterif
; source: test_word_lt.p8:2909 x=1
lda #<1
ldy #>1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:2910 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:2912 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl22a
; source: test_word_lt.p8:2914 goto skip22a
bra p8l_skip22a
; source: test_word_lt.p8:2915 lbl22a: fail_word(249)
p8l_lbl22a
ldy #>$f9
lda #<$f9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2916 skip22a:
p8l_skip22a
; source: test_word_lt.p8:2918 cx16.r3 = &lbl22b
lda #<p8l_lbl22b
ldy #>p8l_lbl22b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2919 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2921 goto skip22b
bra p8l_skip22b
; source: test_word_lt.p8:2922 lbl22b: fail_word(250)
p8l_lbl22b
ldy #>$fa
lda #<$fa
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2923 skip22b:
p8l_skip22b
; source: test_word_lt.p8:2925 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_360_afterif
; source: test_word_lt.p8:2926 fail_word(251)
ldy #>$fb
lda #<$fb
jsr p8b_main.p8s_fail_word
label_asm_360_afterif
; source: test_word_lt.p8:2929 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_362_else
; source: test_word_lt.p8:2930 fail_word(252)
ldy #>$fc
lda #<$fc
jsr p8b_main.p8s_fail_word
bra label_asm_361_afterif
label_asm_362_else
; source: test_word_lt.p8:2932 success++
inc p8b_main.p8v_success
label_asm_361_afterif
; source: test_word_lt.p8:2934 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:2936 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl23a
; source: test_word_lt.p8:2938 goto skip23a
bra p8l_skip23a
; source: test_word_lt.p8:2939 lbl23a: fail_word(253)
p8l_lbl23a
ldy #>$fd
lda #<$fd
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2940 skip23a:
p8l_skip23a
; source: test_word_lt.p8:2942 cx16.r3 = &lbl23b
lda #<p8l_lbl23b
ldy #>p8l_lbl23b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2943 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2945 goto skip23b
bra p8l_skip23b
; source: test_word_lt.p8:2946 lbl23b: fail_word(254)
p8l_lbl23b
ldy #>$fe
lda #<$fe
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2947 skip23b:
p8l_skip23b
; source: test_word_lt.p8:2949 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_363_afterif
; source: test_word_lt.p8:2950 fail_word(255)
ldy #>$ff
lda #<$ff
jsr p8b_main.p8s_fail_word
label_asm_363_afterif
; source: test_word_lt.p8:2953 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_365_else
; source: test_word_lt.p8:2954 fail_word(256)
ldy #>$0100
lda #<$0100
jsr p8b_main.p8s_fail_word
bra label_asm_364_afterif
label_asm_365_else
; source: test_word_lt.p8:2956 success++
inc p8b_main.p8v_success
label_asm_364_afterif
; source: test_word_lt.p8:2958 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:2960 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl24a
; source: test_word_lt.p8:2962 goto skip24a
bra p8l_skip24a
; source: test_word_lt.p8:2963 lbl24a: fail_word(257)
p8l_lbl24a
ldy #>$0101
lda #<$0101
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2964 skip24a:
p8l_skip24a
; source: test_word_lt.p8:2966 cx16.r3 = &lbl24b
lda #<p8l_lbl24b
ldy #>p8l_lbl24b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2967 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2969 goto skip24b
bra p8l_skip24b
; source: test_word_lt.p8:2970 lbl24b: fail_word(258)
p8l_lbl24b
ldy #>$0102
lda #<$0102
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2971 skip24b:
p8l_skip24b
; source: test_word_lt.p8:2973 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_366_afterif
; source: test_word_lt.p8:2974 fail_word(259)
ldy #>$0103
lda #<$0103
jsr p8b_main.p8s_fail_word
label_asm_366_afterif
; source: test_word_lt.p8:2977 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_368_else
; source: test_word_lt.p8:2978 fail_word(260)
ldy #>$0104
lda #<$0104
jsr p8b_main.p8s_fail_word
bra label_asm_367_afterif
label_asm_368_else
; source: test_word_lt.p8:2980 success++
inc p8b_main.p8v_success
label_asm_367_afterif
; source: test_word_lt.p8:2982 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:2984 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl25a
; source: test_word_lt.p8:2986 goto skip25a
bra p8l_skip25a
; source: test_word_lt.p8:2987 lbl25a: fail_word(261)
p8l_lbl25a
ldy #>$0105
lda #<$0105
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2988 skip25a:
p8l_skip25a
; source: test_word_lt.p8:2990 cx16.r3 = &lbl25b
lda #<p8l_lbl25b
ldy #>p8l_lbl25b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:2991 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:2993 goto skip25b
bra p8l_skip25b
; source: test_word_lt.p8:2994 lbl25b: fail_word(262)
p8l_lbl25b
ldy #>$0106
lda #<$0106
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:2995 skip25b:
p8l_skip25b
; source: test_word_lt.p8:2997 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_369_afterif
; source: test_word_lt.p8:2998 fail_word(263)
ldy #>$0107
lda #<$0107
jsr p8b_main.p8s_fail_word
label_asm_369_afterif
; source: test_word_lt.p8:3001 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_371_else
; source: test_word_lt.p8:3002 fail_word(264)
ldy #>$0108
lda #<$0108
jsr p8b_main.p8s_fail_word
bra label_asm_370_afterif
label_asm_371_else
; source: test_word_lt.p8:3004 success++
inc p8b_main.p8v_success
label_asm_370_afterif
; source: test_word_lt.p8:3006 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:3008 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl26a
; source: test_word_lt.p8:3010 goto skip26a
bra p8l_skip26a
; source: test_word_lt.p8:3011 lbl26a: success++
p8l_lbl26a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3012 skip26a:
p8l_skip26a
; source: test_word_lt.p8:3014 cx16.r3 = &lbl26b
lda #<p8l_lbl26b
ldy #>p8l_lbl26b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3015 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3017 goto skip26b
bra p8l_skip26b
; source: test_word_lt.p8:3018 lbl26b: success++
p8l_lbl26b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3019 skip26b:
p8l_skip26b
; source: test_word_lt.p8:3021 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_372_afterif
; source: test_word_lt.p8:3022 success++
inc p8b_main.p8v_success
label_asm_372_afterif
; source: test_word_lt.p8:3025 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_374_else
; source: test_word_lt.p8:3026 success++
inc p8b_main.p8v_success
bra label_asm_373_afterif
label_asm_374_else
; source: test_word_lt.p8:3028 cx16.r0L++
inc cx16.r0L
label_asm_373_afterif
; source: test_word_lt.p8:3030 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:3032 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl27a
; source: test_word_lt.p8:3034 goto skip27a
bra p8l_skip27a
; source: test_word_lt.p8:3035 lbl27a: success++
p8l_lbl27a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3036 skip27a:
p8l_skip27a
; source: test_word_lt.p8:3038 cx16.r3 = &lbl27b
lda #<p8l_lbl27b
ldy #>p8l_lbl27b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3039 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3041 goto skip27b
bra p8l_skip27b
; source: test_word_lt.p8:3042 lbl27b: success++
p8l_lbl27b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3043 skip27b:
p8l_skip27b
; source: test_word_lt.p8:3045 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_375_afterif
; source: test_word_lt.p8:3046 success++
inc p8b_main.p8v_success
label_asm_375_afterif
; source: test_word_lt.p8:3049 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_377_else
; source: test_word_lt.p8:3050 success++
inc p8b_main.p8v_success
bra label_asm_376_afterif
label_asm_377_else
; source: test_word_lt.p8:3052 cx16.r0L++
inc cx16.r0L
label_asm_376_afterif
; source: test_word_lt.p8:3054 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:3056 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl28a
; source: test_word_lt.p8:3058 goto skip28a
bra p8l_skip28a
; source: test_word_lt.p8:3059 lbl28a: success++
p8l_lbl28a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3060 skip28a:
p8l_skip28a
; source: test_word_lt.p8:3062 cx16.r3 = &lbl28b
lda #<p8l_lbl28b
ldy #>p8l_lbl28b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3063 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3065 goto skip28b
bra p8l_skip28b
; source: test_word_lt.p8:3066 lbl28b: success++
p8l_lbl28b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3067 skip28b:
p8l_skip28b
; source: test_word_lt.p8:3069 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_378_afterif
; source: test_word_lt.p8:3070 success++
inc p8b_main.p8v_success
label_asm_378_afterif
; source: test_word_lt.p8:3073 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_380_else
; source: test_word_lt.p8:3074 success++
inc p8b_main.p8v_success
bra label_asm_379_afterif
label_asm_380_else
; source: test_word_lt.p8:3076 cx16.r0L++
inc cx16.r0L
label_asm_379_afterif
; source: test_word_lt.p8:3078 x=170
lda #<$aa
ldy #>$aa
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:3079 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:3081 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl29a
; source: test_word_lt.p8:3083 goto skip29a
bra p8l_skip29a
; source: test_word_lt.p8:3084 lbl29a: fail_word(265)
p8l_lbl29a
ldy #>$0109
lda #<$0109
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3085 skip29a:
p8l_skip29a
; source: test_word_lt.p8:3087 cx16.r3 = &lbl29b
lda #<p8l_lbl29b
ldy #>p8l_lbl29b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3088 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3090 goto skip29b
bra p8l_skip29b
; source: test_word_lt.p8:3091 lbl29b: fail_word(266)
p8l_lbl29b
ldy #>$010a
lda #<$010a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3092 skip29b:
p8l_skip29b
; source: test_word_lt.p8:3094 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_381_afterif
; source: test_word_lt.p8:3095 fail_word(267)
ldy #>$010b
lda #<$010b
jsr p8b_main.p8s_fail_word
label_asm_381_afterif
; source: test_word_lt.p8:3098 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_383_else
; source: test_word_lt.p8:3099 fail_word(268)
ldy #>$010c
lda #<$010c
jsr p8b_main.p8s_fail_word
bra label_asm_382_afterif
label_asm_383_else
; source: test_word_lt.p8:3101 success++
inc p8b_main.p8v_success
label_asm_382_afterif
; source: test_word_lt.p8:3103 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:3105 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl30a
; source: test_word_lt.p8:3107 goto skip30a
bra p8l_skip30a
; source: test_word_lt.p8:3108 lbl30a: fail_word(269)
p8l_lbl30a
ldy #>$010d
lda #<$010d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3109 skip30a:
p8l_skip30a
; source: test_word_lt.p8:3111 cx16.r3 = &lbl30b
lda #<p8l_lbl30b
ldy #>p8l_lbl30b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3112 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3114 goto skip30b
bra p8l_skip30b
; source: test_word_lt.p8:3115 lbl30b: fail_word(270)
p8l_lbl30b
ldy #>$010e
lda #<$010e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3116 skip30b:
p8l_skip30b
; source: test_word_lt.p8:3118 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_384_afterif
; source: test_word_lt.p8:3119 fail_word(271)
ldy #>$010f
lda #<$010f
jsr p8b_main.p8s_fail_word
label_asm_384_afterif
; source: test_word_lt.p8:3122 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_386_else
; source: test_word_lt.p8:3123 fail_word(272)
ldy #>$0110
lda #<$0110
jsr p8b_main.p8s_fail_word
bra label_asm_385_afterif
label_asm_386_else
; source: test_word_lt.p8:3125 success++
inc p8b_main.p8v_success
label_asm_385_afterif
; source: test_word_lt.p8:3127 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:3129 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl31a
; source: test_word_lt.p8:3131 goto skip31a
bra p8l_skip31a
; source: test_word_lt.p8:3132 lbl31a: fail_word(273)
p8l_lbl31a
ldy #>$0111
lda #<$0111
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3133 skip31a:
p8l_skip31a
; source: test_word_lt.p8:3135 cx16.r3 = &lbl31b
lda #<p8l_lbl31b
ldy #>p8l_lbl31b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3136 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3138 goto skip31b
bra p8l_skip31b
; source: test_word_lt.p8:3139 lbl31b: fail_word(274)
p8l_lbl31b
ldy #>$0112
lda #<$0112
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3140 skip31b:
p8l_skip31b
; source: test_word_lt.p8:3142 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_387_afterif
; source: test_word_lt.p8:3143 fail_word(275)
ldy #>$0113
lda #<$0113
jsr p8b_main.p8s_fail_word
label_asm_387_afterif
; source: test_word_lt.p8:3146 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_389_else
; source: test_word_lt.p8:3147 fail_word(276)
ldy #>$0114
lda #<$0114
jsr p8b_main.p8s_fail_word
bra label_asm_388_afterif
label_asm_389_else
; source: test_word_lt.p8:3149 success++
inc p8b_main.p8v_success
label_asm_388_afterif
; source: test_word_lt.p8:3151 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:3153 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl32a
; source: test_word_lt.p8:3155 goto skip32a
bra p8l_skip32a
; source: test_word_lt.p8:3156 lbl32a: fail_word(277)
p8l_lbl32a
ldy #>$0115
lda #<$0115
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3157 skip32a:
p8l_skip32a
; source: test_word_lt.p8:3159 cx16.r3 = &lbl32b
lda #<p8l_lbl32b
ldy #>p8l_lbl32b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3160 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3162 goto skip32b
bra p8l_skip32b
; source: test_word_lt.p8:3163 lbl32b: fail_word(278)
p8l_lbl32b
ldy #>$0116
lda #<$0116
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3164 skip32b:
p8l_skip32b
; source: test_word_lt.p8:3166 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_390_afterif
; source: test_word_lt.p8:3167 fail_word(279)
ldy #>$0117
lda #<$0117
jsr p8b_main.p8s_fail_word
label_asm_390_afterif
; source: test_word_lt.p8:3170 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_392_else
; source: test_word_lt.p8:3171 fail_word(280)
ldy #>$0118
lda #<$0118
jsr p8b_main.p8s_fail_word
bra label_asm_391_afterif
label_asm_392_else
; source: test_word_lt.p8:3173 success++
inc p8b_main.p8v_success
label_asm_391_afterif
; source: test_word_lt.p8:3175 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:3177 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl33a
; source: test_word_lt.p8:3179 goto skip33a
bra p8l_skip33a
; source: test_word_lt.p8:3180 lbl33a: fail_word(281)
p8l_lbl33a
ldy #>$0119
lda #<$0119
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3181 skip33a:
p8l_skip33a
; source: test_word_lt.p8:3183 cx16.r3 = &lbl33b
lda #<p8l_lbl33b
ldy #>p8l_lbl33b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3184 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3186 goto skip33b
bra p8l_skip33b
; source: test_word_lt.p8:3187 lbl33b: fail_word(282)
p8l_lbl33b
ldy #>$011a
lda #<$011a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3188 skip33b:
p8l_skip33b
; source: test_word_lt.p8:3190 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_393_afterif
; source: test_word_lt.p8:3191 fail_word(283)
ldy #>$011b
lda #<$011b
jsr p8b_main.p8s_fail_word
label_asm_393_afterif
; source: test_word_lt.p8:3194 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_395_else
; source: test_word_lt.p8:3195 fail_word(284)
ldy #>$011c
lda #<$011c
jsr p8b_main.p8s_fail_word
bra label_asm_394_afterif
label_asm_395_else
; source: test_word_lt.p8:3197 success++
inc p8b_main.p8v_success
label_asm_394_afterif
; source: test_word_lt.p8:3199 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:3201 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl34a
; source: test_word_lt.p8:3203 goto skip34a
bra p8l_skip34a
; source: test_word_lt.p8:3204 lbl34a: success++
p8l_lbl34a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3205 skip34a:
p8l_skip34a
; source: test_word_lt.p8:3207 cx16.r3 = &lbl34b
lda #<p8l_lbl34b
ldy #>p8l_lbl34b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3208 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3210 goto skip34b
bra p8l_skip34b
; source: test_word_lt.p8:3211 lbl34b: success++
p8l_lbl34b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3212 skip34b:
p8l_skip34b
; source: test_word_lt.p8:3214 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_396_afterif
; source: test_word_lt.p8:3215 success++
inc p8b_main.p8v_success
label_asm_396_afterif
; source: test_word_lt.p8:3218 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_398_else
; source: test_word_lt.p8:3219 success++
inc p8b_main.p8v_success
bra label_asm_397_afterif
label_asm_398_else
; source: test_word_lt.p8:3221 cx16.r0L++
inc cx16.r0L
label_asm_397_afterif
; source: test_word_lt.p8:3223 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:3225 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl35a
; source: test_word_lt.p8:3227 goto skip35a
bra p8l_skip35a
; source: test_word_lt.p8:3228 lbl35a: success++
p8l_lbl35a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3229 skip35a:
p8l_skip35a
; source: test_word_lt.p8:3231 cx16.r3 = &lbl35b
lda #<p8l_lbl35b
ldy #>p8l_lbl35b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3232 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3234 goto skip35b
bra p8l_skip35b
; source: test_word_lt.p8:3235 lbl35b: success++
p8l_lbl35b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3236 skip35b:
p8l_skip35b
; source: test_word_lt.p8:3238 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_399_afterif
; source: test_word_lt.p8:3239 success++
inc p8b_main.p8v_success
label_asm_399_afterif
; source: test_word_lt.p8:3242 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_401_else
; source: test_word_lt.p8:3243 success++
inc p8b_main.p8v_success
bra label_asm_400_afterif
label_asm_401_else
; source: test_word_lt.p8:3245 cx16.r0L++
inc cx16.r0L
label_asm_400_afterif
; source: test_word_lt.p8:3247 x=30464
lda #<$7700
ldy #>$7700
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:3248 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:3250 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl36a
; source: test_word_lt.p8:3252 goto skip36a
bra p8l_skip36a
; source: test_word_lt.p8:3253 lbl36a: fail_word(285)
p8l_lbl36a
ldy #>$011d
lda #<$011d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3254 skip36a:
p8l_skip36a
; source: test_word_lt.p8:3256 cx16.r3 = &lbl36b
lda #<p8l_lbl36b
ldy #>p8l_lbl36b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3257 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3259 goto skip36b
bra p8l_skip36b
; source: test_word_lt.p8:3260 lbl36b: fail_word(286)
p8l_lbl36b
ldy #>$011e
lda #<$011e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3261 skip36b:
p8l_skip36b
; source: test_word_lt.p8:3263 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_402_afterif
; source: test_word_lt.p8:3264 fail_word(287)
ldy #>$011f
lda #<$011f
jsr p8b_main.p8s_fail_word
label_asm_402_afterif
; source: test_word_lt.p8:3267 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_404_else
; source: test_word_lt.p8:3268 fail_word(288)
ldy #>$0120
lda #<$0120
jsr p8b_main.p8s_fail_word
bra label_asm_403_afterif
label_asm_404_else
; source: test_word_lt.p8:3270 success++
inc p8b_main.p8v_success
label_asm_403_afterif
; source: test_word_lt.p8:3272 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:3274 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl37a
; source: test_word_lt.p8:3276 goto skip37a
bra p8l_skip37a
; source: test_word_lt.p8:3277 lbl37a: fail_word(289)
p8l_lbl37a
ldy #>$0121
lda #<$0121
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3278 skip37a:
p8l_skip37a
; source: test_word_lt.p8:3280 cx16.r3 = &lbl37b
lda #<p8l_lbl37b
ldy #>p8l_lbl37b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3281 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3283 goto skip37b
bra p8l_skip37b
; source: test_word_lt.p8:3284 lbl37b: fail_word(290)
p8l_lbl37b
ldy #>$0122
lda #<$0122
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3285 skip37b:
p8l_skip37b
; source: test_word_lt.p8:3287 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_405_afterif
; source: test_word_lt.p8:3288 fail_word(291)
ldy #>$0123
lda #<$0123
jsr p8b_main.p8s_fail_word
label_asm_405_afterif
; source: test_word_lt.p8:3291 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_407_else
; source: test_word_lt.p8:3292 fail_word(292)
ldy #>$0124
lda #<$0124
jsr p8b_main.p8s_fail_word
bra label_asm_406_afterif
label_asm_407_else
; source: test_word_lt.p8:3294 success++
inc p8b_main.p8v_success
label_asm_406_afterif
; source: test_word_lt.p8:3296 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:3298 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl38a
; source: test_word_lt.p8:3300 goto skip38a
bra p8l_skip38a
; source: test_word_lt.p8:3301 lbl38a: fail_word(293)
p8l_lbl38a
ldy #>$0125
lda #<$0125
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3302 skip38a:
p8l_skip38a
; source: test_word_lt.p8:3304 cx16.r3 = &lbl38b
lda #<p8l_lbl38b
ldy #>p8l_lbl38b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3305 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3307 goto skip38b
bra p8l_skip38b
; source: test_word_lt.p8:3308 lbl38b: fail_word(294)
p8l_lbl38b
ldy #>$0126
lda #<$0126
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3309 skip38b:
p8l_skip38b
; source: test_word_lt.p8:3311 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_408_afterif
; source: test_word_lt.p8:3312 fail_word(295)
ldy #>$0127
lda #<$0127
jsr p8b_main.p8s_fail_word
label_asm_408_afterif
; source: test_word_lt.p8:3315 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_410_else
; source: test_word_lt.p8:3316 fail_word(296)
ldy #>$0128
lda #<$0128
jsr p8b_main.p8s_fail_word
bra label_asm_409_afterif
label_asm_410_else
; source: test_word_lt.p8:3318 success++
inc p8b_main.p8v_success
label_asm_409_afterif
; source: test_word_lt.p8:3320 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:3322 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl39a
; source: test_word_lt.p8:3324 goto skip39a
bra p8l_skip39a
; source: test_word_lt.p8:3325 lbl39a: fail_word(297)
p8l_lbl39a
ldy #>$0129
lda #<$0129
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3326 skip39a:
p8l_skip39a
; source: test_word_lt.p8:3328 cx16.r3 = &lbl39b
lda #<p8l_lbl39b
ldy #>p8l_lbl39b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3329 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3331 goto skip39b
bra p8l_skip39b
; source: test_word_lt.p8:3332 lbl39b: fail_word(298)
p8l_lbl39b
ldy #>$012a
lda #<$012a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3333 skip39b:
p8l_skip39b
; source: test_word_lt.p8:3335 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_411_afterif
; source: test_word_lt.p8:3336 fail_word(299)
ldy #>$012b
lda #<$012b
jsr p8b_main.p8s_fail_word
label_asm_411_afterif
; source: test_word_lt.p8:3339 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_413_else
; source: test_word_lt.p8:3340 fail_word(300)
ldy #>$012c
lda #<$012c
jsr p8b_main.p8s_fail_word
bra label_asm_412_afterif
label_asm_413_else
; source: test_word_lt.p8:3342 success++
inc p8b_main.p8v_success
label_asm_412_afterif
; source: test_word_lt.p8:3344 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:3346 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl40a
; source: test_word_lt.p8:3348 goto skip40a
bra p8l_skip40a
; source: test_word_lt.p8:3349 lbl40a: fail_word(301)
p8l_lbl40a
ldy #>$012d
lda #<$012d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3350 skip40a:
p8l_skip40a
; source: test_word_lt.p8:3352 cx16.r3 = &lbl40b
lda #<p8l_lbl40b
ldy #>p8l_lbl40b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3353 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3355 goto skip40b
bra p8l_skip40b
; source: test_word_lt.p8:3356 lbl40b: fail_word(302)
p8l_lbl40b
ldy #>$012e
lda #<$012e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3357 skip40b:
p8l_skip40b
; source: test_word_lt.p8:3359 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_414_afterif
; source: test_word_lt.p8:3360 fail_word(303)
ldy #>$012f
lda #<$012f
jsr p8b_main.p8s_fail_word
label_asm_414_afterif
; source: test_word_lt.p8:3363 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_416_else
; source: test_word_lt.p8:3364 fail_word(304)
ldy #>$0130
lda #<$0130
jsr p8b_main.p8s_fail_word
bra label_asm_415_afterif
label_asm_416_else
; source: test_word_lt.p8:3366 success++
inc p8b_main.p8v_success
label_asm_415_afterif
; source: test_word_lt.p8:3368 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:3370 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl41a
; source: test_word_lt.p8:3372 goto skip41a
bra p8l_skip41a
; source: test_word_lt.p8:3373 lbl41a: fail_word(305)
p8l_lbl41a
ldy #>$0131
lda #<$0131
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3374 skip41a:
p8l_skip41a
; source: test_word_lt.p8:3376 cx16.r3 = &lbl41b
lda #<p8l_lbl41b
ldy #>p8l_lbl41b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3377 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3379 goto skip41b
bra p8l_skip41b
; source: test_word_lt.p8:3380 lbl41b: fail_word(306)
p8l_lbl41b
ldy #>$0132
lda #<$0132
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3381 skip41b:
p8l_skip41b
; source: test_word_lt.p8:3383 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_417_afterif
; source: test_word_lt.p8:3384 fail_word(307)
ldy #>$0133
lda #<$0133
jsr p8b_main.p8s_fail_word
label_asm_417_afterif
; source: test_word_lt.p8:3387 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_419_else
; source: test_word_lt.p8:3388 fail_word(308)
ldy #>$0134
lda #<$0134
jsr p8b_main.p8s_fail_word
bra label_asm_418_afterif
label_asm_419_else
; source: test_word_lt.p8:3390 success++
inc p8b_main.p8v_success
label_asm_418_afterif
; source: test_word_lt.p8:3392 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:3394 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl42a
; source: test_word_lt.p8:3396 goto skip42a
bra p8l_skip42a
; source: test_word_lt.p8:3397 lbl42a: success++
p8l_lbl42a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3398 skip42a:
p8l_skip42a
; source: test_word_lt.p8:3400 cx16.r3 = &lbl42b
lda #<p8l_lbl42b
ldy #>p8l_lbl42b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3401 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3403 goto skip42b
bra p8l_skip42b
; source: test_word_lt.p8:3404 lbl42b: success++
p8l_lbl42b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3405 skip42b:
p8l_skip42b
; source: test_word_lt.p8:3407 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_420_afterif
; source: test_word_lt.p8:3408 success++
inc p8b_main.p8v_success
label_asm_420_afterif
; source: test_word_lt.p8:3411 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_422_else
; source: test_word_lt.p8:3412 success++
inc p8b_main.p8v_success
bra label_asm_421_afterif
label_asm_422_else
; source: test_word_lt.p8:3414 cx16.r0L++
inc cx16.r0L
label_asm_421_afterif
; source: test_word_lt.p8:3416 x=32767
lda #<$7fff
ldy #>$7fff
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:3417 values[1]=-21829
ldy #2
lda #<-$5545
sta p8v_values,y
lda #>-$5545
sta p8v_values+1,y
; source: test_word_lt.p8:3419 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl43a
; source: test_word_lt.p8:3421 goto skip43a
bra p8l_skip43a
; source: test_word_lt.p8:3422 lbl43a: fail_word(309)
p8l_lbl43a
ldy #>$0135
lda #<$0135
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3423 skip43a:
p8l_skip43a
; source: test_word_lt.p8:3425 cx16.r3 = &lbl43b
lda #<p8l_lbl43b
ldy #>p8l_lbl43b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3426 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3428 goto skip43b
bra p8l_skip43b
; source: test_word_lt.p8:3429 lbl43b: fail_word(310)
p8l_lbl43b
ldy #>$0136
lda #<$0136
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3430 skip43b:
p8l_skip43b
; source: test_word_lt.p8:3432 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_423_afterif
; source: test_word_lt.p8:3433 fail_word(311)
ldy #>$0137
lda #<$0137
jsr p8b_main.p8s_fail_word
label_asm_423_afterif
; source: test_word_lt.p8:3436 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_425_else
; source: test_word_lt.p8:3437 fail_word(312)
ldy #>$0138
lda #<$0138
jsr p8b_main.p8s_fail_word
bra label_asm_424_afterif
label_asm_425_else
; source: test_word_lt.p8:3439 success++
inc p8b_main.p8v_success
label_asm_424_afterif
; source: test_word_lt.p8:3441 values[1]=-1
ldy #2
lda #<-1
sta p8v_values,y
lda #>-1
sta p8v_values+1,y
; source: test_word_lt.p8:3443 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl44a
; source: test_word_lt.p8:3445 goto skip44a
bra p8l_skip44a
; source: test_word_lt.p8:3446 lbl44a: fail_word(313)
p8l_lbl44a
ldy #>$0139
lda #<$0139
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3447 skip44a:
p8l_skip44a
; source: test_word_lt.p8:3449 cx16.r3 = &lbl44b
lda #<p8l_lbl44b
ldy #>p8l_lbl44b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3450 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3452 goto skip44b
bra p8l_skip44b
; source: test_word_lt.p8:3453 lbl44b: fail_word(314)
p8l_lbl44b
ldy #>$013a
lda #<$013a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3454 skip44b:
p8l_skip44b
; source: test_word_lt.p8:3456 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_426_afterif
; source: test_word_lt.p8:3457 fail_word(315)
ldy #>$013b
lda #<$013b
jsr p8b_main.p8s_fail_word
label_asm_426_afterif
; source: test_word_lt.p8:3460 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_428_else
; source: test_word_lt.p8:3461 fail_word(316)
ldy #>$013c
lda #<$013c
jsr p8b_main.p8s_fail_word
bra label_asm_427_afterif
label_asm_428_else
; source: test_word_lt.p8:3463 success++
inc p8b_main.p8v_success
label_asm_427_afterif
; source: test_word_lt.p8:3465 values[1]=0
ldy #2
lda #0
sta p8v_values,y
sta p8v_values+1,y
; source: test_word_lt.p8:3467 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl45a
; source: test_word_lt.p8:3469 goto skip45a
bra p8l_skip45a
; source: test_word_lt.p8:3470 lbl45a: fail_word(317)
p8l_lbl45a
ldy #>$013d
lda #<$013d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3471 skip45a:
p8l_skip45a
; source: test_word_lt.p8:3473 cx16.r3 = &lbl45b
lda #<p8l_lbl45b
ldy #>p8l_lbl45b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3474 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3476 goto skip45b
bra p8l_skip45b
; source: test_word_lt.p8:3477 lbl45b: fail_word(318)
p8l_lbl45b
ldy #>$013e
lda #<$013e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3478 skip45b:
p8l_skip45b
; source: test_word_lt.p8:3480 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_429_afterif
; source: test_word_lt.p8:3481 fail_word(319)
ldy #>$013f
lda #<$013f
jsr p8b_main.p8s_fail_word
label_asm_429_afterif
; source: test_word_lt.p8:3484 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_431_else
; source: test_word_lt.p8:3485 fail_word(320)
ldy #>$0140
lda #<$0140
jsr p8b_main.p8s_fail_word
bra label_asm_430_afterif
label_asm_431_else
; source: test_word_lt.p8:3487 success++
inc p8b_main.p8v_success
label_asm_430_afterif
; source: test_word_lt.p8:3489 values[1]=1
ldy #2
lda #<1
sta p8v_values,y
lda #>1
sta p8v_values+1,y
; source: test_word_lt.p8:3491 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl46a
; source: test_word_lt.p8:3493 goto skip46a
bra p8l_skip46a
; source: test_word_lt.p8:3494 lbl46a: fail_word(321)
p8l_lbl46a
ldy #>$0141
lda #<$0141
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3495 skip46a:
p8l_skip46a
; source: test_word_lt.p8:3497 cx16.r3 = &lbl46b
lda #<p8l_lbl46b
ldy #>p8l_lbl46b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3498 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3500 goto skip46b
bra p8l_skip46b
; source: test_word_lt.p8:3501 lbl46b: fail_word(322)
p8l_lbl46b
ldy #>$0142
lda #<$0142
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3502 skip46b:
p8l_skip46b
; source: test_word_lt.p8:3504 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_432_afterif
; source: test_word_lt.p8:3505 fail_word(323)
ldy #>$0143
lda #<$0143
jsr p8b_main.p8s_fail_word
label_asm_432_afterif
; source: test_word_lt.p8:3508 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_434_else
; source: test_word_lt.p8:3509 fail_word(324)
ldy #>$0144
lda #<$0144
jsr p8b_main.p8s_fail_word
bra label_asm_433_afterif
label_asm_434_else
; source: test_word_lt.p8:3511 success++
inc p8b_main.p8v_success
label_asm_433_afterif
; source: test_word_lt.p8:3513 values[1]=170
ldy #2
lda #<$aa
sta p8v_values,y
lda #>$aa
sta p8v_values+1,y
; source: test_word_lt.p8:3515 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl47a
; source: test_word_lt.p8:3517 goto skip47a
bra p8l_skip47a
; source: test_word_lt.p8:3518 lbl47a: fail_word(325)
p8l_lbl47a
ldy #>$0145
lda #<$0145
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3519 skip47a:
p8l_skip47a
; source: test_word_lt.p8:3521 cx16.r3 = &lbl47b
lda #<p8l_lbl47b
ldy #>p8l_lbl47b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3522 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3524 goto skip47b
bra p8l_skip47b
; source: test_word_lt.p8:3525 lbl47b: fail_word(326)
p8l_lbl47b
ldy #>$0146
lda #<$0146
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3526 skip47b:
p8l_skip47b
; source: test_word_lt.p8:3528 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_435_afterif
; source: test_word_lt.p8:3529 fail_word(327)
ldy #>$0147
lda #<$0147
jsr p8b_main.p8s_fail_word
label_asm_435_afterif
; source: test_word_lt.p8:3532 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_437_else
; source: test_word_lt.p8:3533 fail_word(328)
ldy #>$0148
lda #<$0148
jsr p8b_main.p8s_fail_word
bra label_asm_436_afterif
label_asm_437_else
; source: test_word_lt.p8:3535 success++
inc p8b_main.p8v_success
label_asm_436_afterif
; source: test_word_lt.p8:3537 values[1]=30464
ldy #2
lda #<$7700
sta p8v_values,y
lda #>$7700
sta p8v_values+1,y
; source: test_word_lt.p8:3539 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl48a
; source: test_word_lt.p8:3541 goto skip48a
bra p8l_skip48a
; source: test_word_lt.p8:3542 lbl48a: fail_word(329)
p8l_lbl48a
ldy #>$0149
lda #<$0149
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3543 skip48a:
p8l_skip48a
; source: test_word_lt.p8:3545 cx16.r3 = &lbl48b
lda #<p8l_lbl48b
ldy #>p8l_lbl48b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3546 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3548 goto skip48b
bra p8l_skip48b
; source: test_word_lt.p8:3549 lbl48b: fail_word(330)
p8l_lbl48b
ldy #>$014a
lda #<$014a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3550 skip48b:
p8l_skip48b
; source: test_word_lt.p8:3552 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_438_afterif
; source: test_word_lt.p8:3553 fail_word(331)
ldy #>$014b
lda #<$014b
jsr p8b_main.p8s_fail_word
label_asm_438_afterif
; source: test_word_lt.p8:3556 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_440_else
; source: test_word_lt.p8:3557 fail_word(332)
ldy #>$014c
lda #<$014c
jsr p8b_main.p8s_fail_word
bra label_asm_439_afterif
label_asm_440_else
; source: test_word_lt.p8:3559 success++
inc p8b_main.p8v_success
label_asm_439_afterif
; source: test_word_lt.p8:3561 values[1]=32767
ldy #2
lda #<$7fff
sta p8v_values,y
lda #>$7fff
sta p8v_values+1,y
; source: test_word_lt.p8:3563 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl49a
; source: test_word_lt.p8:3565 goto skip49a
bra p8l_skip49a
; source: test_word_lt.p8:3566 lbl49a: fail_word(333)
p8l_lbl49a
ldy #>$014d
lda #<$014d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3567 skip49a:
p8l_skip49a
; source: test_word_lt.p8:3569 cx16.r3 = &lbl49b
lda #<p8l_lbl49b
ldy #>p8l_lbl49b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3570 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3572 goto skip49b
bra p8l_skip49b
; source: test_word_lt.p8:3573 lbl49b: fail_word(334)
p8l_lbl49b
ldy #>$014e
lda #<$014e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3574 skip49b:
p8l_skip49b
; source: test_word_lt.p8:3576 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_441_afterif
; source: test_word_lt.p8:3577 fail_word(335)
ldy #>$014f
lda #<$014f
jsr p8b_main.p8s_fail_word
label_asm_441_afterif
; source: test_word_lt.p8:3580 if x<values[1]
lda p8v_values+2
ldy p8v_values+2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_443_else
; source: test_word_lt.p8:3581 fail_word(336)
ldy #>$0150
lda #<$0150
jsr p8b_main.p8s_fail_word
bra label_asm_442_afterif
label_asm_443_else
; source: test_word_lt.p8:3583 success++
inc p8b_main.p8v_success
label_asm_442_afterif
; source: test_word_lt.p8:3585 verify_success(112)
lda #$70
jmp p8b_main.p8s_verify_success
; source: test_word_lt.p8:2398 sub test_cmp_array() {
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
p8v_x .sint ?
.send BSS
; non-zeropage variables
p8v_values .sint $0000, $0000
.pend
; source: test_word_lt.p8:3587 sub test_cmp_expr() {
p8s_test_cmp_expr .proc
; statements
; source: test_word_lt.p8:3588 word @shared x
; source: test_word_lt.p8:3591 float @shared f4 = 1.0
; source: test_word_lt.p8:3592 float @shared f5 = 1.0
; source: test_word_lt.p8:3588 word @shared x
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:3589 cx16.r4 = 1
lda #<1
ldy #>1
sta cx16.r4
sty cx16.r4+1
; source: test_word_lt.p8:3590 cx16.r5 = 1
sta cx16.r5
sty cx16.r5+1
; source: test_word_lt.p8:3591 float @shared f4 = 1.0
lda #<prog8_float_const_0
ldy #>prog8_float_const_0
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
lda #<p8v_f4
ldy #>p8v_f4
jsr floats.copy_float
; source: test_word_lt.p8:3592 float @shared f5 = 1.0
lda #<p8v_f5
ldy #>p8v_f5
jsr floats.copy_float
; source: test_word_lt.p8:3593 success = 0
stz p8b_main.p8v_success
; source: test_word_lt.p8:3594 x=-21829
lda #<-$5545
ldy #>-$5545
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:3596 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl1a
; source: test_word_lt.p8:3598 goto skip1a
bra p8l_skip1a
; source: test_word_lt.p8:3599 lbl1a: fail_word(337)
p8l_lbl1a
ldy #>$0151
lda #<$0151
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3600 skip1a:
p8l_skip1a
; source: test_word_lt.p8:3602 cx16.r3 = &lbl1b
lda #<p8l_lbl1b
ldy #>p8l_lbl1b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3603 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3605 goto skip1b
bra p8l_skip1b
; source: test_word_lt.p8:3606 lbl1b: fail_word(338)
p8l_lbl1b
ldy #>$0152
lda #<$0152
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3607 skip1b:
p8l_skip1b
; source: test_word_lt.p8:3609 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_444_afterif
; source: test_word_lt.p8:3610 fail_word(339)
ldy #>$0153
lda #<$0153
jsr p8b_main.p8s_fail_word
label_asm_444_afterif
; source: test_word_lt.p8:3613 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_446_else
; source: test_word_lt.p8:3614 fail_word(340)
ldy #>$0154
lda #<$0154
jsr p8b_main.p8s_fail_word
bra label_asm_445_afterif
label_asm_446_else
; source: test_word_lt.p8:3616 success++
inc p8b_main.p8v_success
label_asm_445_afterif
; source: test_word_lt.p8:3619 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl2a
; source: test_word_lt.p8:3621 goto skip2a
bra p8l_skip2a
; source: test_word_lt.p8:3622 lbl2a: success++
p8l_lbl2a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3623 skip2a:
p8l_skip2a
; source: test_word_lt.p8:3625 cx16.r3 = &lbl2b
lda #<p8l_lbl2b
ldy #>p8l_lbl2b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3626 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3628 goto skip2b
bra p8l_skip2b
; source: test_word_lt.p8:3629 lbl2b: success++
p8l_lbl2b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3630 skip2b:
p8l_skip2b
; source: test_word_lt.p8:3632 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_447_afterif
; source: test_word_lt.p8:3633 success++
inc p8b_main.p8v_success
label_asm_447_afterif
; source: test_word_lt.p8:3636 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_449_else
; source: test_word_lt.p8:3637 success++
inc p8b_main.p8v_success
bra label_asm_448_afterif
label_asm_449_else
; source: test_word_lt.p8:3639 cx16.r0L++
inc cx16.r0L
label_asm_448_afterif
; source: test_word_lt.p8:3642 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl3a
; source: test_word_lt.p8:3644 goto skip3a
bra p8l_skip3a
; source: test_word_lt.p8:3645 lbl3a: success++
p8l_lbl3a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3646 skip3a:
p8l_skip3a
; source: test_word_lt.p8:3648 cx16.r3 = &lbl3b
lda #<p8l_lbl3b
ldy #>p8l_lbl3b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3649 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3651 goto skip3b
bra p8l_skip3b
; source: test_word_lt.p8:3652 lbl3b: success++
p8l_lbl3b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3653 skip3b:
p8l_skip3b
; source: test_word_lt.p8:3655 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_450_afterif
; source: test_word_lt.p8:3656 success++
inc p8b_main.p8v_success
label_asm_450_afterif
; source: test_word_lt.p8:3659 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_452_else
; source: test_word_lt.p8:3660 success++
inc p8b_main.p8v_success
bra label_asm_451_afterif
label_asm_452_else
; source: test_word_lt.p8:3662 cx16.r0L++
inc cx16.r0L
label_asm_451_afterif
; source: test_word_lt.p8:3665 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl4a
; source: test_word_lt.p8:3667 goto skip4a
bra p8l_skip4a
; source: test_word_lt.p8:3668 lbl4a: success++
p8l_lbl4a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3669 skip4a:
p8l_skip4a
; source: test_word_lt.p8:3671 cx16.r3 = &lbl4b
lda #<p8l_lbl4b
ldy #>p8l_lbl4b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3672 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3674 goto skip4b
bra p8l_skip4b
; source: test_word_lt.p8:3675 lbl4b: success++
p8l_lbl4b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3676 skip4b:
p8l_skip4b
; source: test_word_lt.p8:3678 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_453_afterif
; source: test_word_lt.p8:3679 success++
inc p8b_main.p8v_success
label_asm_453_afterif
; source: test_word_lt.p8:3682 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_455_else
; source: test_word_lt.p8:3683 success++
inc p8b_main.p8v_success
bra label_asm_454_afterif
label_asm_455_else
; source: test_word_lt.p8:3685 cx16.r0L++
inc cx16.r0L
label_asm_454_afterif
; source: test_word_lt.p8:3688 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl5a
; source: test_word_lt.p8:3690 goto skip5a
bra p8l_skip5a
; source: test_word_lt.p8:3691 lbl5a: success++
p8l_lbl5a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3692 skip5a:
p8l_skip5a
; source: test_word_lt.p8:3694 cx16.r3 = &lbl5b
lda #<p8l_lbl5b
ldy #>p8l_lbl5b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3695 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3697 goto skip5b
bra p8l_skip5b
; source: test_word_lt.p8:3698 lbl5b: success++
p8l_lbl5b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3699 skip5b:
p8l_skip5b
; source: test_word_lt.p8:3701 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_456_afterif
; source: test_word_lt.p8:3702 success++
inc p8b_main.p8v_success
label_asm_456_afterif
; source: test_word_lt.p8:3705 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_458_else
; source: test_word_lt.p8:3706 success++
inc p8b_main.p8v_success
bra label_asm_457_afterif
label_asm_458_else
; source: test_word_lt.p8:3708 cx16.r0L++
inc cx16.r0L
label_asm_457_afterif
; source: test_word_lt.p8:3711 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl6a
; source: test_word_lt.p8:3713 goto skip6a
bra p8l_skip6a
; source: test_word_lt.p8:3714 lbl6a: success++
p8l_lbl6a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3715 skip6a:
p8l_skip6a
; source: test_word_lt.p8:3717 cx16.r3 = &lbl6b
lda #<p8l_lbl6b
ldy #>p8l_lbl6b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3718 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3720 goto skip6b
bra p8l_skip6b
; source: test_word_lt.p8:3721 lbl6b: success++
p8l_lbl6b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3722 skip6b:
p8l_skip6b
; source: test_word_lt.p8:3724 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_459_afterif
; source: test_word_lt.p8:3725 success++
inc p8b_main.p8v_success
label_asm_459_afterif
; source: test_word_lt.p8:3728 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_461_else
; source: test_word_lt.p8:3729 success++
inc p8b_main.p8v_success
bra label_asm_460_afterif
label_asm_461_else
; source: test_word_lt.p8:3731 cx16.r0L++
inc cx16.r0L
label_asm_460_afterif
; source: test_word_lt.p8:3734 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl7a
; source: test_word_lt.p8:3736 goto skip7a
bra p8l_skip7a
; source: test_word_lt.p8:3737 lbl7a: success++
p8l_lbl7a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3738 skip7a:
p8l_skip7a
; source: test_word_lt.p8:3740 cx16.r3 = &lbl7b
lda #<p8l_lbl7b
ldy #>p8l_lbl7b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3741 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3743 goto skip7b
bra p8l_skip7b
; source: test_word_lt.p8:3744 lbl7b: success++
p8l_lbl7b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3745 skip7b:
p8l_skip7b
; source: test_word_lt.p8:3747 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_462_afterif
; source: test_word_lt.p8:3748 success++
inc p8b_main.p8v_success
label_asm_462_afterif
; source: test_word_lt.p8:3751 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_464_else
; source: test_word_lt.p8:3752 success++
inc p8b_main.p8v_success
bra label_asm_463_afterif
label_asm_464_else
; source: test_word_lt.p8:3754 cx16.r0L++
inc cx16.r0L
label_asm_463_afterif
; source: test_word_lt.p8:3756 x=-1
lda #<-1
ldy #>-1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:3758 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl8a
; source: test_word_lt.p8:3760 goto skip8a
bra p8l_skip8a
; source: test_word_lt.p8:3761 lbl8a: fail_word(341)
p8l_lbl8a
ldy #>$0155
lda #<$0155
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3762 skip8a:
p8l_skip8a
; source: test_word_lt.p8:3764 cx16.r3 = &lbl8b
lda #<p8l_lbl8b
ldy #>p8l_lbl8b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3765 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3767 goto skip8b
bra p8l_skip8b
; source: test_word_lt.p8:3768 lbl8b: fail_word(342)
p8l_lbl8b
ldy #>$0156
lda #<$0156
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3769 skip8b:
p8l_skip8b
; source: test_word_lt.p8:3771 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_465_afterif
; source: test_word_lt.p8:3772 fail_word(343)
ldy #>$0157
lda #<$0157
jsr p8b_main.p8s_fail_word
label_asm_465_afterif
; source: test_word_lt.p8:3775 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_467_else
; source: test_word_lt.p8:3776 fail_word(344)
ldy #>$0158
lda #<$0158
jsr p8b_main.p8s_fail_word
bra label_asm_466_afterif
label_asm_467_else
; source: test_word_lt.p8:3778 success++
inc p8b_main.p8v_success
label_asm_466_afterif
; source: test_word_lt.p8:3781 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl9a
; source: test_word_lt.p8:3783 goto skip9a
bra p8l_skip9a
; source: test_word_lt.p8:3784 lbl9a: fail_word(345)
p8l_lbl9a
ldy #>$0159
lda #<$0159
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3785 skip9a:
p8l_skip9a
; source: test_word_lt.p8:3787 cx16.r3 = &lbl9b
lda #<p8l_lbl9b
ldy #>p8l_lbl9b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3788 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3790 goto skip9b
bra p8l_skip9b
; source: test_word_lt.p8:3791 lbl9b: fail_word(346)
p8l_lbl9b
ldy #>$015a
lda #<$015a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3792 skip9b:
p8l_skip9b
; source: test_word_lt.p8:3794 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_468_afterif
; source: test_word_lt.p8:3795 fail_word(347)
ldy #>$015b
lda #<$015b
jsr p8b_main.p8s_fail_word
label_asm_468_afterif
; source: test_word_lt.p8:3798 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_470_else
; source: test_word_lt.p8:3799 fail_word(348)
ldy #>$015c
lda #<$015c
jsr p8b_main.p8s_fail_word
bra label_asm_469_afterif
label_asm_470_else
; source: test_word_lt.p8:3801 success++
inc p8b_main.p8v_success
label_asm_469_afterif
; source: test_word_lt.p8:3804 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl10a
; source: test_word_lt.p8:3806 goto skip10a
bra p8l_skip10a
; source: test_word_lt.p8:3807 lbl10a: success++
p8l_lbl10a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3808 skip10a:
p8l_skip10a
; source: test_word_lt.p8:3810 cx16.r3 = &lbl10b
lda #<p8l_lbl10b
ldy #>p8l_lbl10b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3811 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3813 goto skip10b
bra p8l_skip10b
; source: test_word_lt.p8:3814 lbl10b: success++
p8l_lbl10b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3815 skip10b:
p8l_skip10b
; source: test_word_lt.p8:3817 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_471_afterif
; source: test_word_lt.p8:3818 success++
inc p8b_main.p8v_success
label_asm_471_afterif
; source: test_word_lt.p8:3821 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_473_else
; source: test_word_lt.p8:3822 success++
inc p8b_main.p8v_success
bra label_asm_472_afterif
label_asm_473_else
; source: test_word_lt.p8:3824 cx16.r0L++
inc cx16.r0L
label_asm_472_afterif
; source: test_word_lt.p8:3827 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl11a
; source: test_word_lt.p8:3829 goto skip11a
bra p8l_skip11a
; source: test_word_lt.p8:3830 lbl11a: success++
p8l_lbl11a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3831 skip11a:
p8l_skip11a
; source: test_word_lt.p8:3833 cx16.r3 = &lbl11b
lda #<p8l_lbl11b
ldy #>p8l_lbl11b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3834 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3836 goto skip11b
bra p8l_skip11b
; source: test_word_lt.p8:3837 lbl11b: success++
p8l_lbl11b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3838 skip11b:
p8l_skip11b
; source: test_word_lt.p8:3840 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_474_afterif
; source: test_word_lt.p8:3841 success++
inc p8b_main.p8v_success
label_asm_474_afterif
; source: test_word_lt.p8:3844 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_476_else
; source: test_word_lt.p8:3845 success++
inc p8b_main.p8v_success
bra label_asm_475_afterif
label_asm_476_else
; source: test_word_lt.p8:3847 cx16.r0L++
inc cx16.r0L
label_asm_475_afterif
; source: test_word_lt.p8:3850 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl12a
; source: test_word_lt.p8:3852 goto skip12a
bra p8l_skip12a
; source: test_word_lt.p8:3853 lbl12a: success++
p8l_lbl12a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3854 skip12a:
p8l_skip12a
; source: test_word_lt.p8:3856 cx16.r3 = &lbl12b
lda #<p8l_lbl12b
ldy #>p8l_lbl12b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3857 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3859 goto skip12b
bra p8l_skip12b
; source: test_word_lt.p8:3860 lbl12b: success++
p8l_lbl12b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3861 skip12b:
p8l_skip12b
; source: test_word_lt.p8:3863 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_477_afterif
; source: test_word_lt.p8:3864 success++
inc p8b_main.p8v_success
label_asm_477_afterif
; source: test_word_lt.p8:3867 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_479_else
; source: test_word_lt.p8:3868 success++
inc p8b_main.p8v_success
bra label_asm_478_afterif
label_asm_479_else
; source: test_word_lt.p8:3870 cx16.r0L++
inc cx16.r0L
label_asm_478_afterif
; source: test_word_lt.p8:3873 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl13a
; source: test_word_lt.p8:3875 goto skip13a
bra p8l_skip13a
; source: test_word_lt.p8:3876 lbl13a: success++
p8l_lbl13a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3877 skip13a:
p8l_skip13a
; source: test_word_lt.p8:3879 cx16.r3 = &lbl13b
lda #<p8l_lbl13b
ldy #>p8l_lbl13b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3880 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3882 goto skip13b
bra p8l_skip13b
; source: test_word_lt.p8:3883 lbl13b: success++
p8l_lbl13b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3884 skip13b:
p8l_skip13b
; source: test_word_lt.p8:3886 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_480_afterif
; source: test_word_lt.p8:3887 success++
inc p8b_main.p8v_success
label_asm_480_afterif
; source: test_word_lt.p8:3890 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_482_else
; source: test_word_lt.p8:3891 success++
inc p8b_main.p8v_success
bra label_asm_481_afterif
label_asm_482_else
; source: test_word_lt.p8:3893 cx16.r0L++
inc cx16.r0L
label_asm_481_afterif
; source: test_word_lt.p8:3896 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl14a
; source: test_word_lt.p8:3898 goto skip14a
bra p8l_skip14a
; source: test_word_lt.p8:3899 lbl14a: success++
p8l_lbl14a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3900 skip14a:
p8l_skip14a
; source: test_word_lt.p8:3902 cx16.r3 = &lbl14b
lda #<p8l_lbl14b
ldy #>p8l_lbl14b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3903 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3905 goto skip14b
bra p8l_skip14b
; source: test_word_lt.p8:3906 lbl14b: success++
p8l_lbl14b
inc p8b_main.p8v_success
; source: test_word_lt.p8:3907 skip14b:
p8l_skip14b
; source: test_word_lt.p8:3909 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_483_afterif
; source: test_word_lt.p8:3910 success++
inc p8b_main.p8v_success
label_asm_483_afterif
; source: test_word_lt.p8:3913 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_485_else
; source: test_word_lt.p8:3914 success++
inc p8b_main.p8v_success
bra label_asm_484_afterif
label_asm_485_else
; source: test_word_lt.p8:3916 cx16.r0L++
inc cx16.r0L
label_asm_484_afterif
; source: test_word_lt.p8:3918 x=0
stz p8v_x
stz p8v_x+1
; source: test_word_lt.p8:3920 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl15a
; source: test_word_lt.p8:3922 goto skip15a
bra p8l_skip15a
; source: test_word_lt.p8:3923 lbl15a: fail_word(349)
p8l_lbl15a
ldy #>$015d
lda #<$015d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3924 skip15a:
p8l_skip15a
; source: test_word_lt.p8:3926 cx16.r3 = &lbl15b
lda #<p8l_lbl15b
ldy #>p8l_lbl15b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3927 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3929 goto skip15b
bra p8l_skip15b
; source: test_word_lt.p8:3930 lbl15b: fail_word(350)
p8l_lbl15b
ldy #>$015e
lda #<$015e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3931 skip15b:
p8l_skip15b
; source: test_word_lt.p8:3933 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_486_afterif
; source: test_word_lt.p8:3934 fail_word(351)
ldy #>$015f
lda #<$015f
jsr p8b_main.p8s_fail_word
label_asm_486_afterif
; source: test_word_lt.p8:3937 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_488_else
; source: test_word_lt.p8:3938 fail_word(352)
ldy #>$0160
lda #<$0160
jsr p8b_main.p8s_fail_word
bra label_asm_487_afterif
label_asm_488_else
; source: test_word_lt.p8:3940 success++
inc p8b_main.p8v_success
label_asm_487_afterif
; source: test_word_lt.p8:3943 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl16a
; source: test_word_lt.p8:3945 goto skip16a
bra p8l_skip16a
; source: test_word_lt.p8:3946 lbl16a: fail_word(353)
p8l_lbl16a
ldy #>$0161
lda #<$0161
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3947 skip16a:
p8l_skip16a
; source: test_word_lt.p8:3949 cx16.r3 = &lbl16b
lda #<p8l_lbl16b
ldy #>p8l_lbl16b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3950 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3952 goto skip16b
bra p8l_skip16b
; source: test_word_lt.p8:3953 lbl16b: fail_word(354)
p8l_lbl16b
ldy #>$0162
lda #<$0162
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3954 skip16b:
p8l_skip16b
; source: test_word_lt.p8:3956 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_489_afterif
; source: test_word_lt.p8:3957 fail_word(355)
ldy #>$0163
lda #<$0163
jsr p8b_main.p8s_fail_word
label_asm_489_afterif
; source: test_word_lt.p8:3960 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_491_else
; source: test_word_lt.p8:3961 fail_word(356)
ldy #>$0164
lda #<$0164
jsr p8b_main.p8s_fail_word
bra label_asm_490_afterif
label_asm_491_else
; source: test_word_lt.p8:3963 success++
inc p8b_main.p8v_success
label_asm_490_afterif
; source: test_word_lt.p8:3966 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl17a
; source: test_word_lt.p8:3968 goto skip17a
bra p8l_skip17a
; source: test_word_lt.p8:3969 lbl17a: fail_word(357)
p8l_lbl17a
ldy #>$0165
lda #<$0165
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3970 skip17a:
p8l_skip17a
; source: test_word_lt.p8:3972 cx16.r3 = &lbl17b
lda #<p8l_lbl17b
ldy #>p8l_lbl17b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3973 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3975 goto skip17b
bra p8l_skip17b
; source: test_word_lt.p8:3976 lbl17b: fail_word(358)
p8l_lbl17b
ldy #>$0166
lda #<$0166
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:3977 skip17b:
p8l_skip17b
; source: test_word_lt.p8:3979 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_492_afterif
; source: test_word_lt.p8:3980 fail_word(359)
ldy #>$0167
lda #<$0167
jsr p8b_main.p8s_fail_word
label_asm_492_afterif
; source: test_word_lt.p8:3983 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_494_else
; source: test_word_lt.p8:3984 fail_word(360)
ldy #>$0168
lda #<$0168
jsr p8b_main.p8s_fail_word
bra label_asm_493_afterif
label_asm_494_else
; source: test_word_lt.p8:3986 success++
inc p8b_main.p8v_success
label_asm_493_afterif
; source: test_word_lt.p8:3989 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl18a
; source: test_word_lt.p8:3991 goto skip18a
bra p8l_skip18a
; source: test_word_lt.p8:3992 lbl18a: success++
p8l_lbl18a
inc p8b_main.p8v_success
; source: test_word_lt.p8:3993 skip18a:
p8l_skip18a
; source: test_word_lt.p8:3995 cx16.r3 = &lbl18b
lda #<p8l_lbl18b
ldy #>p8l_lbl18b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:3996 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:3998 goto skip18b
bra p8l_skip18b
; source: test_word_lt.p8:3999 lbl18b: success++
p8l_lbl18b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4000 skip18b:
p8l_skip18b
; source: test_word_lt.p8:4002 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_495_afterif
; source: test_word_lt.p8:4003 success++
inc p8b_main.p8v_success
label_asm_495_afterif
; source: test_word_lt.p8:4006 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_497_else
; source: test_word_lt.p8:4007 success++
inc p8b_main.p8v_success
bra label_asm_496_afterif
label_asm_497_else
; source: test_word_lt.p8:4009 cx16.r0L++
inc cx16.r0L
label_asm_496_afterif
; source: test_word_lt.p8:4012 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl19a
; source: test_word_lt.p8:4014 goto skip19a
bra p8l_skip19a
; source: test_word_lt.p8:4015 lbl19a: success++
p8l_lbl19a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4016 skip19a:
p8l_skip19a
; source: test_word_lt.p8:4018 cx16.r3 = &lbl19b
lda #<p8l_lbl19b
ldy #>p8l_lbl19b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4019 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4021 goto skip19b
bra p8l_skip19b
; source: test_word_lt.p8:4022 lbl19b: success++
p8l_lbl19b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4023 skip19b:
p8l_skip19b
; source: test_word_lt.p8:4025 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_498_afterif
; source: test_word_lt.p8:4026 success++
inc p8b_main.p8v_success
label_asm_498_afterif
; source: test_word_lt.p8:4029 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_500_else
; source: test_word_lt.p8:4030 success++
inc p8b_main.p8v_success
bra label_asm_499_afterif
label_asm_500_else
; source: test_word_lt.p8:4032 cx16.r0L++
inc cx16.r0L
label_asm_499_afterif
; source: test_word_lt.p8:4035 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl20a
; source: test_word_lt.p8:4037 goto skip20a
bra p8l_skip20a
; source: test_word_lt.p8:4038 lbl20a: success++
p8l_lbl20a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4039 skip20a:
p8l_skip20a
; source: test_word_lt.p8:4041 cx16.r3 = &lbl20b
lda #<p8l_lbl20b
ldy #>p8l_lbl20b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4042 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4044 goto skip20b
bra p8l_skip20b
; source: test_word_lt.p8:4045 lbl20b: success++
p8l_lbl20b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4046 skip20b:
p8l_skip20b
; source: test_word_lt.p8:4048 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_501_afterif
; source: test_word_lt.p8:4049 success++
inc p8b_main.p8v_success
label_asm_501_afterif
; source: test_word_lt.p8:4052 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_503_else
; source: test_word_lt.p8:4053 success++
inc p8b_main.p8v_success
bra label_asm_502_afterif
label_asm_503_else
; source: test_word_lt.p8:4055 cx16.r0L++
inc cx16.r0L
label_asm_502_afterif
; source: test_word_lt.p8:4058 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl21a
; source: test_word_lt.p8:4060 goto skip21a
bra p8l_skip21a
; source: test_word_lt.p8:4061 lbl21a: success++
p8l_lbl21a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4062 skip21a:
p8l_skip21a
; source: test_word_lt.p8:4064 cx16.r3 = &lbl21b
lda #<p8l_lbl21b
ldy #>p8l_lbl21b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4065 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4067 goto skip21b
bra p8l_skip21b
; source: test_word_lt.p8:4068 lbl21b: success++
p8l_lbl21b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4069 skip21b:
p8l_skip21b
; source: test_word_lt.p8:4071 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_504_afterif
; source: test_word_lt.p8:4072 success++
inc p8b_main.p8v_success
label_asm_504_afterif
; source: test_word_lt.p8:4075 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_506_else
; source: test_word_lt.p8:4076 success++
inc p8b_main.p8v_success
bra label_asm_505_afterif
label_asm_506_else
; source: test_word_lt.p8:4078 cx16.r0L++
inc cx16.r0L
label_asm_505_afterif
; source: test_word_lt.p8:4080 x=1
lda #<1
ldy #>1
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:4082 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl22a
; source: test_word_lt.p8:4084 goto skip22a
bra p8l_skip22a
; source: test_word_lt.p8:4085 lbl22a: fail_word(361)
p8l_lbl22a
ldy #>$0169
lda #<$0169
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4086 skip22a:
p8l_skip22a
; source: test_word_lt.p8:4088 cx16.r3 = &lbl22b
lda #<p8l_lbl22b
ldy #>p8l_lbl22b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4089 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4091 goto skip22b
bra p8l_skip22b
; source: test_word_lt.p8:4092 lbl22b: fail_word(362)
p8l_lbl22b
ldy #>$016a
lda #<$016a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4093 skip22b:
p8l_skip22b
; source: test_word_lt.p8:4095 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_507_afterif
; source: test_word_lt.p8:4096 fail_word(363)
ldy #>$016b
lda #<$016b
jsr p8b_main.p8s_fail_word
label_asm_507_afterif
; source: test_word_lt.p8:4099 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_509_else
; source: test_word_lt.p8:4100 fail_word(364)
ldy #>$016c
lda #<$016c
jsr p8b_main.p8s_fail_word
bra label_asm_508_afterif
label_asm_509_else
; source: test_word_lt.p8:4102 success++
inc p8b_main.p8v_success
label_asm_508_afterif
; source: test_word_lt.p8:4105 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl23a
; source: test_word_lt.p8:4107 goto skip23a
bra p8l_skip23a
; source: test_word_lt.p8:4108 lbl23a: fail_word(365)
p8l_lbl23a
ldy #>$016d
lda #<$016d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4109 skip23a:
p8l_skip23a
; source: test_word_lt.p8:4111 cx16.r3 = &lbl23b
lda #<p8l_lbl23b
ldy #>p8l_lbl23b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4112 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4114 goto skip23b
bra p8l_skip23b
; source: test_word_lt.p8:4115 lbl23b: fail_word(366)
p8l_lbl23b
ldy #>$016e
lda #<$016e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4116 skip23b:
p8l_skip23b
; source: test_word_lt.p8:4118 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_510_afterif
; source: test_word_lt.p8:4119 fail_word(367)
ldy #>$016f
lda #<$016f
jsr p8b_main.p8s_fail_word
label_asm_510_afterif
; source: test_word_lt.p8:4122 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_512_else
; source: test_word_lt.p8:4123 fail_word(368)
ldy #>$0170
lda #<$0170
jsr p8b_main.p8s_fail_word
bra label_asm_511_afterif
label_asm_512_else
; source: test_word_lt.p8:4125 success++
inc p8b_main.p8v_success
label_asm_511_afterif
; source: test_word_lt.p8:4128 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl24a
; source: test_word_lt.p8:4130 goto skip24a
bra p8l_skip24a
; source: test_word_lt.p8:4131 lbl24a: fail_word(369)
p8l_lbl24a
ldy #>$0171
lda #<$0171
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4132 skip24a:
p8l_skip24a
; source: test_word_lt.p8:4134 cx16.r3 = &lbl24b
lda #<p8l_lbl24b
ldy #>p8l_lbl24b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4135 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4137 goto skip24b
bra p8l_skip24b
; source: test_word_lt.p8:4138 lbl24b: fail_word(370)
p8l_lbl24b
ldy #>$0172
lda #<$0172
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4139 skip24b:
p8l_skip24b
; source: test_word_lt.p8:4141 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_513_afterif
; source: test_word_lt.p8:4142 fail_word(371)
ldy #>$0173
lda #<$0173
jsr p8b_main.p8s_fail_word
label_asm_513_afterif
; source: test_word_lt.p8:4145 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_515_else
; source: test_word_lt.p8:4146 fail_word(372)
ldy #>$0174
lda #<$0174
jsr p8b_main.p8s_fail_word
bra label_asm_514_afterif
label_asm_515_else
; source: test_word_lt.p8:4148 success++
inc p8b_main.p8v_success
label_asm_514_afterif
; source: test_word_lt.p8:4151 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl25a
; source: test_word_lt.p8:4153 goto skip25a
bra p8l_skip25a
; source: test_word_lt.p8:4154 lbl25a: fail_word(373)
p8l_lbl25a
ldy #>$0175
lda #<$0175
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4155 skip25a:
p8l_skip25a
; source: test_word_lt.p8:4157 cx16.r3 = &lbl25b
lda #<p8l_lbl25b
ldy #>p8l_lbl25b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4158 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4160 goto skip25b
bra p8l_skip25b
; source: test_word_lt.p8:4161 lbl25b: fail_word(374)
p8l_lbl25b
ldy #>$0176
lda #<$0176
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4162 skip25b:
p8l_skip25b
; source: test_word_lt.p8:4164 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_516_afterif
; source: test_word_lt.p8:4165 fail_word(375)
ldy #>$0177
lda #<$0177
jsr p8b_main.p8s_fail_word
label_asm_516_afterif
; source: test_word_lt.p8:4168 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_518_else
; source: test_word_lt.p8:4169 fail_word(376)
ldy #>$0178
lda #<$0178
jsr p8b_main.p8s_fail_word
bra label_asm_517_afterif
label_asm_518_else
; source: test_word_lt.p8:4171 success++
inc p8b_main.p8v_success
label_asm_517_afterif
; source: test_word_lt.p8:4174 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl26a
; source: test_word_lt.p8:4176 goto skip26a
bra p8l_skip26a
; source: test_word_lt.p8:4177 lbl26a: success++
p8l_lbl26a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4178 skip26a:
p8l_skip26a
; source: test_word_lt.p8:4180 cx16.r3 = &lbl26b
lda #<p8l_lbl26b
ldy #>p8l_lbl26b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4181 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4183 goto skip26b
bra p8l_skip26b
; source: test_word_lt.p8:4184 lbl26b: success++
p8l_lbl26b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4185 skip26b:
p8l_skip26b
; source: test_word_lt.p8:4187 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_519_afterif
; source: test_word_lt.p8:4188 success++
inc p8b_main.p8v_success
label_asm_519_afterif
; source: test_word_lt.p8:4191 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_521_else
; source: test_word_lt.p8:4192 success++
inc p8b_main.p8v_success
bra label_asm_520_afterif
label_asm_521_else
; source: test_word_lt.p8:4194 cx16.r0L++
inc cx16.r0L
label_asm_520_afterif
; source: test_word_lt.p8:4197 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl27a
; source: test_word_lt.p8:4199 goto skip27a
bra p8l_skip27a
; source: test_word_lt.p8:4200 lbl27a: success++
p8l_lbl27a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4201 skip27a:
p8l_skip27a
; source: test_word_lt.p8:4203 cx16.r3 = &lbl27b
lda #<p8l_lbl27b
ldy #>p8l_lbl27b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4204 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4206 goto skip27b
bra p8l_skip27b
; source: test_word_lt.p8:4207 lbl27b: success++
p8l_lbl27b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4208 skip27b:
p8l_skip27b
; source: test_word_lt.p8:4210 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_522_afterif
; source: test_word_lt.p8:4211 success++
inc p8b_main.p8v_success
label_asm_522_afterif
; source: test_word_lt.p8:4214 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_524_else
; source: test_word_lt.p8:4215 success++
inc p8b_main.p8v_success
bra label_asm_523_afterif
label_asm_524_else
; source: test_word_lt.p8:4217 cx16.r0L++
inc cx16.r0L
label_asm_523_afterif
; source: test_word_lt.p8:4220 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl28a
; source: test_word_lt.p8:4222 goto skip28a
bra p8l_skip28a
; source: test_word_lt.p8:4223 lbl28a: success++
p8l_lbl28a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4224 skip28a:
p8l_skip28a
; source: test_word_lt.p8:4226 cx16.r3 = &lbl28b
lda #<p8l_lbl28b
ldy #>p8l_lbl28b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4227 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4229 goto skip28b
bra p8l_skip28b
; source: test_word_lt.p8:4230 lbl28b: success++
p8l_lbl28b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4231 skip28b:
p8l_skip28b
; source: test_word_lt.p8:4233 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_525_afterif
; source: test_word_lt.p8:4234 success++
inc p8b_main.p8v_success
label_asm_525_afterif
; source: test_word_lt.p8:4237 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_527_else
; source: test_word_lt.p8:4238 success++
inc p8b_main.p8v_success
bra label_asm_526_afterif
label_asm_527_else
; source: test_word_lt.p8:4240 cx16.r0L++
inc cx16.r0L
label_asm_526_afterif
; source: test_word_lt.p8:4242 x=170
lda #<$aa
ldy #>$aa
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:4244 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl29a
; source: test_word_lt.p8:4246 goto skip29a
bra p8l_skip29a
; source: test_word_lt.p8:4247 lbl29a: fail_word(377)
p8l_lbl29a
ldy #>$0179
lda #<$0179
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4248 skip29a:
p8l_skip29a
; source: test_word_lt.p8:4250 cx16.r3 = &lbl29b
lda #<p8l_lbl29b
ldy #>p8l_lbl29b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4251 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4253 goto skip29b
bra p8l_skip29b
; source: test_word_lt.p8:4254 lbl29b: fail_word(378)
p8l_lbl29b
ldy #>$017a
lda #<$017a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4255 skip29b:
p8l_skip29b
; source: test_word_lt.p8:4257 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_528_afterif
; source: test_word_lt.p8:4258 fail_word(379)
ldy #>$017b
lda #<$017b
jsr p8b_main.p8s_fail_word
label_asm_528_afterif
; source: test_word_lt.p8:4261 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_530_else
; source: test_word_lt.p8:4262 fail_word(380)
ldy #>$017c
lda #<$017c
jsr p8b_main.p8s_fail_word
bra label_asm_529_afterif
label_asm_530_else
; source: test_word_lt.p8:4264 success++
inc p8b_main.p8v_success
label_asm_529_afterif
; source: test_word_lt.p8:4267 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl30a
; source: test_word_lt.p8:4269 goto skip30a
bra p8l_skip30a
; source: test_word_lt.p8:4270 lbl30a: fail_word(381)
p8l_lbl30a
ldy #>$017d
lda #<$017d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4271 skip30a:
p8l_skip30a
; source: test_word_lt.p8:4273 cx16.r3 = &lbl30b
lda #<p8l_lbl30b
ldy #>p8l_lbl30b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4274 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4276 goto skip30b
bra p8l_skip30b
; source: test_word_lt.p8:4277 lbl30b: fail_word(382)
p8l_lbl30b
ldy #>$017e
lda #<$017e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4278 skip30b:
p8l_skip30b
; source: test_word_lt.p8:4280 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_531_afterif
; source: test_word_lt.p8:4281 fail_word(383)
ldy #>$017f
lda #<$017f
jsr p8b_main.p8s_fail_word
label_asm_531_afterif
; source: test_word_lt.p8:4284 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_533_else
; source: test_word_lt.p8:4285 fail_word(384)
ldy #>$0180
lda #<$0180
jsr p8b_main.p8s_fail_word
bra label_asm_532_afterif
label_asm_533_else
; source: test_word_lt.p8:4287 success++
inc p8b_main.p8v_success
label_asm_532_afterif
; source: test_word_lt.p8:4290 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl31a
; source: test_word_lt.p8:4292 goto skip31a
bra p8l_skip31a
; source: test_word_lt.p8:4293 lbl31a: fail_word(385)
p8l_lbl31a
ldy #>$0181
lda #<$0181
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4294 skip31a:
p8l_skip31a
; source: test_word_lt.p8:4296 cx16.r3 = &lbl31b
lda #<p8l_lbl31b
ldy #>p8l_lbl31b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4297 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4299 goto skip31b
bra p8l_skip31b
; source: test_word_lt.p8:4300 lbl31b: fail_word(386)
p8l_lbl31b
ldy #>$0182
lda #<$0182
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4301 skip31b:
p8l_skip31b
; source: test_word_lt.p8:4303 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_534_afterif
; source: test_word_lt.p8:4304 fail_word(387)
ldy #>$0183
lda #<$0183
jsr p8b_main.p8s_fail_word
label_asm_534_afterif
; source: test_word_lt.p8:4307 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_536_else
; source: test_word_lt.p8:4308 fail_word(388)
ldy #>$0184
lda #<$0184
jsr p8b_main.p8s_fail_word
bra label_asm_535_afterif
label_asm_536_else
; source: test_word_lt.p8:4310 success++
inc p8b_main.p8v_success
label_asm_535_afterif
; source: test_word_lt.p8:4313 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl32a
; source: test_word_lt.p8:4315 goto skip32a
bra p8l_skip32a
; source: test_word_lt.p8:4316 lbl32a: fail_word(389)
p8l_lbl32a
ldy #>$0185
lda #<$0185
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4317 skip32a:
p8l_skip32a
; source: test_word_lt.p8:4319 cx16.r3 = &lbl32b
lda #<p8l_lbl32b
ldy #>p8l_lbl32b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4320 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4322 goto skip32b
bra p8l_skip32b
; source: test_word_lt.p8:4323 lbl32b: fail_word(390)
p8l_lbl32b
ldy #>$0186
lda #<$0186
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4324 skip32b:
p8l_skip32b
; source: test_word_lt.p8:4326 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_537_afterif
; source: test_word_lt.p8:4327 fail_word(391)
ldy #>$0187
lda #<$0187
jsr p8b_main.p8s_fail_word
label_asm_537_afterif
; source: test_word_lt.p8:4330 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_539_else
; source: test_word_lt.p8:4331 fail_word(392)
ldy #>$0188
lda #<$0188
jsr p8b_main.p8s_fail_word
bra label_asm_538_afterif
label_asm_539_else
; source: test_word_lt.p8:4333 success++
inc p8b_main.p8v_success
label_asm_538_afterif
; source: test_word_lt.p8:4336 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl33a
; source: test_word_lt.p8:4338 goto skip33a
bra p8l_skip33a
; source: test_word_lt.p8:4339 lbl33a: fail_word(393)
p8l_lbl33a
ldy #>$0189
lda #<$0189
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4340 skip33a:
p8l_skip33a
; source: test_word_lt.p8:4342 cx16.r3 = &lbl33b
lda #<p8l_lbl33b
ldy #>p8l_lbl33b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4343 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4345 goto skip33b
bra p8l_skip33b
; source: test_word_lt.p8:4346 lbl33b: fail_word(394)
p8l_lbl33b
ldy #>$018a
lda #<$018a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4347 skip33b:
p8l_skip33b
; source: test_word_lt.p8:4349 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_540_afterif
; source: test_word_lt.p8:4350 fail_word(395)
ldy #>$018b
lda #<$018b
jsr p8b_main.p8s_fail_word
label_asm_540_afterif
; source: test_word_lt.p8:4353 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_542_else
; source: test_word_lt.p8:4354 fail_word(396)
ldy #>$018c
lda #<$018c
jsr p8b_main.p8s_fail_word
bra label_asm_541_afterif
label_asm_542_else
; source: test_word_lt.p8:4356 success++
inc p8b_main.p8v_success
label_asm_541_afterif
; source: test_word_lt.p8:4359 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl34a
; source: test_word_lt.p8:4361 goto skip34a
bra p8l_skip34a
; source: test_word_lt.p8:4362 lbl34a: success++
p8l_lbl34a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4363 skip34a:
p8l_skip34a
; source: test_word_lt.p8:4365 cx16.r3 = &lbl34b
lda #<p8l_lbl34b
ldy #>p8l_lbl34b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4366 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4368 goto skip34b
bra p8l_skip34b
; source: test_word_lt.p8:4369 lbl34b: success++
p8l_lbl34b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4370 skip34b:
p8l_skip34b
; source: test_word_lt.p8:4372 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_543_afterif
; source: test_word_lt.p8:4373 success++
inc p8b_main.p8v_success
label_asm_543_afterif
; source: test_word_lt.p8:4376 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_545_else
; source: test_word_lt.p8:4377 success++
inc p8b_main.p8v_success
bra label_asm_544_afterif
label_asm_545_else
; source: test_word_lt.p8:4379 cx16.r0L++
inc cx16.r0L
label_asm_544_afterif
; source: test_word_lt.p8:4382 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl35a
; source: test_word_lt.p8:4384 goto skip35a
bra p8l_skip35a
; source: test_word_lt.p8:4385 lbl35a: success++
p8l_lbl35a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4386 skip35a:
p8l_skip35a
; source: test_word_lt.p8:4388 cx16.r3 = &lbl35b
lda #<p8l_lbl35b
ldy #>p8l_lbl35b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4389 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4391 goto skip35b
bra p8l_skip35b
; source: test_word_lt.p8:4392 lbl35b: success++
p8l_lbl35b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4393 skip35b:
p8l_skip35b
; source: test_word_lt.p8:4395 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_546_afterif
; source: test_word_lt.p8:4396 success++
inc p8b_main.p8v_success
label_asm_546_afterif
; source: test_word_lt.p8:4399 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_548_else
; source: test_word_lt.p8:4400 success++
inc p8b_main.p8v_success
bra label_asm_547_afterif
label_asm_548_else
; source: test_word_lt.p8:4402 cx16.r0L++
inc cx16.r0L
label_asm_547_afterif
; source: test_word_lt.p8:4404 x=30464
lda #<$7700
ldy #>$7700
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:4406 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl36a
; source: test_word_lt.p8:4408 goto skip36a
bra p8l_skip36a
; source: test_word_lt.p8:4409 lbl36a: fail_word(397)
p8l_lbl36a
ldy #>$018d
lda #<$018d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4410 skip36a:
p8l_skip36a
; source: test_word_lt.p8:4412 cx16.r3 = &lbl36b
lda #<p8l_lbl36b
ldy #>p8l_lbl36b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4413 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4415 goto skip36b
bra p8l_skip36b
; source: test_word_lt.p8:4416 lbl36b: fail_word(398)
p8l_lbl36b
ldy #>$018e
lda #<$018e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4417 skip36b:
p8l_skip36b
; source: test_word_lt.p8:4419 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_549_afterif
; source: test_word_lt.p8:4420 fail_word(399)
ldy #>$018f
lda #<$018f
jsr p8b_main.p8s_fail_word
label_asm_549_afterif
; source: test_word_lt.p8:4423 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_551_else
; source: test_word_lt.p8:4424 fail_word(400)
ldy #>$0190
lda #<$0190
jsr p8b_main.p8s_fail_word
bra label_asm_550_afterif
label_asm_551_else
; source: test_word_lt.p8:4426 success++
inc p8b_main.p8v_success
label_asm_550_afterif
; source: test_word_lt.p8:4429 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl37a
; source: test_word_lt.p8:4431 goto skip37a
bra p8l_skip37a
; source: test_word_lt.p8:4432 lbl37a: fail_word(401)
p8l_lbl37a
ldy #>$0191
lda #<$0191
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4433 skip37a:
p8l_skip37a
; source: test_word_lt.p8:4435 cx16.r3 = &lbl37b
lda #<p8l_lbl37b
ldy #>p8l_lbl37b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4436 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4438 goto skip37b
bra p8l_skip37b
; source: test_word_lt.p8:4439 lbl37b: fail_word(402)
p8l_lbl37b
ldy #>$0192
lda #<$0192
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4440 skip37b:
p8l_skip37b
; source: test_word_lt.p8:4442 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_552_afterif
; source: test_word_lt.p8:4443 fail_word(403)
ldy #>$0193
lda #<$0193
jsr p8b_main.p8s_fail_word
label_asm_552_afterif
; source: test_word_lt.p8:4446 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_554_else
; source: test_word_lt.p8:4447 fail_word(404)
ldy #>$0194
lda #<$0194
jsr p8b_main.p8s_fail_word
bra label_asm_553_afterif
label_asm_554_else
; source: test_word_lt.p8:4449 success++
inc p8b_main.p8v_success
label_asm_553_afterif
; source: test_word_lt.p8:4452 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl38a
; source: test_word_lt.p8:4454 goto skip38a
bra p8l_skip38a
; source: test_word_lt.p8:4455 lbl38a: fail_word(405)
p8l_lbl38a
ldy #>$0195
lda #<$0195
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4456 skip38a:
p8l_skip38a
; source: test_word_lt.p8:4458 cx16.r3 = &lbl38b
lda #<p8l_lbl38b
ldy #>p8l_lbl38b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4459 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4461 goto skip38b
bra p8l_skip38b
; source: test_word_lt.p8:4462 lbl38b: fail_word(406)
p8l_lbl38b
ldy #>$0196
lda #<$0196
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4463 skip38b:
p8l_skip38b
; source: test_word_lt.p8:4465 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_555_afterif
; source: test_word_lt.p8:4466 fail_word(407)
ldy #>$0197
lda #<$0197
jsr p8b_main.p8s_fail_word
label_asm_555_afterif
; source: test_word_lt.p8:4469 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_557_else
; source: test_word_lt.p8:4470 fail_word(408)
ldy #>$0198
lda #<$0198
jsr p8b_main.p8s_fail_word
bra label_asm_556_afterif
label_asm_557_else
; source: test_word_lt.p8:4472 success++
inc p8b_main.p8v_success
label_asm_556_afterif
; source: test_word_lt.p8:4475 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl39a
; source: test_word_lt.p8:4477 goto skip39a
bra p8l_skip39a
; source: test_word_lt.p8:4478 lbl39a: fail_word(409)
p8l_lbl39a
ldy #>$0199
lda #<$0199
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4479 skip39a:
p8l_skip39a
; source: test_word_lt.p8:4481 cx16.r3 = &lbl39b
lda #<p8l_lbl39b
ldy #>p8l_lbl39b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4482 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4484 goto skip39b
bra p8l_skip39b
; source: test_word_lt.p8:4485 lbl39b: fail_word(410)
p8l_lbl39b
ldy #>$019a
lda #<$019a
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4486 skip39b:
p8l_skip39b
; source: test_word_lt.p8:4488 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_558_afterif
; source: test_word_lt.p8:4489 fail_word(411)
ldy #>$019b
lda #<$019b
jsr p8b_main.p8s_fail_word
label_asm_558_afterif
; source: test_word_lt.p8:4492 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_560_else
; source: test_word_lt.p8:4493 fail_word(412)
ldy #>$019c
lda #<$019c
jsr p8b_main.p8s_fail_word
bra label_asm_559_afterif
label_asm_560_else
; source: test_word_lt.p8:4495 success++
inc p8b_main.p8v_success
label_asm_559_afterif
; source: test_word_lt.p8:4498 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl40a
; source: test_word_lt.p8:4500 goto skip40a
bra p8l_skip40a
; source: test_word_lt.p8:4501 lbl40a: fail_word(413)
p8l_lbl40a
ldy #>$019d
lda #<$019d
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4502 skip40a:
p8l_skip40a
; source: test_word_lt.p8:4504 cx16.r3 = &lbl40b
lda #<p8l_lbl40b
ldy #>p8l_lbl40b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4505 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4507 goto skip40b
bra p8l_skip40b
; source: test_word_lt.p8:4508 lbl40b: fail_word(414)
p8l_lbl40b
ldy #>$019e
lda #<$019e
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4509 skip40b:
p8l_skip40b
; source: test_word_lt.p8:4511 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_561_afterif
; source: test_word_lt.p8:4512 fail_word(415)
ldy #>$019f
lda #<$019f
jsr p8b_main.p8s_fail_word
label_asm_561_afterif
; source: test_word_lt.p8:4515 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_563_else
; source: test_word_lt.p8:4516 fail_word(416)
ldy #>$01a0
lda #<$01a0
jsr p8b_main.p8s_fail_word
bra label_asm_562_afterif
label_asm_563_else
; source: test_word_lt.p8:4518 success++
inc p8b_main.p8v_success
label_asm_562_afterif
; source: test_word_lt.p8:4521 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl41a
; source: test_word_lt.p8:4523 goto skip41a
bra p8l_skip41a
; source: test_word_lt.p8:4524 lbl41a: fail_word(417)
p8l_lbl41a
ldy #>$01a1
lda #<$01a1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4525 skip41a:
p8l_skip41a
; source: test_word_lt.p8:4527 cx16.r3 = &lbl41b
lda #<p8l_lbl41b
ldy #>p8l_lbl41b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4528 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4530 goto skip41b
bra p8l_skip41b
; source: test_word_lt.p8:4531 lbl41b: fail_word(418)
p8l_lbl41b
ldy #>$01a2
lda #<$01a2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4532 skip41b:
p8l_skip41b
; source: test_word_lt.p8:4534 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_564_afterif
; source: test_word_lt.p8:4535 fail_word(419)
ldy #>$01a3
lda #<$01a3
jsr p8b_main.p8s_fail_word
label_asm_564_afterif
; source: test_word_lt.p8:4538 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_566_else
; source: test_word_lt.p8:4539 fail_word(420)
ldy #>$01a4
lda #<$01a4
jsr p8b_main.p8s_fail_word
bra label_asm_565_afterif
label_asm_566_else
; source: test_word_lt.p8:4541 success++
inc p8b_main.p8v_success
label_asm_565_afterif
; source: test_word_lt.p8:4544 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl42a
; source: test_word_lt.p8:4546 goto skip42a
bra p8l_skip42a
; source: test_word_lt.p8:4547 lbl42a: success++
p8l_lbl42a
inc p8b_main.p8v_success
; source: test_word_lt.p8:4548 skip42a:
p8l_skip42a
; source: test_word_lt.p8:4550 cx16.r3 = &lbl42b
lda #<p8l_lbl42b
ldy #>p8l_lbl42b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4551 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4553 goto skip42b
bra p8l_skip42b
; source: test_word_lt.p8:4554 lbl42b: success++
p8l_lbl42b
inc p8b_main.p8v_success
; source: test_word_lt.p8:4555 skip42b:
p8l_skip42b
; source: test_word_lt.p8:4557 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_567_afterif
; source: test_word_lt.p8:4558 success++
inc p8b_main.p8v_success
label_asm_567_afterif
; source: test_word_lt.p8:4561 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_569_else
; source: test_word_lt.p8:4562 success++
inc p8b_main.p8v_success
bra label_asm_568_afterif
label_asm_569_else
; source: test_word_lt.p8:4564 cx16.r0L++
inc cx16.r0L
label_asm_568_afterif
; source: test_word_lt.p8:4566 x=32767
lda #<$7fff
ldy #>$7fff
sta p8v_x
sty p8v_x+1
; source: test_word_lt.p8:4568 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl43a
; source: test_word_lt.p8:4570 goto skip43a
bra p8l_skip43a
; source: test_word_lt.p8:4571 lbl43a: fail_word(421)
p8l_lbl43a
ldy #>$01a5
lda #<$01a5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4572 skip43a:
p8l_skip43a
; source: test_word_lt.p8:4574 cx16.r3 = &lbl43b
lda #<p8l_lbl43b
ldy #>p8l_lbl43b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4575 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4577 goto skip43b
bra p8l_skip43b
; source: test_word_lt.p8:4578 lbl43b: fail_word(422)
p8l_lbl43b
ldy #>$01a6
lda #<$01a6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4579 skip43b:
p8l_skip43b
; source: test_word_lt.p8:4581 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_570_afterif
; source: test_word_lt.p8:4582 fail_word(423)
ldy #>$01a7
lda #<$01a7
jsr p8b_main.p8s_fail_word
label_asm_570_afterif
; source: test_word_lt.p8:4585 if x<cx16.r4s+-21829-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<$5545
tax
tya
sbc #>$5545
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_572_else
; source: test_word_lt.p8:4586 fail_word(424)
ldy #>$01a8
lda #<$01a8
jsr p8b_main.p8s_fail_word
bra label_asm_571_afterif
label_asm_572_else
; source: test_word_lt.p8:4588 success++
inc p8b_main.p8v_success
label_asm_571_afterif
; source: test_word_lt.p8:4591 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl44a
; source: test_word_lt.p8:4593 goto skip44a
bra p8l_skip44a
; source: test_word_lt.p8:4594 lbl44a: fail_word(425)
p8l_lbl44a
ldy #>$01a9
lda #<$01a9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4595 skip44a:
p8l_skip44a
; source: test_word_lt.p8:4597 cx16.r3 = &lbl44b
lda #<p8l_lbl44b
ldy #>p8l_lbl44b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4598 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4600 goto skip44b
bra p8l_skip44b
; source: test_word_lt.p8:4601 lbl44b: fail_word(426)
p8l_lbl44b
ldy #>$01aa
lda #<$01aa
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4602 skip44b:
p8l_skip44b
; source: test_word_lt.p8:4604 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_573_afterif
; source: test_word_lt.p8:4605 fail_word(427)
ldy #>$01ab
lda #<$01ab
jsr p8b_main.p8s_fail_word
label_asm_573_afterif
; source: test_word_lt.p8:4608 if x<cx16.r4s+-1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc #<1
tax
tya
sbc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_575_else
; source: test_word_lt.p8:4609 fail_word(428)
ldy #>$01ac
lda #<$01ac
jsr p8b_main.p8s_fail_word
bra label_asm_574_afterif
label_asm_575_else
; source: test_word_lt.p8:4611 success++
inc p8b_main.p8v_success
label_asm_574_afterif
; source: test_word_lt.p8:4614 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl45a
; source: test_word_lt.p8:4616 goto skip45a
bra p8l_skip45a
; source: test_word_lt.p8:4617 lbl45a: fail_word(429)
p8l_lbl45a
ldy #>$01ad
lda #<$01ad
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4618 skip45a:
p8l_skip45a
; source: test_word_lt.p8:4620 cx16.r3 = &lbl45b
lda #<p8l_lbl45b
ldy #>p8l_lbl45b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4621 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4623 goto skip45b
bra p8l_skip45b
; source: test_word_lt.p8:4624 lbl45b: fail_word(430)
p8l_lbl45b
ldy #>$01ae
lda #<$01ae
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4625 skip45b:
p8l_skip45b
; source: test_word_lt.p8:4627 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_576_afterif
; source: test_word_lt.p8:4628 fail_word(431)
ldy #>$01af
lda #<$01af
jsr p8b_main.p8s_fail_word
label_asm_576_afterif
; source: test_word_lt.p8:4631 if x<cx16.r4s+0-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_578_else
; source: test_word_lt.p8:4632 fail_word(432)
ldy #>$01b0
lda #<$01b0
jsr p8b_main.p8s_fail_word
bra label_asm_577_afterif
label_asm_578_else
; source: test_word_lt.p8:4634 success++
inc p8b_main.p8v_success
label_asm_577_afterif
; source: test_word_lt.p8:4637 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl46a
; source: test_word_lt.p8:4639 goto skip46a
bra p8l_skip46a
; source: test_word_lt.p8:4640 lbl46a: fail_word(433)
p8l_lbl46a
ldy #>$01b1
lda #<$01b1
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4641 skip46a:
p8l_skip46a
; source: test_word_lt.p8:4643 cx16.r3 = &lbl46b
lda #<p8l_lbl46b
ldy #>p8l_lbl46b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4644 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4646 goto skip46b
bra p8l_skip46b
; source: test_word_lt.p8:4647 lbl46b: fail_word(434)
p8l_lbl46b
ldy #>$01b2
lda #<$01b2
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4648 skip46b:
p8l_skip46b
; source: test_word_lt.p8:4650 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_579_afterif
; source: test_word_lt.p8:4651 fail_word(435)
ldy #>$01b3
lda #<$01b3
jsr p8b_main.p8s_fail_word
label_asm_579_afterif
; source: test_word_lt.p8:4654 if x<cx16.r4s+1-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<1
tax
tya
adc #>1
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_581_else
; source: test_word_lt.p8:4655 fail_word(436)
ldy #>$01b4
lda #<$01b4
jsr p8b_main.p8s_fail_word
bra label_asm_580_afterif
label_asm_581_else
; source: test_word_lt.p8:4657 success++
inc p8b_main.p8v_success
label_asm_580_afterif
; source: test_word_lt.p8:4660 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl47a
; source: test_word_lt.p8:4662 goto skip47a
bra p8l_skip47a
; source: test_word_lt.p8:4663 lbl47a: fail_word(437)
p8l_lbl47a
ldy #>$01b5
lda #<$01b5
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4664 skip47a:
p8l_skip47a
; source: test_word_lt.p8:4666 cx16.r3 = &lbl47b
lda #<p8l_lbl47b
ldy #>p8l_lbl47b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4667 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4669 goto skip47b
bra p8l_skip47b
; source: test_word_lt.p8:4670 lbl47b: fail_word(438)
p8l_lbl47b
ldy #>$01b6
lda #<$01b6
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4671 skip47b:
p8l_skip47b
; source: test_word_lt.p8:4673 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_582_afterif
; source: test_word_lt.p8:4674 fail_word(439)
ldy #>$01b7
lda #<$01b7
jsr p8b_main.p8s_fail_word
label_asm_582_afterif
; source: test_word_lt.p8:4677 if x<cx16.r4s+170-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$aa
tax
tya
adc #>$aa
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_584_else
; source: test_word_lt.p8:4678 fail_word(440)
ldy #>$01b8
lda #<$01b8
jsr p8b_main.p8s_fail_word
bra label_asm_583_afterif
label_asm_584_else
; source: test_word_lt.p8:4680 success++
inc p8b_main.p8v_success
label_asm_583_afterif
; source: test_word_lt.p8:4683 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl48a
; source: test_word_lt.p8:4685 goto skip48a
bra p8l_skip48a
; source: test_word_lt.p8:4686 lbl48a: fail_word(441)
p8l_lbl48a
ldy #>$01b9
lda #<$01b9
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4687 skip48a:
p8l_skip48a
; source: test_word_lt.p8:4689 cx16.r3 = &lbl48b
lda #<p8l_lbl48b
ldy #>p8l_lbl48b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4690 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4692 goto skip48b
bra p8l_skip48b
; source: test_word_lt.p8:4693 lbl48b: fail_word(442)
p8l_lbl48b
ldy #>$01ba
lda #<$01ba
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4694 skip48b:
p8l_skip48b
; source: test_word_lt.p8:4696 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_585_afterif
; source: test_word_lt.p8:4697 fail_word(443)
ldy #>$01bb
lda #<$01bb
jsr p8b_main.p8s_fail_word
label_asm_585_afterif
; source: test_word_lt.p8:4700 if x<cx16.r4s+30464-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7700
tax
tya
adc #>$7700
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_587_else
; source: test_word_lt.p8:4701 fail_word(444)
ldy #>$01bc
lda #<$01bc
jsr p8b_main.p8s_fail_word
bra label_asm_586_afterif
label_asm_587_else
; source: test_word_lt.p8:4703 success++
inc p8b_main.p8v_success
label_asm_586_afterif
; source: test_word_lt.p8:4706 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bmi p8l_lbl49a
; source: test_word_lt.p8:4708 goto skip49a
bra p8l_skip49a
; source: test_word_lt.p8:4709 lbl49a: fail_word(445)
p8l_lbl49a
ldy #>$01bd
lda #<$01bd
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4710 skip49a:
p8l_skip49a
; source: test_word_lt.p8:4712 cx16.r3 = &lbl49b
lda #<p8l_lbl49b
ldy #>p8l_lbl49b
sta cx16.r3
sty cx16.r3+1
; source: test_word_lt.p8:4713 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #128
+ bpl +
jmp (cx16.r3)
+
; source: test_word_lt.p8:4715 goto skip49b
bra p8l_skip49b
; source: test_word_lt.p8:4716 lbl49b: fail_word(446)
p8l_lbl49b
ldy #>$01be
lda #<$01be
jsr p8b_main.p8s_fail_word
; source: test_word_lt.p8:4717 skip49b:
p8l_skip49b
; source: test_word_lt.p8:4719 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_588_afterif
; source: test_word_lt.p8:4720 fail_word(447)
ldy #>$01bf
lda #<$01bf
jsr p8b_main.p8s_fail_word
label_asm_588_afterif
; source: test_word_lt.p8:4723 if x<cx16.r4s+32767-cx16.r5s
ldy cx16.r4s+1
lda cx16.r4s
clc
adc #<$7fff
tax
tya
adc #>$7fff
tay
txa
sec
sbc cx16.r5s
tax
tya
sbc cx16.r5s+1
tay
txa
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy p8v_x+1
lda p8v_x
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvs +
eor #128
+ bmi label_asm_590_else
; source: test_word_lt.p8:4724 fail_word(448)
ldy #>$01c0
lda #<$01c0
jsr p8b_main.p8s_fail_word
bra label_asm_589_afterif
label_asm_590_else
; source: test_word_lt.p8:4726 success++
inc p8b_main.p8v_success
label_asm_589_afterif
; source: test_word_lt.p8:4728 verify_success(112)
lda #$70
jmp p8b_main.p8s_verify_success
; source: test_word_lt.p8:3587 sub test_cmp_expr() {
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
p8v_f4 .fill 5
p8v_f5 .fill 5
p8v_x .sint ?
.send BSS
.pend
prog8_init_vars .block
rts
.bend
.pend
; ---- block: 'prog8_interned_strings' ----
prog8_interned_strings .proc
; non-zeropage variables
string_1 ; PETSCII:"\nless-than tests for: "
.byte $0d, $4c, $45, $53, $53, $2d, $54, $48, $41, $4e, $20, $54, $45, $53, $54, $53
.byte $20, $46, $4f, $52, $3a, $20, $00
string_10 ; PETSCII:" **"
.byte $20, $2a, $2a, $00
string_2 ; PETSCII:"\n<number: "
.byte $0d, $3c, $4e, $55, $4d, $42, $45, $52, $3a, $20, $00
string_3 ; PETSCII:"\n<var: "
.byte $0d, $3c, $56, $41, $52, $3a, $20, $00
string_4 ; PETSCII:"\n<array[]: "
.byte $0d, $3c, $41, $52, $52, $41, $59, $5b, $5d, $3a, $20, $00
string_5 ; PETSCII:"\n<expr: "
.byte $0d, $3c, $45, $58, $50, $52, $3a, $20, $00
string_7 ; PETSCII:" **failed** "
.byte $20, $2a, $2a, $46, $41, $49, $4c, $45, $44, $2a, $2a, $20, $00
string_8 ; PETSCII:" success, expected "
.byte $20, $53, $55, $43, $43, $45, $53, $53, $2c, $20, $45, $58, $50, $45, $43, $54
.byte $45, $44, $20, $00
string_9 ; PETSCII:" **fail#"
.byte $20, $2a, $2a, $46, $41, $49, $4c, $23, $00
; source: test_word_lt.p8:14 txt.print("\nless-than tests for: ")
; source: test_word_lt.p8:18 txt.print("\n<number: ")
; source: test_word_lt.p8:20 txt.print("\n<var: ")
; source: test_word_lt.p8:22 txt.print("\n<array[]: ")
; source: test_word_lt.p8:24 txt.print("\n<expr: ")
; source: test_word_lt.p8:33 txt.print(" **failed** ")
; source: test_word_lt.p8:35 txt.print(" success, expected ")
; source: test_word_lt.p8:41 txt.print(" **fail#")
; source: test_word_lt.p8:43 txt.print(" **")
.pend
; ---- block: 'txt' ----
txt .proc
; source: library:/prog8lib/cx16/textio.p8:9 txt {
DEFAULT_HEIGHT = $3c
DEFAULT_WIDTH = $50
VERA_TEXTMATRIX_ADDR = $b000
VERA_TEXTMATRIX_BANK = 1
chrout = $ffd2
; source: library:/prog8lib/cx16/textio.p8:13 const ubyte DEFAULT_WIDTH = 80
; source: library:/prog8lib/cx16/textio.p8:14 const ubyte DEFAULT_HEIGHT = 60
; source: library:/prog8lib/cx16/textio.p8:16 const ubyte VERA_TEXTMATRIX_BANK = 1
; source: library:/prog8lib/cx16/textio.p8:17 const uword VERA_TEXTMATRIX_ADDR = $b000
; source: library:/prog8lib/shared_textio_functions.p8:1 txt {
; source: library:/prog8lib/cx16/textio.p8:11 %option no_symbol_prefixing, ignore_unused
; source: library:/prog8lib/cx16/textio.p8:40 asmsub column(ubyte col @A) clobbers(A, X, Y) {
column .proc
; source: library:/prog8lib/cx16/textio.p8:42 %asm {{
sec
jsr cbm.PLOT
tay
clc
jmp cbm.PLOT
.pend
; source: library:/prog8lib/cx16/textio.p8:51 asmsub get_column() -> ubyte @Y {
get_column .proc
; source: library:/prog8lib/cx16/textio.p8:52 %asm {{
sec
jmp cbm.PLOT
.pend
; source: library:/prog8lib/cx16/textio.p8:58 asmsub row(ubyte rownum @A) clobbers(A, X, Y) {
row .proc
; source: library:/prog8lib/cx16/textio.p8:60 %asm {{
sec
jsr cbm.PLOT
tax
clc
jmp cbm.PLOT
.pend
; source: library:/prog8lib/cx16/textio.p8:69 asmsub get_row() -> ubyte @X {
get_row .proc
; source: library:/prog8lib/cx16/textio.p8:70 %asm {{
sec
jmp cbm.PLOT
.pend
; source: library:/prog8lib/cx16/textio.p8:88 asmsub fill_screen (ubyte character @ A, ubyte color @ Y) clobbers(A, X) {
fill_screen .proc
; source: library:/prog8lib/cx16/textio.p8:90 %asm {{
sty _ly+1
pha
jsr cbm.SCREEN ; get dimensions in X/Y
txa
lsr a
lsr a
sta _lx+1
lda #%00010000
jsr set_vera_textmatrix_addresses
pla
_lx ldx #0 ; modified
phy
_ly ldy #1 ; modified
- sta cx16.VERA_DATA0
sty cx16.VERA_DATA0
sta cx16.VERA_DATA0
sty cx16.VERA_DATA0
sta cx16.VERA_DATA0
sty cx16.VERA_DATA0
sta cx16.VERA_DATA0
sty cx16.VERA_DATA0
dex
bne -
ply
dey
beq +
stz cx16.VERA_ADDR_L
inc cx16.VERA_ADDR_M ; next line
bra _lx
+ rts
set_vera_textmatrix_addresses:
stz cx16.VERA_CTRL
ora #VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H
stz cx16.VERA_ADDR_L ; start at (0,0)
lda #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:134 asmsub clear_screenchars (ubyte character @ A) clobbers(X, Y) {
clear_screenchars .proc
; source: library:/prog8lib/cx16/textio.p8:137 %asm {{
pha
jsr cbm.SCREEN ; get dimensions in X/Y
txa
lsr a
lsr a
sta _lx+1
lda #%00100000
jsr fill_screen.set_vera_textmatrix_addresses
pla
_lx ldx #0 ; modified
- sta cx16.VERA_DATA0
sta cx16.VERA_DATA0
sta cx16.VERA_DATA0
sta cx16.VERA_DATA0
dex
bne -
dey
beq +
stz cx16.VERA_ADDR_L
inc cx16.VERA_ADDR_M ; next line
bra _lx
+ rts
.pend
; source: library:/prog8lib/cx16/textio.p8:163 asmsub clear_screencolors (ubyte color @ A) clobbers(X, Y) {
clear_screencolors .proc
; source: library:/prog8lib/cx16/textio.p8:166 %asm {{
sta _la+1
jsr cbm.SCREEN ; get dimensions in X/Y
txa
lsr a
lsr a
sta _lx+1
stz cx16.VERA_CTRL
lda #%00100000
jsr fill_screen.set_vera_textmatrix_addresses
inc cx16.VERA_ADDR_L ; start at (1,0) - the color attribute byte
_lx ldx #0 ; modified
_la lda #0 ; modified
- sta cx16.VERA_DATA0
sta cx16.VERA_DATA0
sta cx16.VERA_DATA0
sta cx16.VERA_DATA0
dex
bne -
dey
beq +
lda #1
sta cx16.VERA_ADDR_L
inc cx16.VERA_ADDR_M ; next line
bra _lx
+ rts
.pend
; source: library:/prog8lib/cx16/textio.p8:232 asmsub scroll_left() clobbers(A, X, Y) {
scroll_left .proc
; source: library:/prog8lib/cx16/textio.p8:235 %asm {{
jsr cbm.SCREEN
dex
stx _lx+1
dey
sty P8ZP_SCRATCH_B1 ; number of rows to scroll
_nextline
stz cx16.VERA_CTRL ; data port 0: source column
lda #%00010000 | VERA_TEXTMATRIX_BANK ; auto increment 1
sta cx16.VERA_ADDR_H
lda #2
sta cx16.VERA_ADDR_L ; begin in column 1
lda P8ZP_SCRATCH_B1
clc
adc #>VERA_TEXTMATRIX_ADDR
tay
sty cx16.VERA_ADDR_M
lda #1
sta cx16.VERA_CTRL ; data port 1: destination column
lda #%00010000 | VERA_TEXTMATRIX_BANK ; auto increment 1
sta cx16.VERA_ADDR_H
stz cx16.VERA_ADDR_L
sty cx16.VERA_ADDR_M
_lx ldx #0 ; modified
- lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy char
lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy color
dex
bne -
dec P8ZP_SCRATCH_B1
bpl _nextline
lda #0
sta cx16.VERA_CTRL
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:276 asmsub scroll_right() clobbers(A,X,Y) {
scroll_right .proc
; source: library:/prog8lib/cx16/textio.p8:279 %asm {{
jsr cbm.SCREEN
dex
stx _lx+1
txa
asl a
dea
sta _rcol+1
ina
ina
sta _rcol2+1
dey
sty P8ZP_SCRATCH_B1 ; number of rows to scroll
_nextline
stz cx16.VERA_CTRL ; data port 0: source column
lda #%00011000 | VERA_TEXTMATRIX_BANK ; auto decrement 1
sta cx16.VERA_ADDR_H
_rcol lda #79*2-1 ; modified
sta cx16.VERA_ADDR_L ; begin in rightmost column minus one
lda P8ZP_SCRATCH_B1
clc
adc #>VERA_TEXTMATRIX_ADDR
tay
sty cx16.VERA_ADDR_M
lda #1
sta cx16.VERA_CTRL ; data port 1: destination column
lda #%00011000 | VERA_TEXTMATRIX_BANK ; auto decrement 1
sta cx16.VERA_ADDR_H
_rcol2 lda #79*2+1 ; modified
sta cx16.VERA_ADDR_L
sty cx16.VERA_ADDR_M
_lx ldx #0 ; modified
- lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy char
lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy color
dex
bne -
dec P8ZP_SCRATCH_B1
bpl _nextline
lda #0
sta cx16.VERA_CTRL
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:328 asmsub scroll_up() clobbers(A, X, Y) {
scroll_up .proc
; source: library:/prog8lib/cx16/textio.p8:331 %asm {{
jsr cbm.SCREEN
stx _nextline+1
dey
sty P8ZP_SCRATCH_B1
stz cx16.VERA_CTRL ; data port 0 is source
lda #1 | (>VERA_TEXTMATRIX_ADDR)
sta cx16.VERA_ADDR_M ; start at second line
stz cx16.VERA_ADDR_L
lda #%00010000 | VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H ; enable auto increment by 1, bank 0.
lda #1
sta cx16.VERA_CTRL ; data port 1 is destination
lda #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M ; start at top line
stz cx16.VERA_ADDR_L
lda #%00010000 | VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H ; enable auto increment by 1, bank 0.
_nextline
ldx #80 ; modified
- lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy char
lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy color
dex
bne -
dec P8ZP_SCRATCH_B1
beq +
stz cx16.VERA_CTRL ; data port 0
stz cx16.VERA_ADDR_L
inc cx16.VERA_ADDR_M
lda #1
sta cx16.VERA_CTRL ; data port 1
stz cx16.VERA_ADDR_L
inc cx16.VERA_ADDR_M
bra _nextline
+ lda #0
sta cx16.VERA_CTRL
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:376 asmsub scroll_down() clobbers(A, X, Y) {
scroll_down .proc
; source: library:/prog8lib/cx16/textio.p8:379 %asm {{
jsr cbm.SCREEN
stx _nextline+1
dey
sty P8ZP_SCRATCH_B1
stz cx16.VERA_CTRL ; data port 0 is source
dey
tya
clc
adc #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M ; start at line before bottom line
stz cx16.VERA_ADDR_L
lda #%00010000 | VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H ; enable auto increment by 1, bank 0.
lda #1
sta cx16.VERA_CTRL ; data port 1 is destination
iny
tya
clc
adc #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M ; start at bottom line
stz cx16.VERA_ADDR_L
lda #%00010000 | VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H ; enable auto increment by 1, bank 0.
_nextline
ldx #80 ; modified
- lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy char
lda cx16.VERA_DATA0
sta cx16.VERA_DATA1 ; copy color
dex
bne -
dec P8ZP_SCRATCH_B1
beq +
stz cx16.VERA_CTRL ; data port 0
stz cx16.VERA_ADDR_L
dec cx16.VERA_ADDR_M
lda #1
sta cx16.VERA_CTRL ; data port 1
stz cx16.VERA_ADDR_L
dec cx16.VERA_ADDR_M
bra _nextline
+ lda #0
sta cx16.VERA_CTRL
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:430 romsub $FFD2 = chrout(ubyte character @ A) ; for consistency. You can also use cbm.CHROUT directly ofcourse. Note: takes a PETSCII encoded character.
; source: library:/prog8lib/cx16/textio.p8:432 asmsub print (str text @ AY) clobbers(A,Y) {
print .proc
; source: library:/prog8lib/cx16/textio.p8:437 %asm {{
sta P8ZP_SCRATCH_B1
sty P8ZP_SCRATCH_REG
ldy #0
- lda (P8ZP_SCRATCH_B1),y
beq +
jsr cbm.CHROUT
iny
bne -
+ rts
.pend
; source: library:/prog8lib/cx16/textio.p8:450 asmsub print_ub0 (ubyte value @ A) clobbers(A,X,Y) {
print_ub0 .proc
; source: library:/prog8lib/cx16/textio.p8:452 %asm {{
jsr conv.ubyte2decimal
pha
tya
jsr cbm.CHROUT
pla
jsr cbm.CHROUT
txa
jmp cbm.CHROUT
.pend
; source: library:/prog8lib/cx16/textio.p8:464 asmsub print_ub (ubyte value @ A) clobbers(A,X,Y) {
print_ub .proc
; source: library:/prog8lib/cx16/textio.p8:466 %asm {{
jsr conv.ubyte2decimal
_print_byte_digits
pha
cpy #'0'
beq +
tya
jsr cbm.CHROUT
pla
jsr cbm.CHROUT
bra _ones
+ pla
cmp #'0'
beq _ones
jsr cbm.CHROUT
_ones txa
jmp cbm.CHROUT
.pend
; source: library:/prog8lib/cx16/textio.p8:486 asmsub print_b (byte value @ A) clobbers(A,X,Y) {
print_b .proc
; source: library:/prog8lib/cx16/textio.p8:488 %asm {{
pha
cmp #0
bpl +
lda #'-'
jsr cbm.CHROUT
+ pla
jsr conv.byte2decimal
bra print_ub._print_byte_digits
.pend
; source: library:/prog8lib/cx16/textio.p8:500 asmsub print_ubhex (ubyte value @ A, bool prefix @ Pc) clobbers(A,X,Y) {
print_ubhex .proc
; source: library:/prog8lib/cx16/textio.p8:502 %asm {{
bcc +
pha
lda #'$'
jsr cbm.CHROUT
pla
+ jsr conv.ubyte2hex
jsr cbm.CHROUT
tya
jmp cbm.CHROUT
.pend
; source: library:/prog8lib/cx16/textio.p8:515 asmsub print_ubbin (ubyte value @ A, bool prefix @ Pc) clobbers(A,X,Y) {
print_ubbin .proc
; source: library:/prog8lib/cx16/textio.p8:517 %asm {{
sta P8ZP_SCRATCH_B1
bcc +
lda #'%'
jsr cbm.CHROUT
+ ldy #8
- lda #'0'
asl P8ZP_SCRATCH_B1
bcc +
lda #'1'
+ jsr cbm.CHROUT
dey
bne -
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:534 asmsub print_uwbin (uword value @ AY, bool prefix @ Pc) clobbers(A,X,Y) {
print_uwbin .proc
; source: library:/prog8lib/cx16/textio.p8:536 %asm {{
pha
tya
jsr print_ubbin
pla
clc
bra print_ubbin
.pend
; source: library:/prog8lib/cx16/textio.p8:546 asmsub print_uwhex (uword value @ AY, bool prefix @ Pc) clobbers(A,X,Y) {
print_uwhex .proc
; source: library:/prog8lib/cx16/textio.p8:549 %asm {{
pha
tya
jsr print_ubhex
pla
clc
bra print_ubhex
.pend
; source: library:/prog8lib/cx16/textio.p8:559 asmsub print_uw0 (uword value @ AY) clobbers(A,X,Y) {
print_uw0 .proc
; source: library:/prog8lib/cx16/textio.p8:561 %asm {{
jsr conv.uword2decimal
ldy #0
- lda conv.uword2decimal.decTenThousands,y
beq +
jsr cbm.CHROUT
iny
bne -
+ rts
.pend
; source: library:/prog8lib/cx16/textio.p8:573 asmsub print_uw (uword value @ AY) clobbers(A,X,Y) {
print_uw .proc
; source: library:/prog8lib/cx16/textio.p8:575 %asm {{
jsr conv.uword2decimal
ldy #0
- lda conv.uword2decimal.decTenThousands,y
beq _allzero
cmp #'0'
bne _gotdigit
iny
bne -
_gotdigit
jsr cbm.CHROUT
iny
lda conv.uword2decimal.decTenThousands,y
bne _gotdigit
rts
_allzero
lda #'0'
jmp cbm.CHROUT
.pend
; source: library:/prog8lib/cx16/textio.p8:597 asmsub print_w (word value @ AY) clobbers(A,X,Y) {
print_w .proc
; source: library:/prog8lib/cx16/textio.p8:599 %asm {{
cpy #0
bpl +
pha
lda #'-'
jsr cbm.CHROUT
tya
eor #255
tay
pla
eor #255
ina
bne +
iny
+ bra print_uw
.pend
; source: library:/prog8lib/cx16/textio.p8:617 asmsub input_chars (uword buffer @ AY) clobbers(A) -> ubyte @ Y {
input_chars .proc
; source: library:/prog8lib/cx16/textio.p8:622 %asm {{
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0 ; char counter = 0
- jsr cbm.CHRIN
cmp #$0d ; return (ascii 13) pressed?
beq + ; yes, end.
sta (P8ZP_SCRATCH_W1),y ; else store char in buffer
iny
bne -
+ lda #0
sta (P8ZP_SCRATCH_W1),y ; finish string with 0 byte
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:639 asmsub setchr (ubyte col @X, ubyte row @Y, ubyte character @A) clobbers(A) {
setchr .proc
; source: library:/prog8lib/cx16/textio.p8:641 %asm {{
pha
stz cx16.VERA_CTRL
lda #VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H
txa
asl a
sta cx16.VERA_ADDR_L
tya
; clc
adc #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M
pla
sta cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:659 asmsub getchr (ubyte col @A, ubyte row @Y) -> ubyte @ A {
getchr .proc
; source: library:/prog8lib/cx16/textio.p8:661 %asm {{
asl a
pha
stz cx16.VERA_CTRL
lda #VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H
pla
sta cx16.VERA_ADDR_L
tya
; clc
adc #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M
lda cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:678 asmsub setclr (ubyte col @X, ubyte row @Y, ubyte color @A) clobbers(A) {
setclr .proc
; source: library:/prog8lib/cx16/textio.p8:682 %asm {{
pha
stz cx16.VERA_CTRL
lda #VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H
txa
asl a
ina
sta cx16.VERA_ADDR_L
tya
; clc
adc #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M
pla
sta cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:701 asmsub getclr (ubyte col @A, ubyte row @Y) -> ubyte @ A {
getclr .proc
; source: library:/prog8lib/cx16/textio.p8:703 %asm {{
asl a
ina
pha
stz cx16.VERA_CTRL
lda #VERA_TEXTMATRIX_BANK
sta cx16.VERA_ADDR_H
pla
sta cx16.VERA_ADDR_L
tya
; clc
adc #>VERA_TEXTMATRIX_ADDR
sta cx16.VERA_ADDR_M
lda cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:778 asmsub plot (ubyte col @ Y, ubyte row @ X) {
plot .proc
; source: library:/prog8lib/cx16/textio.p8:779 %asm {{
clc
jmp cbm.PLOT
.pend
; source: library:/prog8lib/cx16/textio.p8:785 asmsub width() clobbers(X,Y) -> ubyte @A {
width .proc
; source: library:/prog8lib/cx16/textio.p8:787 %asm {{
jsr cbm.SCREEN
txa
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:794 asmsub height() clobbers(X, Y) -> ubyte @A {
height .proc
; source: library:/prog8lib/cx16/textio.p8:796 %asm {{
jsr cbm.SCREEN
tya
rts
.pend
; source: library:/prog8lib/cx16/textio.p8:803 asmsub waitkey() -> ubyte @A {
waitkey .proc
; source: library:/prog8lib/cx16/textio.p8:804 %asm {{
- jsr cbm.GETIN
beq -
rts
.pend
; source: library:/prog8lib/shared_textio_functions.p8:5 asmsub petscii2scr(ubyte petscii_char @A) -> ubyte @A {
petscii2scr .proc
; source: library:/prog8lib/shared_textio_functions.p8:7 %asm {{
sta P8ZP_SCRATCH_REG
lsr a
lsr a
lsr a
lsr a
lsr a
tax
lda _offsets,x
eor P8ZP_SCRATCH_REG
rts
_offsets .byte 128, 0, 64, 32, 64, 192, 128, 128
.pend
; source: library:/prog8lib/shared_textio_functions.p8:22 asmsub petscii2scr_str(str petscii_string @AY) {
petscii2scr_str .proc
; source: library:/prog8lib/shared_textio_functions.p8:24 %asm {{
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
- lda (P8ZP_SCRATCH_W1),y
beq +
jsr petscii2scr
sta (P8ZP_SCRATCH_W1),y
iny
bne -
+ rts
.pend
.pend
; ---- block: 'cbm' ----
cbm .proc
; source: library:/prog8lib/cx16/syslib.p8:6 cbm {
CINT = $ff81
IOINIT = $ff84
RAMTAS = $ff87
RESTOR = $ff8a
VECTOR = $ff8d
SETMSG = $ff90
SECOND = $ff93
TKSA = $ff96
MEMTOP = $ff99
MEMBOT = $ff9c
SCNKEY = $ff9f
SETTMO = $ffa2
ACPTR = $ffa5
CIOUT = $ffa8
UNTLK = $ffab
UNLSN = $ffae
LISTEN = $ffb1
TALK = $ffb4
READST = $ffb7
SETLFS = $ffba
SETNAM = $ffbd
OPEN = $ffc0
CLOSE = $ffc3
CHKIN = $ffc6
CHKOUT = $ffc9
CLRCHN = $ffcc
CHRIN = $ffcf
CHROUT = $ffd2
LOAD = $ffd5
SAVE = $ffd8
SETTIM = $ffdb
RDTIM = $ffde
STOP = $ffe1
GETIN = $ffe4
CLALL = $ffe7
UDTIM = $ffea
SCREEN = $ffed
PLOT = $fff0
IOBASE = $fff3
; source: library:/prog8lib/cx16/syslib.p8:14 romsub $FF81 = CINT() clobbers(A,X,Y) ; (alias: SCINIT) initialize screen editor and video chip, including resetting to the default color palette. Note: also sets the video mode back to VGA
; source: library:/prog8lib/cx16/syslib.p8:15 romsub $FF84 = IOINIT() clobbers(A, X) ; initialize I/O devices (CIA, IRQ, ...)
; source: library:/prog8lib/cx16/syslib.p8:16 romsub $FF87 = RAMTAS() clobbers(A,X,Y) ; initialize RAM, screen
; source: library:/prog8lib/cx16/syslib.p8:17 romsub $FF8A = RESTOR() clobbers(A,X,Y) ; restore default I/O vectors
; source: library:/prog8lib/cx16/syslib.p8:18 romsub $FF8D = VECTOR(uword userptr @ XY, bool dir @ Pc) clobbers(A,Y) ; read/set I/O vector table
; source: library:/prog8lib/cx16/syslib.p8:19 romsub $FF90 = SETMSG(ubyte value @ A) ; set Kernal message control flag
; source: library:/prog8lib/cx16/syslib.p8:20 romsub $FF93 = SECOND(ubyte address @ A) clobbers(A) ; (alias: LSTNSA) send secondary address after LISTEN
; source: library:/prog8lib/cx16/syslib.p8:21 romsub $FF96 = TKSA(ubyte address @ A) clobbers(A) ; (alias: TALKSA) send secondary address after TALK
; source: library:/prog8lib/cx16/syslib.p8:22 romsub $FF99 = MEMTOP(uword address @ XY, bool dir @ Pc) -> uword @ XY ; read/set top of memory pointer. NOTE: as a Cx16 extension, also returns the number of RAM memory banks in register A ! See cx16.numbanks()
; source: library:/prog8lib/cx16/syslib.p8:23 romsub $FF9C = MEMBOT(uword address @ XY, bool dir @ Pc) -> uword @ XY ; read/set bottom of memory pointer
; source: library:/prog8lib/cx16/syslib.p8:24 romsub $FF9F = SCNKEY() clobbers(A,X,Y) ; scan the keyboard, also called kbd_scan
; source: library:/prog8lib/cx16/syslib.p8:25 romsub $FFA2 = SETTMO(ubyte timeout @ A) ; set time-out flag for IEEE bus
; source: library:/prog8lib/cx16/syslib.p8:26 romsub $FFA5 = ACPTR() -> ubyte @ A ; (alias: IECIN) input byte from serial bus
; source: library:/prog8lib/cx16/syslib.p8:27 romsub $FFA8 = CIOUT(ubyte databyte @ A) ; (alias: IECOUT) output byte to serial bus
; source: library:/prog8lib/cx16/syslib.p8:28 romsub $FFAB = UNTLK() clobbers(A) ; command serial bus device to UNTALK
; source: library:/prog8lib/cx16/syslib.p8:29 romsub $FFAE = UNLSN() clobbers(A) ; command serial bus device to UNLISTEN
; source: library:/prog8lib/cx16/syslib.p8:30 romsub $FFB1 = LISTEN(ubyte device @ A) clobbers(A) ; command serial bus device to LISTEN
; source: library:/prog8lib/cx16/syslib.p8:31 romsub $FFB4 = TALK(ubyte device @ A) clobbers(A) ; command serial bus device to TALK
; source: library:/prog8lib/cx16/syslib.p8:32 romsub $FFB7 = READST() -> ubyte @ A ; read I/O status word (use CLEARST to reset it to 0)
; source: library:/prog8lib/cx16/syslib.p8:33 romsub $FFBA = SETLFS(ubyte logical @ A, ubyte device @ X, ubyte secondary @ Y) ; set logical file parameters
; source: library:/prog8lib/cx16/syslib.p8:34 romsub $FFBD = SETNAM(ubyte namelen @ A, str filename @ XY) ; set filename parameters
; source: library:/prog8lib/cx16/syslib.p8:35 romsub $FFC0 = OPEN() clobbers(X,Y) -> bool @Pc, ubyte @A ; (via 794 ($31A)) open a logical file
; source: library:/prog8lib/cx16/syslib.p8:36 romsub $FFC3 = CLOSE(ubyte logical @ A) clobbers(A,X,Y) ; (via 796 ($31C)) close a logical file
; source: library:/prog8lib/cx16/syslib.p8:37 romsub $FFC6 = CHKIN(ubyte logical @ X) clobbers(A,X) -> bool @Pc ; (via 798 ($31E)) define an input channel
; source: library:/prog8lib/cx16/syslib.p8:38 romsub $FFC9 = CHKOUT(ubyte logical @ X) clobbers(A,X) ; (via 800 ($320)) define an output channel
; source: library:/prog8lib/cx16/syslib.p8:39 romsub $FFCC = CLRCHN() clobbers(A,X) ; (via 802 ($322)) restore default devices
; source: library:/prog8lib/cx16/syslib.p8:40 romsub $FFCF = CHRIN() clobbers(X, Y) -> ubyte @ A ; (via 804 ($324)) input a character (for keyboard, read a whole line from the screen) A=byte read.
; source: library:/prog8lib/cx16/syslib.p8:41 romsub $FFD2 = CHROUT(ubyte character @ A) ; (via 806 ($326)) output a character
; source: library:/prog8lib/cx16/syslib.p8:42 romsub $FFD5 = LOAD(ubyte verify @ A, uword address @ XY) -> bool @Pc, ubyte @ A, uword @ XY ; (via 816 ($330)) load from device
; source: library:/prog8lib/cx16/syslib.p8:43 romsub $FFD8 = SAVE(ubyte zp_startaddr @ A, uword endaddr @ XY) clobbers (X, Y) -> bool @ Pc, ubyte @ A ; (via 818 ($332)) save to a device. See also BSAVE
; source: library:/prog8lib/cx16/syslib.p8:44 romsub $FFDB = SETTIM(ubyte low @ A, ubyte middle @ X, ubyte high @ Y) ; set the software clock
; source: library:/prog8lib/cx16/syslib.p8:45 romsub $FFDE = RDTIM() -> ubyte @ A, ubyte @ X, ubyte @ Y ; read the software clock (A=lo,X=mid,Y=high)
; source: library:/prog8lib/cx16/syslib.p8:46 romsub $FFE1 = STOP() clobbers(X) -> bool @ Pz, ubyte @ A ; (via 808 ($328)) check the STOP key (and some others in A)
; source: library:/prog8lib/cx16/syslib.p8:47 romsub $FFE4 = GETIN() clobbers(X,Y) -> bool @Pc, ubyte @ A ; (via 810 ($32A)) get a character
; source: library:/prog8lib/cx16/syslib.p8:48 romsub $FFE7 = CLALL() clobbers(A,X) ; (via 812 ($32C)) close all files
; source: library:/prog8lib/cx16/syslib.p8:49 romsub $FFEA = UDTIM() clobbers(A,X) ; update the software clock
; source: library:/prog8lib/cx16/syslib.p8:50 romsub $FFED = SCREEN() -> ubyte @ X, ubyte @ Y ; read number of screen rows and columns
; source: library:/prog8lib/cx16/syslib.p8:51 romsub $FFF0 = PLOT(ubyte col @ Y, ubyte row @ X, bool dir @ Pc) -> ubyte @ X, ubyte @ Y ; read/set position of cursor on screen. Use txt.plot for a 'safe' wrapper that preserves X.
; source: library:/prog8lib/cx16/syslib.p8:52 romsub $FFF3 = IOBASE() -> uword @ XY ; read base address of I/O devices
; source: library:/prog8lib/cx16/syslib.p8:56 asmsub STOP2() clobbers(X) -> bool @A {
STOP2 .proc
; source: library:/prog8lib/cx16/syslib.p8:58 %asm {{
jsr cbm.STOP
beq +
lda #0
rts
+ lda #1
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:68 asmsub RDTIM16() clobbers(X) -> uword @AY {
RDTIM16 .proc
; source: library:/prog8lib/cx16/syslib.p8:70 %asm {{
php
sei
jsr cbm.RDTIM
plp
cli
pha
txa
tay
pla
rts
.pend
.pend
; ---- block: 'cx16' ----
cx16 .proc
; source: library:/prog8lib/cx16/syslib.p8:95 cx16 {
r0 = 2
r0s = 2
r0L = 2
r0sL = 2
r0H = 3
r0sH = 3
r1 = 4
r1s = 4
r1L = 4
r1sL = 4
r1H = 5
r1sH = 5
r2 = 6
r2s = 6
r2L = 6
r2sL = 6
r2H = 7
r2sH = 7
r3 = 8
r3s = 8
r3L = 8
r3sL = 8
r3H = 9
r3sH = 9
r4 = 10
r4s = 10
r4L = 10
r4sL = 10
r4H = 11
r4sH = 11
r5 = 12
r5s = 12
r5L = 12
r5sL = 12
r5H = 13
r5sH = 13
r6 = 14
r6s = 14
r6L = 14
r6sL = 14
r6H = 15
r6sH = 15
r7 = $10
r7s = $10
r7L = $10
r7sL = $10
r7H = $11
r7sH = $11
r8 = $12
r8s = $12
r8L = $12
r8sL = $12
r8H = $13
r8sH = $13
r9 = $14
r9s = $14
r9L = $14
r9sL = $14
r9H = $15
r9sH = $15
r10 = $16
r10s = $16
r10L = $16
r10sL = $16
r10H = $17
r10sH = $17
r11 = $18
r11s = $18
r11L = $18
r11sL = $18
r11H = $19
r11sH = $19
r12 = $1a
r12s = $1a
r12L = $1a
r12sL = $1a
r12H = $1b
r12sH = $1b
r13 = $1c
r13s = $1c
r13L = $1c
r13sL = $1c
r13H = $1d
r13sH = $1d
r14 = $1e
r14s = $1e
r14L = $1e
r14sL = $1e
r14H = $1f
r14sH = $1f
r15 = $20
r15s = $20
r15L = $20
r15sL = $20
r15H = $21
r15sH = $21
IERROR = $0300
IMAIN = $0302
ICRNCH = $0304
IQPLOP = $0306
IGONE = $0308
IEVAL = $030a
SAREG = $030c
SXREG = $030d
SYREG = $030e
SPREG = $030f
USRADD = $0311
CINV = $0314
CBINV = $0316
NMINV = $0318
IOPEN = $031a
ICLOSE = $031c
ICHKIN = $031e
ICKOUT = $0320
ICLRCH = $0322
IBASIN = $0324
IBSOUT = $0326
ISTOP = $0328
IGETIN = $032a
ICLALL = $032c
KEYHDL = $032e
ILOAD = $0330
ISAVE = $0332
via1prb = $9f00
via1pra = $9f01
via1ddrb = $9f02
via1ddra = $9f03
via1t1l = $9f04
via1t1h = $9f05
via1t1ll = $9f06
via1t1lh = $9f07
via1t2l = $9f08
via1t2h = $9f09
via1sr = $9f0a
via1acr = $9f0b
via1pcr = $9f0c
via1ifr = $9f0d
via1ier = $9f0e
via1ora = $9f0f
via2prb = $9f10
via2pra = $9f11
via2ddrb = $9f12
via2ddra = $9f13
via2t1l = $9f14
via2t1h = $9f15
via2t1ll = $9f16
via2t1lh = $9f17
via2t2l = $9f18
via2t2h = $9f19
via2sr = $9f1a
via2acr = $9f1b
via2pcr = $9f1c
via2ifr = $9f1d
via2ier = $9f1e
via2ora = $9f1f
VERA_ADDR_L = $9f20
VERA_ADDR = $9f20
VERA_ADDR_M = $9f21
VERA_ADDR_H = $9f22
VERA_DATA0 = $9f23
VERA_DATA1 = $9f24
VERA_CTRL = $9f25
VERA_IEN = $9f26
VERA_ISR = $9f27
VERA_IRQLINE_L = $9f28
VERA_SCANLINE_L = $9f28
VERA_DC_VIDEO = $9f29
VERA_DC_HSTART = $9f29
VERA_DC_VER0 = $9f29
VERA_FX_CTRL = $9f29
VERA_FX_X_INCR_L = $9f29
VERA_FX_X_INCR = $9f29
VERA_FX_X_POS_L = $9f29
VERA_FX_X_POS = $9f29
VERA_FX_X_POS_S = $9f29
VERA_FX_CACHE_L = $9f29
VERA_FX_ACCUM_RESET = $9f29
VERA_DC_HSCALE = $9f2a
VERA_DC_HSTOP = $9f2a
VERA_DC_VER1 = $9f2a
VERA_FX_TILEBASE = $9f2a
VERA_FX_X_INCR_H = $9f2a
VERA_FX_X_POS_H = $9f2a
VERA_FX_Y_POS_S = $9f2a
VERA_FX_CACHE_M = $9f2a
VERA_FX_ACCUM = $9f2a
VERA_DC_VSCALE = $9f2b
VERA_DC_VSTART = $9f2b
VERA_DC_VER2 = $9f2b
VERA_FX_MAPBASE = $9f2b
VERA_FX_Y_INCR_L = $9f2b
VERA_FX_Y_INCR = $9f2b
VERA_FX_Y_POS_L = $9f2b
VERA_FX_Y_POS = $9f2b
VERA_FX_POLY_FILL_L = $9f2b
VERA_FX_POLY_FILL = $9f2b
VERA_FX_CACHE_H = $9f2b
VERA_DC_BORDER = $9f2c
VERA_DC_VSTOP = $9f2c
VERA_DC_VER3 = $9f2c
VERA_FX_MULT = $9f2c
VERA_FX_Y_INCR_H = $9f2c
VERA_FX_Y_POS_H = $9f2c
VERA_FX_POLY_FILL_H = $9f2c
VERA_FX_CACHE_U = $9f2c
VERA_L0_CONFIG = $9f2d
VERA_L0_MAPBASE = $9f2e
VERA_L0_TILEBASE = $9f2f
VERA_L0_HSCROLL_L = $9f30
VERA_L0_HSCROLL = $9f30
VERA_L0_HSCROLL_H = $9f31
VERA_L0_VSCROLL_L = $9f32
VERA_L0_VSCROLL = $9f32
VERA_L0_VSCROLL_H = $9f33
VERA_L1_CONFIG = $9f34
VERA_L1_MAPBASE = $9f35
VERA_L1_TILEBASE = $9f36
VERA_L1_HSCROLL_L = $9f37
VERA_L1_HSCROLL = $9f37
VERA_L1_HSCROLL_H = $9f38
VERA_L1_VSCROLL_L = $9f39
VERA_L1_VSCROLL = $9f39
VERA_L1_VSCROLL_H = $9f3a
VERA_AUDIO_CTRL = $9f3b
VERA_AUDIO_RATE = $9f3c
VERA_AUDIO_DATA = $9f3d
VERA_SPI_DATA = $9f3e
VERA_SPI_CTRL = $9f3f
YM_ADDRESS = $9f40
YM_DATA = $9f41
edkeyvec = $ac03
edkeybk = $ac05
NMI_VEC = $fffa
RESET_VEC = $fffc
IRQ_VEC = $fffe
VERA_BASE = $9f20
VIA1_BASE = $9f00
VIA2_BASE = $9f10
extdev = $9f60
CLOSE_ALL = $ff4a
LKUPLA = $ff59
LKUPSA = $ff5c
screen_mode = $ff5f
screen_set_charset = $ff62
JSRFAR = $ff6e
fetch = $ff74
stash = $ff77
PRIMM = $ff7d
GRAPH_init = $ff20
GRAPH_clear = $ff23
GRAPH_set_window = $ff26
GRAPH_set_colors = $ff29
GRAPH_draw_line = $ff2c
GRAPH_draw_rect = $ff2f
GRAPH_move_rect = $ff32
GRAPH_draw_oval = $ff35
GRAPH_draw_image = $ff38
GRAPH_set_font = $ff3b
GRAPH_get_char_size = $ff3e
GRAPH_put_char = $ff41
GRAPH_put_next_char = $ff41
FB_init = $fef6
FB_get_info = $fef9
FB_set_palette = $fefc
FB_cursor_position = $feff
FB_cursor_next_line = $ff02
FB_get_pixel = $ff05
FB_get_pixels = $ff08
FB_set_pixel = $ff0b
FB_set_pixels = $ff0e
FB_set_8_pixels = $ff11
FB_set_8_pixels_opaque = $ff14
FB_fill_pixels = $ff17
FB_filter_pixels = $ff1a
FB_move_pixels = $ff1d
BSAVE = $feba
i2c_read_byte = $fec6
i2c_write_byte = $fec9
sprite_set_image = $fef0
sprite_set_position = $fef3
memory_fill = $fee4
memory_copy = $fee7
memory_crc = $feea
memory_decompress = $feed
console_init = $fedb
console_put_char = $fede
console_get_char = $fee1
console_put_image = $fed8
console_set_paging_message = $fed5
entropy_get = $fecf
monitor = $fecc
MACPTR = $ff44
MCIOUT = $feb1
enter_basic = $ff47
clock_set_date_time = $ff4d
clock_get_date_time = $ff50
kbdbuf_peek = $febd
kbdbuf_peek2 = $febd
kbdbuf_get_modifiers = $fec0
kbdbuf_put = $fec3
keymap = $fed2
mouse_config = $ff68
mouse_get = $ff6b
mouse_scan = $ff71
joystick_scan = $ff53
joystick_get = $ff56
joystick_get2 = $ff56
x16edit_default = $c000
x16edit_loadfile = $c003
x16edit_loadfile_options = $c006
audio_init = $c09f
bas_fmfreq = $c000
bas_fmnote = $c003
bas_fmplaystring = $c006
bas_fmvib = $c009
bas_playstringvoice = $c00c
bas_psgfreq = $c00f
bas_psgnote = $c012
bas_psgwav = $c015
bas_psgplaystring = $c018
bas_fmchordstring = $c08d
bas_psgchordstring = $c090
notecon_bas2fm = $c01b
notecon_bas2midi = $c01e
notecon_bas2psg = $c021
notecon_fm2bas = $c024
notecon_fm2midi = $c027
notecon_fm2psg = $c02a
notecon_freq2bas = $c02d
notecon_freq2fm = $c030
notecon_freq2midi = $c033
notecon_freq2psg = $c036
notecon_midi2bas = $c039
notecon_midi2fm = $c03c
notecon_midi2psg = $c03f
notecon_psg2bas = $c042
notecon_psg2fm = $c045
notecon_psg2midi = $c048
psg_init = $c04b
psg_playfreq = $c04e
psg_read = $c051
psg_setatten = $c054
psg_setfreq = $c057
psg_setpan = $c05a
psg_setvol = $c05d
psg_write = $c060
psg_write_fast = $c0a2
psg_getatten = $c093
psg_getpan = $c096
ym_init = $c063
ym_loaddefpatches = $c066
ym_loadpatch = $c069
ym_loadpatchlfn = $c06c
ym_playdrum = $c06f
ym_playnote = $c072
ym_setatten = $c075
ym_setdrum = $c078
ym_setnote = $c07b
ym_setpan = $c07e
ym_read = $c081
ym_release = $c084
ym_trigger = $c087
ym_write = $c08a
ym_getatten = $c099
ym_getpan = $c09c
ym_get_chip_type = $c0a5
; source: library:/prog8lib/cx16/syslib.p8:98 &uword IERROR = $0300
; source: library:/prog8lib/cx16/syslib.p8:99 &uword IMAIN = $0302
; source: library:/prog8lib/cx16/syslib.p8:100 &uword ICRNCH = $0304
; source: library:/prog8lib/cx16/syslib.p8:101 &uword IQPLOP = $0306
; source: library:/prog8lib/cx16/syslib.p8:102 &uword IGONE = $0308
; source: library:/prog8lib/cx16/syslib.p8:103 &uword IEVAL = $030a
; source: library:/prog8lib/cx16/syslib.p8:104 &ubyte SAREG = $030c ; register storage for A for SYS calls
; source: library:/prog8lib/cx16/syslib.p8:105 &ubyte SXREG = $030d ; register storage for X for SYS calls
; source: library:/prog8lib/cx16/syslib.p8:106 &ubyte SYREG = $030e ; register storage for Y for SYS calls
; source: library:/prog8lib/cx16/syslib.p8:107 &ubyte SPREG = $030f ; register storage for P (status register) for SYS calls
; source: library:/prog8lib/cx16/syslib.p8:108 &uword USRADD = $0311 ; vector for the USR() basic command
; source: library:/prog8lib/cx16/syslib.p8:110 &uword CINV = $0314 ; IRQ vector (in ram)
; source: library:/prog8lib/cx16/syslib.p8:111 &uword CBINV = $0316 ; BRK vector (in ram)
; source: library:/prog8lib/cx16/syslib.p8:112 &uword NMINV = $0318 ; NMI vector (in ram)
; source: library:/prog8lib/cx16/syslib.p8:113 &uword IOPEN = $031a
; source: library:/prog8lib/cx16/syslib.p8:114 &uword ICLOSE = $031c
; source: library:/prog8lib/cx16/syslib.p8:115 &uword ICHKIN = $031e
; source: library:/prog8lib/cx16/syslib.p8:116 &uword ICKOUT = $0320
; source: library:/prog8lib/cx16/syslib.p8:117 &uword ICLRCH = $0322
; source: library:/prog8lib/cx16/syslib.p8:118 &uword IBASIN = $0324
; source: library:/prog8lib/cx16/syslib.p8:119 &uword IBSOUT = $0326
; source: library:/prog8lib/cx16/syslib.p8:120 &uword ISTOP = $0328
; source: library:/prog8lib/cx16/syslib.p8:121 &uword IGETIN = $032a
; source: library:/prog8lib/cx16/syslib.p8:122 &uword ICLALL = $032c
; source: library:/prog8lib/cx16/syslib.p8:123 &uword KEYHDL = $032e ; keyboard scan code handler see examples/cx16/keyboardhandler.p8
; source: library:/prog8lib/cx16/syslib.p8:124 &uword ILOAD = $0330
; source: library:/prog8lib/cx16/syslib.p8:125 &uword ISAVE = $0332
; source: library:/prog8lib/cx16/syslib.p8:126 &uword NMI_VEC = $FFFA ; 65c02 nmi vector, determined by the kernal if banked in
; source: library:/prog8lib/cx16/syslib.p8:127 &uword RESET_VEC = $FFFC ; 65c02 reset vector, determined by the kernal if banked in
; source: library:/prog8lib/cx16/syslib.p8:128 &uword IRQ_VEC = $FFFE ; 65c02 interrupt vector, determined by the kernal if banked in
; source: library:/prog8lib/cx16/syslib.p8:130 &uword edkeyvec = $ac03 ; (ram bank 0): for intercepting BASIN/CHRIN key strokes. See set_chrin_keyhandler()
; source: library:/prog8lib/cx16/syslib.p8:131 &ubyte edkeybk = $ac05 ; ...the RAM bank of the handler routine, if not in low ram
; source: library:/prog8lib/cx16/syslib.p8:135 &uword r0 = $0002
; source: library:/prog8lib/cx16/syslib.p8:136 &uword r1 = $0004
; source: library:/prog8lib/cx16/syslib.p8:137 &uword r2 = $0006
; source: library:/prog8lib/cx16/syslib.p8:138 &uword r3 = $0008
; source: library:/prog8lib/cx16/syslib.p8:139 &uword r4 = $000a
; source: library:/prog8lib/cx16/syslib.p8:140 &uword r5 = $000c
; source: library:/prog8lib/cx16/syslib.p8:141 &uword r6 = $000e
; source: library:/prog8lib/cx16/syslib.p8:142 &uword r7 = $0010
; source: library:/prog8lib/cx16/syslib.p8:143 &uword r8 = $0012
; source: library:/prog8lib/cx16/syslib.p8:144 &uword r9 = $0014
; source: library:/prog8lib/cx16/syslib.p8:145 &uword r10 = $0016
; source: library:/prog8lib/cx16/syslib.p8:146 &uword r11 = $0018
; source: library:/prog8lib/cx16/syslib.p8:147 &uword r12 = $001a
; source: library:/prog8lib/cx16/syslib.p8:148 &uword r13 = $001c
; source: library:/prog8lib/cx16/syslib.p8:149 &uword r14 = $001e
; source: library:/prog8lib/cx16/syslib.p8:150 &uword r15 = $0020
; source: library:/prog8lib/cx16/syslib.p8:152 &word r0s = $0002
; source: library:/prog8lib/cx16/syslib.p8:153 &word r1s = $0004
; source: library:/prog8lib/cx16/syslib.p8:154 &word r2s = $0006
; source: library:/prog8lib/cx16/syslib.p8:155 &word r3s = $0008
; source: library:/prog8lib/cx16/syslib.p8:156 &word r4s = $000a
; source: library:/prog8lib/cx16/syslib.p8:157 &word r5s = $000c
; source: library:/prog8lib/cx16/syslib.p8:158 &word r6s = $000e
; source: library:/prog8lib/cx16/syslib.p8:159 &word r7s = $0010
; source: library:/prog8lib/cx16/syslib.p8:160 &word r8s = $0012
; source: library:/prog8lib/cx16/syslib.p8:161 &word r9s = $0014
; source: library:/prog8lib/cx16/syslib.p8:162 &word r10s = $0016
; source: library:/prog8lib/cx16/syslib.p8:163 &word r11s = $0018
; source: library:/prog8lib/cx16/syslib.p8:164 &word r12s = $001a
; source: library:/prog8lib/cx16/syslib.p8:165 &word r13s = $001c
; source: library:/prog8lib/cx16/syslib.p8:166 &word r14s = $001e
; source: library:/prog8lib/cx16/syslib.p8:167 &word r15s = $0020
; source: library:/prog8lib/cx16/syslib.p8:169 &ubyte r0L = $0002
; source: library:/prog8lib/cx16/syslib.p8:170 &ubyte r1L = $0004
; source: library:/prog8lib/cx16/syslib.p8:171 &ubyte r2L = $0006
; source: library:/prog8lib/cx16/syslib.p8:172 &ubyte r3L = $0008
; source: library:/prog8lib/cx16/syslib.p8:173 &ubyte r4L = $000a
; source: library:/prog8lib/cx16/syslib.p8:174 &ubyte r5L = $000c
; source: library:/prog8lib/cx16/syslib.p8:175 &ubyte r6L = $000e
; source: library:/prog8lib/cx16/syslib.p8:176 &ubyte r7L = $0010
; source: library:/prog8lib/cx16/syslib.p8:177 &ubyte r8L = $0012
; source: library:/prog8lib/cx16/syslib.p8:178 &ubyte r9L = $0014
; source: library:/prog8lib/cx16/syslib.p8:179 &ubyte r10L = $0016
; source: library:/prog8lib/cx16/syslib.p8:180 &ubyte r11L = $0018
; source: library:/prog8lib/cx16/syslib.p8:181 &ubyte r12L = $001a
; source: library:/prog8lib/cx16/syslib.p8:182 &ubyte r13L = $001c
; source: library:/prog8lib/cx16/syslib.p8:183 &ubyte r14L = $001e
; source: library:/prog8lib/cx16/syslib.p8:184 &ubyte r15L = $0020
; source: library:/prog8lib/cx16/syslib.p8:186 &ubyte r0H = $0003
; source: library:/prog8lib/cx16/syslib.p8:187 &ubyte r1H = $0005
; source: library:/prog8lib/cx16/syslib.p8:188 &ubyte r2H = $0007
; source: library:/prog8lib/cx16/syslib.p8:189 &ubyte r3H = $0009
; source: library:/prog8lib/cx16/syslib.p8:190 &ubyte r4H = $000b
; source: library:/prog8lib/cx16/syslib.p8:191 &ubyte r5H = $000d
; source: library:/prog8lib/cx16/syslib.p8:192 &ubyte r6H = $000f
; source: library:/prog8lib/cx16/syslib.p8:193 &ubyte r7H = $0011
; source: library:/prog8lib/cx16/syslib.p8:194 &ubyte r8H = $0013
; source: library:/prog8lib/cx16/syslib.p8:195 &ubyte r9H = $0015
; source: library:/prog8lib/cx16/syslib.p8:196 &ubyte r10H = $0017
; source: library:/prog8lib/cx16/syslib.p8:197 &ubyte r11H = $0019
; source: library:/prog8lib/cx16/syslib.p8:198 &ubyte r12H = $001b
; source: library:/prog8lib/cx16/syslib.p8:199 &ubyte r13H = $001d
; source: library:/prog8lib/cx16/syslib.p8:200 &ubyte r14H = $001f
; source: library:/prog8lib/cx16/syslib.p8:201 &ubyte r15H = $0021
; source: library:/prog8lib/cx16/syslib.p8:203 &byte r0sL = $0002
; source: library:/prog8lib/cx16/syslib.p8:204 &byte r1sL = $0004
; source: library:/prog8lib/cx16/syslib.p8:205 &byte r2sL = $0006
; source: library:/prog8lib/cx16/syslib.p8:206 &byte r3sL = $0008
; source: library:/prog8lib/cx16/syslib.p8:207 &byte r4sL = $000a
; source: library:/prog8lib/cx16/syslib.p8:208 &byte r5sL = $000c
; source: library:/prog8lib/cx16/syslib.p8:209 &byte r6sL = $000e
; source: library:/prog8lib/cx16/syslib.p8:210 &byte r7sL = $0010
; source: library:/prog8lib/cx16/syslib.p8:211 &byte r8sL = $0012
; source: library:/prog8lib/cx16/syslib.p8:212 &byte r9sL = $0014
; source: library:/prog8lib/cx16/syslib.p8:213 &byte r10sL = $0016
; source: library:/prog8lib/cx16/syslib.p8:214 &byte r11sL = $0018
; source: library:/prog8lib/cx16/syslib.p8:215 &byte r12sL = $001a
; source: library:/prog8lib/cx16/syslib.p8:216 &byte r13sL = $001c
; source: library:/prog8lib/cx16/syslib.p8:217 &byte r14sL = $001e
; source: library:/prog8lib/cx16/syslib.p8:218 &byte r15sL = $0020
; source: library:/prog8lib/cx16/syslib.p8:220 &byte r0sH = $0003
; source: library:/prog8lib/cx16/syslib.p8:221 &byte r1sH = $0005
; source: library:/prog8lib/cx16/syslib.p8:222 &byte r2sH = $0007
; source: library:/prog8lib/cx16/syslib.p8:223 &byte r3sH = $0009
; source: library:/prog8lib/cx16/syslib.p8:224 &byte r4sH = $000b
; source: library:/prog8lib/cx16/syslib.p8:225 &byte r5sH = $000d
; source: library:/prog8lib/cx16/syslib.p8:226 &byte r6sH = $000f
; source: library:/prog8lib/cx16/syslib.p8:227 &byte r7sH = $0011
; source: library:/prog8lib/cx16/syslib.p8:228 &byte r8sH = $0013
; source: library:/prog8lib/cx16/syslib.p8:229 &byte r9sH = $0015
; source: library:/prog8lib/cx16/syslib.p8:230 &byte r10sH = $0017
; source: library:/prog8lib/cx16/syslib.p8:231 &byte r11sH = $0019
; source: library:/prog8lib/cx16/syslib.p8:232 &byte r12sH = $001b
; source: library:/prog8lib/cx16/syslib.p8:233 &byte r13sH = $001d
; source: library:/prog8lib/cx16/syslib.p8:234 &byte r14sH = $001f
; source: library:/prog8lib/cx16/syslib.p8:235 &byte r15sH = $0021
; source: library:/prog8lib/cx16/syslib.p8:239 const uword VERA_BASE = $9F20
; source: library:/prog8lib/cx16/syslib.p8:240 &ubyte VERA_ADDR_L = VERA_BASE + $0000
; source: library:/prog8lib/cx16/syslib.p8:241 &ubyte VERA_ADDR_M = VERA_BASE + $0001
; source: library:/prog8lib/cx16/syslib.p8:242 &uword VERA_ADDR = VERA_BASE + $0000 ; still need to do the _H separately
; source: library:/prog8lib/cx16/syslib.p8:243 &ubyte VERA_ADDR_H = VERA_BASE + $0002
; source: library:/prog8lib/cx16/syslib.p8:244 &ubyte VERA_DATA0 = VERA_BASE + $0003
; source: library:/prog8lib/cx16/syslib.p8:245 &ubyte VERA_DATA1 = VERA_BASE + $0004
; source: library:/prog8lib/cx16/syslib.p8:246 &ubyte VERA_CTRL = VERA_BASE + $0005
; source: library:/prog8lib/cx16/syslib.p8:247 &ubyte VERA_IEN = VERA_BASE + $0006
; source: library:/prog8lib/cx16/syslib.p8:248 &ubyte VERA_ISR = VERA_BASE + $0007
; source: library:/prog8lib/cx16/syslib.p8:249 &ubyte VERA_IRQLINE_L = VERA_BASE + $0008 ; write only
; source: library:/prog8lib/cx16/syslib.p8:250 &ubyte VERA_SCANLINE_L = VERA_BASE + $0008 ; read only
; source: library:/prog8lib/cx16/syslib.p8:251 &ubyte VERA_DC_VIDEO = VERA_BASE + $0009 ; DCSEL= 0
; source: library:/prog8lib/cx16/syslib.p8:252 &ubyte VERA_DC_HSCALE = VERA_BASE + $000A ; DCSEL= 0
; source: library:/prog8lib/cx16/syslib.p8:253 &ubyte VERA_DC_VSCALE = VERA_BASE + $000B ; DCSEL= 0
; source: library:/prog8lib/cx16/syslib.p8:254 &ubyte VERA_DC_BORDER = VERA_BASE + $000C ; DCSEL= 0
; source: library:/prog8lib/cx16/syslib.p8:255 &ubyte VERA_DC_HSTART = VERA_BASE + $0009 ; DCSEL= 1
; source: library:/prog8lib/cx16/syslib.p8:256 &ubyte VERA_DC_HSTOP = VERA_BASE + $000A ; DCSEL= 1
; source: library:/prog8lib/cx16/syslib.p8:257 &ubyte VERA_DC_VSTART = VERA_BASE + $000B ; DCSEL= 1
; source: library:/prog8lib/cx16/syslib.p8:258 &ubyte VERA_DC_VSTOP = VERA_BASE + $000C ; DCSEL= 1
; source: library:/prog8lib/cx16/syslib.p8:259 &ubyte VERA_DC_VER0 = VERA_BASE + $0009 ; DCSEL=63
; source: library:/prog8lib/cx16/syslib.p8:260 &ubyte VERA_DC_VER1 = VERA_BASE + $000A ; DCSEL=63
; source: library:/prog8lib/cx16/syslib.p8:261 &ubyte VERA_DC_VER2 = VERA_BASE + $000B ; DCSEL=63
; source: library:/prog8lib/cx16/syslib.p8:262 &ubyte VERA_DC_VER3 = VERA_BASE + $000C ; DCSEL=63
; source: library:/prog8lib/cx16/syslib.p8:263 &ubyte VERA_L0_CONFIG = VERA_BASE + $000D
; source: library:/prog8lib/cx16/syslib.p8:264 &ubyte VERA_L0_MAPBASE = VERA_BASE + $000E
; source: library:/prog8lib/cx16/syslib.p8:265 &ubyte VERA_L0_TILEBASE = VERA_BASE + $000F
; source: library:/prog8lib/cx16/syslib.p8:266 &ubyte VERA_L0_HSCROLL_L = VERA_BASE + $0010
; source: library:/prog8lib/cx16/syslib.p8:267 &ubyte VERA_L0_HSCROLL_H = VERA_BASE + $0011
; source: library:/prog8lib/cx16/syslib.p8:268 &uword VERA_L0_HSCROLL = VERA_BASE + $0010
; source: library:/prog8lib/cx16/syslib.p8:269 &ubyte VERA_L0_VSCROLL_L = VERA_BASE + $0012
; source: library:/prog8lib/cx16/syslib.p8:270 &ubyte VERA_L0_VSCROLL_H = VERA_BASE + $0013
; source: library:/prog8lib/cx16/syslib.p8:271 &uword VERA_L0_VSCROLL = VERA_BASE + $0012
; source: library:/prog8lib/cx16/syslib.p8:272 &ubyte VERA_L1_CONFIG = VERA_BASE + $0014
; source: library:/prog8lib/cx16/syslib.p8:273 &ubyte VERA_L1_MAPBASE = VERA_BASE + $0015
; source: library:/prog8lib/cx16/syslib.p8:274 &ubyte VERA_L1_TILEBASE = VERA_BASE + $0016
; source: library:/prog8lib/cx16/syslib.p8:275 &ubyte VERA_L1_HSCROLL_L = VERA_BASE + $0017
; source: library:/prog8lib/cx16/syslib.p8:276 &ubyte VERA_L1_HSCROLL_H = VERA_BASE + $0018
; source: library:/prog8lib/cx16/syslib.p8:277 &uword VERA_L1_HSCROLL = VERA_BASE + $0017
; source: library:/prog8lib/cx16/syslib.p8:278 &ubyte VERA_L1_VSCROLL_L = VERA_BASE + $0019
; source: library:/prog8lib/cx16/syslib.p8:279 &ubyte VERA_L1_VSCROLL_H = VERA_BASE + $001A
; source: library:/prog8lib/cx16/syslib.p8:280 &uword VERA_L1_VSCROLL = VERA_BASE + $0019
; source: library:/prog8lib/cx16/syslib.p8:281 &ubyte VERA_AUDIO_CTRL = VERA_BASE + $001B
; source: library:/prog8lib/cx16/syslib.p8:282 &ubyte VERA_AUDIO_RATE = VERA_BASE + $001C
; source: library:/prog8lib/cx16/syslib.p8:283 &ubyte VERA_AUDIO_DATA = VERA_BASE + $001D
; source: library:/prog8lib/cx16/syslib.p8:284 &ubyte VERA_SPI_DATA = VERA_BASE + $001E
; source: library:/prog8lib/cx16/syslib.p8:285 &ubyte VERA_SPI_CTRL = VERA_BASE + $001F
; source: library:/prog8lib/cx16/syslib.p8:288 &ubyte VERA_FX_CTRL = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:289 &ubyte VERA_FX_TILEBASE = VERA_BASE + $000a
; source: library:/prog8lib/cx16/syslib.p8:290 &ubyte VERA_FX_MAPBASE = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:291 &ubyte VERA_FX_MULT = VERA_BASE + $000c
; source: library:/prog8lib/cx16/syslib.p8:292 &ubyte VERA_FX_X_INCR_L = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:293 &ubyte VERA_FX_X_INCR_H = VERA_BASE + $000a
; source: library:/prog8lib/cx16/syslib.p8:294 &uword VERA_FX_X_INCR = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:295 &ubyte VERA_FX_Y_INCR_L = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:296 &ubyte VERA_FX_Y_INCR_H = VERA_BASE + $000c
; source: library:/prog8lib/cx16/syslib.p8:297 &uword VERA_FX_Y_INCR = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:298 &ubyte VERA_FX_X_POS_L = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:299 &ubyte VERA_FX_X_POS_H = VERA_BASE + $000a
; source: library:/prog8lib/cx16/syslib.p8:300 &uword VERA_FX_X_POS = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:301 &ubyte VERA_FX_Y_POS_L = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:302 &ubyte VERA_FX_Y_POS_H = VERA_BASE + $000c
; source: library:/prog8lib/cx16/syslib.p8:303 &uword VERA_FX_Y_POS = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:304 &ubyte VERA_FX_X_POS_S = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:305 &ubyte VERA_FX_Y_POS_S = VERA_BASE + $000a
; source: library:/prog8lib/cx16/syslib.p8:306 &ubyte VERA_FX_POLY_FILL_L = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:307 &ubyte VERA_FX_POLY_FILL_H = VERA_BASE + $000c
; source: library:/prog8lib/cx16/syslib.p8:308 &uword VERA_FX_POLY_FILL = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:309 &ubyte VERA_FX_CACHE_L = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:310 &ubyte VERA_FX_CACHE_M = VERA_BASE + $000a
; source: library:/prog8lib/cx16/syslib.p8:311 &ubyte VERA_FX_CACHE_H = VERA_BASE + $000b
; source: library:/prog8lib/cx16/syslib.p8:312 &ubyte VERA_FX_CACHE_U = VERA_BASE + $000c
; source: library:/prog8lib/cx16/syslib.p8:313 &ubyte VERA_FX_ACCUM = VERA_BASE + $000a
; source: library:/prog8lib/cx16/syslib.p8:314 &ubyte VERA_FX_ACCUM_RESET = VERA_BASE + $0009
; source: library:/prog8lib/cx16/syslib.p8:323 const uword VIA1_BASE = $9f00 ;VIA 6522 #1
; source: library:/prog8lib/cx16/syslib.p8:324 &ubyte via1prb = VIA1_BASE + 0
; source: library:/prog8lib/cx16/syslib.p8:325 &ubyte via1pra = VIA1_BASE + 1
; source: library:/prog8lib/cx16/syslib.p8:326 &ubyte via1ddrb = VIA1_BASE + 2
; source: library:/prog8lib/cx16/syslib.p8:327 &ubyte via1ddra = VIA1_BASE + 3
; source: library:/prog8lib/cx16/syslib.p8:328 &ubyte via1t1l = VIA1_BASE + 4
; source: library:/prog8lib/cx16/syslib.p8:329 &ubyte via1t1h = VIA1_BASE + 5
; source: library:/prog8lib/cx16/syslib.p8:330 &ubyte via1t1ll = VIA1_BASE + 6
; source: library:/prog8lib/cx16/syslib.p8:331 &ubyte via1t1lh = VIA1_BASE + 7
; source: library:/prog8lib/cx16/syslib.p8:332 &ubyte via1t2l = VIA1_BASE + 8
; source: library:/prog8lib/cx16/syslib.p8:333 &ubyte via1t2h = VIA1_BASE + 9
; source: library:/prog8lib/cx16/syslib.p8:334 &ubyte via1sr = VIA1_BASE + 10
; source: library:/prog8lib/cx16/syslib.p8:335 &ubyte via1acr = VIA1_BASE + 11
; source: library:/prog8lib/cx16/syslib.p8:336 &ubyte via1pcr = VIA1_BASE + 12
; source: library:/prog8lib/cx16/syslib.p8:337 &ubyte via1ifr = VIA1_BASE + 13
; source: library:/prog8lib/cx16/syslib.p8:338 &ubyte via1ier = VIA1_BASE + 14
; source: library:/prog8lib/cx16/syslib.p8:339 &ubyte via1ora = VIA1_BASE + 15
; source: library:/prog8lib/cx16/syslib.p8:341 const uword VIA2_BASE = $9f10 ;VIA 6522 #2
; source: library:/prog8lib/cx16/syslib.p8:342 &ubyte via2prb = VIA2_BASE + 0
; source: library:/prog8lib/cx16/syslib.p8:343 &ubyte via2pra = VIA2_BASE + 1
; source: library:/prog8lib/cx16/syslib.p8:344 &ubyte via2ddrb = VIA2_BASE + 2
; source: library:/prog8lib/cx16/syslib.p8:345 &ubyte via2ddra = VIA2_BASE + 3
; source: library:/prog8lib/cx16/syslib.p8:346 &ubyte via2t1l = VIA2_BASE + 4
; source: library:/prog8lib/cx16/syslib.p8:347 &ubyte via2t1h = VIA2_BASE + 5
; source: library:/prog8lib/cx16/syslib.p8:348 &ubyte via2t1ll = VIA2_BASE + 6
; source: library:/prog8lib/cx16/syslib.p8:349 &ubyte via2t1lh = VIA2_BASE + 7
; source: library:/prog8lib/cx16/syslib.p8:350 &ubyte via2t2l = VIA2_BASE + 8
; source: library:/prog8lib/cx16/syslib.p8:351 &ubyte via2t2h = VIA2_BASE + 9
; source: library:/prog8lib/cx16/syslib.p8:352 &ubyte via2sr = VIA2_BASE + 10
; source: library:/prog8lib/cx16/syslib.p8:353 &ubyte via2acr = VIA2_BASE + 11
; source: library:/prog8lib/cx16/syslib.p8:354 &ubyte via2pcr = VIA2_BASE + 12
; source: library:/prog8lib/cx16/syslib.p8:355 &ubyte via2ifr = VIA2_BASE + 13
; source: library:/prog8lib/cx16/syslib.p8:356 &ubyte via2ier = VIA2_BASE + 14
; source: library:/prog8lib/cx16/syslib.p8:357 &ubyte via2ora = VIA2_BASE + 15
; source: library:/prog8lib/cx16/syslib.p8:360 &ubyte YM_ADDRESS = $9f40
; source: library:/prog8lib/cx16/syslib.p8:361 &ubyte YM_DATA = $9f41
; source: library:/prog8lib/cx16/syslib.p8:363 const uword extdev = $9f60
; source: library:/prog8lib/cx16/syslib.p8:95 cx16 {
; source: library:/prog8lib/cx16/syslib.p8:370 romsub $ff4a = CLOSE_ALL(ubyte device @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:371 romsub $ff59 = LKUPLA(ubyte la @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:372 romsub $ff5c = LKUPSA(ubyte sa @Y) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:373 romsub $ff5f = screen_mode(ubyte mode @A, bool getCurrent @Pc) clobbers(X, Y) -> ubyte @A, bool @Pc ; note: X,Y size result is not supported, use SCREEN or get_screen_mode routine for that
; source: library:/prog8lib/cx16/syslib.p8:374 romsub $ff62 = screen_set_charset(ubyte charset @A, uword charsetptr @XY) clobbers(A,X,Y) ; incompatible with C128 dlchr()
; source: library:/prog8lib/cx16/syslib.p8:376 romsub $ff6e = JSRFAR() ; following word = address to call, byte after that=rom/ram bank it is in
; source: library:/prog8lib/cx16/syslib.p8:377 romsub $ff74 = fetch(ubyte bank @X, ubyte index @Y) clobbers(X) -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:378 romsub $ff77 = stash(ubyte data @A, ubyte bank @X, ubyte index @Y) clobbers(X)
; source: library:/prog8lib/cx16/syslib.p8:379 romsub $ff7d = PRIMM()
; source: library:/prog8lib/cx16/syslib.p8:384 romsub $ff20 = GRAPH_init(uword vectors @R0) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:385 romsub $ff23 = GRAPH_clear() clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:386 romsub $ff26 = GRAPH_set_window(uword x @R0, uword y @R1, uword width @R2, uword height @R3) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:387 romsub $ff29 = GRAPH_set_colors(ubyte stroke @A, ubyte fill @X, ubyte background @Y) clobbers (A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:388 romsub $ff2c = GRAPH_draw_line(uword x1 @R0, uword y1 @R1, uword x2 @R2, uword y2 @R3) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:389 romsub $ff2f = GRAPH_draw_rect(uword x @R0, uword y @R1, uword width @R2, uword height @R3, uword cornerradius @R4, bool fill @Pc) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:390 romsub $ff32 = GRAPH_move_rect(uword sx @R0, uword sy @R1, uword tx @R2, uword ty @R3, uword width @R4, uword height @R5) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:391 romsub $ff35 = GRAPH_draw_oval(uword x @R0, uword y @R1, uword width @R2, uword height @R3, bool fill @Pc) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:392 romsub $ff38 = GRAPH_draw_image(uword x @R0, uword y @R1, uword ptr @R2, uword width @R3, uword height @R4) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:393 romsub $ff3b = GRAPH_set_font(uword fontptr @R0) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:394 romsub $ff3e = GRAPH_get_char_size(ubyte baseline @A, ubyte width @X, ubyte height_or_style @Y, bool is_control @Pc) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:395 romsub $ff41 = GRAPH_put_char(uword x @R0, uword y @R1, ubyte character @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:396 romsub $ff41 = GRAPH_put_next_char(ubyte character @A) clobbers(A,X,Y) ; alias for the routine above that doesn't reset the position of the initial character
; source: library:/prog8lib/cx16/syslib.p8:399 romsub $fef6 = FB_init() clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:400 romsub $fef9 = FB_get_info() clobbers(X,Y) -> byte @A, uword @R0, uword @R1 ; width=r0, height=r1
; source: library:/prog8lib/cx16/syslib.p8:401 romsub $fefc = FB_set_palette(uword pointer @R0, ubyte index @A, ubyte colorcount @X) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:402 romsub $feff = FB_cursor_position(uword x @R0, uword y @R1) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:403 romsub $ff02 = FB_cursor_next_line(uword x @R0) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:404 romsub $ff05 = FB_get_pixel() clobbers(X,Y) -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:405 romsub $ff08 = FB_get_pixels(uword pointer @R0, uword count @R1) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:406 romsub $ff0b = FB_set_pixel(ubyte color @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:407 romsub $ff0e = FB_set_pixels(uword pointer @R0, uword count @R1) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:408 romsub $ff11 = FB_set_8_pixels(ubyte pattern @A, ubyte color @X) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:409 romsub $ff14 = FB_set_8_pixels_opaque(ubyte pattern @R0, ubyte mask @A, ubyte color1 @X, ubyte color2 @Y) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:410 romsub $ff17 = FB_fill_pixels(uword count @R0, uword pstep @R1, ubyte color @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:411 romsub $ff1a = FB_filter_pixels(uword pointer @ R0, uword count @R1) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:412 romsub $ff1d = FB_move_pixels(uword sx @R0, uword sy @R1, uword tx @R2, uword ty @R3, uword count @R4) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:415 romsub $FEBA = BSAVE(ubyte zp_startaddr @ A, uword endaddr @ XY) clobbers (X, Y) -> bool @ Pc, ubyte @ A ; like cbm.SAVE, but omits the 2-byte prg header
; source: library:/prog8lib/cx16/syslib.p8:416 romsub $fec6 = i2c_read_byte(ubyte device @X, ubyte offset @Y) clobbers (X,Y) -> ubyte @A, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:417 romsub $fec9 = i2c_write_byte(ubyte device @X, ubyte offset @Y, ubyte data @A) clobbers (A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:418 romsub $fef0 = sprite_set_image(uword pixels @R0, uword mask @R1, ubyte bpp @R2, ubyte number @A, ubyte width @X, ubyte height @Y, bool apply_mask @Pc) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:419 romsub $fef3 = sprite_set_position(uword x @R0, uword y @R1, ubyte number @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:420 romsub $fee4 = memory_fill(uword address @R0, uword num_bytes @R1, ubyte value @A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:421 romsub $fee7 = memory_copy(uword source @R0, uword target @R1, uword num_bytes @R2) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:422 romsub $feea = memory_crc(uword address @R0, uword num_bytes @R1) clobbers(A,X,Y) -> uword @R2
; source: library:/prog8lib/cx16/syslib.p8:423 romsub $feed = memory_decompress(uword input @R0, uword output @R1) clobbers(A,X,Y) -> uword @R1 ; last address +1 is result in R1
; source: library:/prog8lib/cx16/syslib.p8:424 romsub $fedb = console_init(uword x @R0, uword y @R1, uword width @R2, uword height @R3) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:425 romsub $fede = console_put_char(ubyte character @A, bool wrapping @Pc) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:426 romsub $fee1 = console_get_char() clobbers(X,Y) -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:427 romsub $fed8 = console_put_image(uword pointer @R0, uword width @R1, uword height @R2) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:428 romsub $fed5 = console_set_paging_message(uword msgptr @R0) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:429 romsub $fecf = entropy_get() -> ubyte @A, ubyte @X, ubyte @Y
; source: library:/prog8lib/cx16/syslib.p8:430 romsub $fecc = monitor() clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:432 romsub $ff44 = MACPTR(ubyte length @A, uword buffer @XY, bool dontAdvance @Pc) clobbers(A) -> bool @Pc, uword @XY
; source: library:/prog8lib/cx16/syslib.p8:433 romsub $feb1 = MCIOUT(ubyte length @A, uword buffer @XY, bool dontAdvance @Pc) clobbers(A) -> bool @Pc, uword @XY
; source: library:/prog8lib/cx16/syslib.p8:434 romsub $ff47 = enter_basic(bool cold_or_warm @Pc) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:435 romsub $ff4d = clock_set_date_time(uword yearmonth @R0, uword dayhours @R1, uword minsecs @R2, uword jiffiesweekday @R3) clobbers(A, X, Y)
; source: library:/prog8lib/cx16/syslib.p8:436 romsub $ff50 = clock_get_date_time() clobbers(A, X, Y) -> uword @R0, uword @R1, uword @R2, uword @R3 ; result registers see clock_set_date_time()
; source: library:/prog8lib/cx16/syslib.p8:440 romsub $febd = kbdbuf_peek() -> ubyte @A, ubyte @X ; key in A, queue length in X
; source: library:/prog8lib/cx16/syslib.p8:441 romsub $febd = kbdbuf_peek2() -> uword @AX ; alternative to above to not have the hassle to deal with multiple return values
; source: library:/prog8lib/cx16/syslib.p8:442 romsub $fec0 = kbdbuf_get_modifiers() -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:443 romsub $fec3 = kbdbuf_put(ubyte key @A) clobbers(X)
; source: library:/prog8lib/cx16/syslib.p8:444 romsub $fed2 = keymap(uword identifier @XY, bool read @Pc) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:445 romsub $ff68 = mouse_config(byte shape @A, ubyte resX @X, ubyte resY @Y) clobbers (A, X, Y)
; source: library:/prog8lib/cx16/syslib.p8:446 romsub $ff6b = mouse_get(ubyte zpdataptr @X) -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:447 romsub $ff71 = mouse_scan() clobbers(A, X, Y)
; source: library:/prog8lib/cx16/syslib.p8:448 romsub $ff53 = joystick_scan() clobbers(A, X, Y)
; source: library:/prog8lib/cx16/syslib.p8:449 romsub $ff56 = joystick_get(ubyte joynr @A) -> ubyte @A, ubyte @X, ubyte @Y
; source: library:/prog8lib/cx16/syslib.p8:450 romsub $ff56 = joystick_get2(ubyte joynr @A) clobbers(Y) -> uword @AX ; alternative to above to not have the hassle to deal with multiple return values
; source: library:/prog8lib/cx16/syslib.p8:453 romsub $C000 = x16edit_default() clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:454 romsub $C003 = x16edit_loadfile(ubyte firstbank @X, ubyte lastbank @Y, str filename @R0, ubyte filenameLength @R1) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:455 romsub $C006 = x16edit_loadfile_options(ubyte firstbank @X, ubyte lastbank @Y, str filename @R0,
; source: library:/prog8lib/cx16/syslib.p8:460 romsub $C09F = audio_init() clobbers(A,X,Y) -> bool @Pc ; (re)initialize both vera PSG and YM audio chips
; source: library:/prog8lib/cx16/syslib.p8:461 romsub $C000 = bas_fmfreq(ubyte channel @A, uword freq @XY, bool noretrigger @Pc) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:462 romsub $C003 = bas_fmnote(ubyte channel @A, ubyte note @X, ubyte fracsemitone @Y, bool noretrigger @Pc) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:463 romsub $C006 = bas_fmplaystring(ubyte length @A, str string @XY) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:464 romsub $C009 = bas_fmvib(ubyte speed @A, ubyte depth @X) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:465 romsub $C00C = bas_playstringvoice(ubyte channel @A) clobbers(Y)
; source: library:/prog8lib/cx16/syslib.p8:466 romsub $C00F = bas_psgfreq(ubyte voice @A, uword freq @XY) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:467 romsub $C012 = bas_psgnote(ubyte voice @A, ubyte note @X, ubyte fracsemitone @Y) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:468 romsub $C015 = bas_psgwav(ubyte voice @A, ubyte waveform @X) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:469 romsub $C018 = bas_psgplaystring(ubyte length @A, str string @XY) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:470 romsub $C08D = bas_fmchordstring(ubyte length @A, str string @XY) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:471 romsub $C090 = bas_psgchordstring(ubyte length @A, str string @XY) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:472 romsub $C01B = notecon_bas2fm(ubyte note @X) clobbers(A) -> ubyte @X, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:473 romsub $C01E = notecon_bas2midi(ubyte note @X) clobbers(A) -> ubyte @X, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:474 romsub $C021 = notecon_bas2psg(ubyte note @X, ubyte fracsemitone @Y) clobbers(A) -> uword @XY, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:475 romsub $C024 = notecon_fm2bas(ubyte note @X) clobbers(A) -> ubyte @X, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:476 romsub $C027 = notecon_fm2midi(ubyte note @X) clobbers(A) -> ubyte @X, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:477 romsub $C02A = notecon_fm2psg(ubyte note @X, ubyte fracsemitone @Y) clobbers(A) -> uword @XY, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:478 romsub $C02D = notecon_freq2bas(uword freqHz @XY) clobbers(A) -> ubyte @X, ubyte @Y, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:479 romsub $C030 = notecon_freq2fm(uword freqHz @XY) clobbers(A) -> ubyte @X, ubyte @Y, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:480 romsub $C033 = notecon_freq2midi(uword freqHz @XY) clobbers(A) -> ubyte @X, ubyte @Y, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:481 romsub $C036 = notecon_freq2psg(uword freqHz @XY) clobbers(A) -> uword @XY, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:482 romsub $C039 = notecon_midi2bas(ubyte note @X) clobbers(A) -> ubyte @X, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:483 romsub $C03C = notecon_midi2fm(ubyte note @X) clobbers(A) -> ubyte @X, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:484 romsub $C03F = notecon_midi2psg(ubyte note @X, ubyte fracsemitone @Y) clobbers(A) -> uword @XY, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:485 romsub $C042 = notecon_psg2bas(uword freq @XY) clobbers(A) -> ubyte @X, ubyte @Y, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:486 romsub $C045 = notecon_psg2fm(uword freq @XY) clobbers(A) -> ubyte @X, ubyte @Y, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:487 romsub $C048 = notecon_psg2midi(uword freq @XY) clobbers(A) -> ubyte @X, ubyte @Y, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:488 romsub $C04B = psg_init() clobbers(A,X,Y) ; (re)init Vera PSG
; source: library:/prog8lib/cx16/syslib.p8:489 romsub $C04E = psg_playfreq(ubyte voice @A, uword freq @XY) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:490 romsub $C051 = psg_read(ubyte offset @X, bool cookedVol @Pc) clobbers(Y) -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:491 romsub $C054 = psg_setatten(ubyte voice @A, ubyte attenuation @X) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:492 romsub $C057 = psg_setfreq(ubyte voice @A, uword freq @XY) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:493 romsub $C05A = psg_setpan(ubyte voice @A, ubyte panning @X) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:494 romsub $C05D = psg_setvol(ubyte voice @A, ubyte volume @X) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:495 romsub $C060 = psg_write(ubyte value @A, ubyte offset @X) clobbers(Y)
; source: library:/prog8lib/cx16/syslib.p8:496 romsub $C0A2 = psg_write_fast(ubyte value @A, ubyte offset @X) clobbers(Y)
; source: library:/prog8lib/cx16/syslib.p8:497 romsub $C093 = psg_getatten(ubyte voice @A) clobbers(Y) -> ubyte @X
; source: library:/prog8lib/cx16/syslib.p8:498 romsub $C096 = psg_getpan(ubyte voice @A) clobbers(Y) -> ubyte @X
; source: library:/prog8lib/cx16/syslib.p8:499 romsub $C063 = ym_init() clobbers(A,X,Y) -> bool @Pc ; (re)init YM chip
; source: library:/prog8lib/cx16/syslib.p8:500 romsub $C066 = ym_loaddefpatches() clobbers(A,X,Y) -> bool @Pc ; load default YM patches
; source: library:/prog8lib/cx16/syslib.p8:501 romsub $C069 = ym_loadpatch(ubyte channel @A, uword patchOrAddress @XY, bool what @Pc) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/syslib.p8:502 romsub $C06C = ym_loadpatchlfn(ubyte channel @A, ubyte lfn @X) clobbers(X,Y) -> ubyte @A, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:503 romsub $C06F = ym_playdrum(ubyte channel @A, ubyte note @X) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:504 romsub $C072 = ym_playnote(ubyte channel @A, ubyte kc @X, ubyte kf @Y, bool notrigger @Pc) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:505 romsub $C075 = ym_setatten(ubyte channel @A, ubyte attenuation @X) clobbers(Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:506 romsub $C078 = ym_setdrum(ubyte channel @A, ubyte note @X) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:507 romsub $C07B = ym_setnote(ubyte channel @A, ubyte kc @X, ubyte kf @Y) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:508 romsub $C07E = ym_setpan(ubyte channel @A, ubyte panning @X) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:509 romsub $C081 = ym_read(ubyte register @X, bool cooked @Pc) clobbers(Y) -> ubyte @A, bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:510 romsub $C084 = ym_release(ubyte channel @A) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:511 romsub $C087 = ym_trigger(ubyte channel @A, bool noRelease @Pc) clobbers(A,X,Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:512 romsub $C08A = ym_write(ubyte value @A, ubyte register @X) clobbers(Y) -> bool @Pc
; source: library:/prog8lib/cx16/syslib.p8:513 romsub $C099 = ym_getatten(ubyte channel @A) clobbers(Y) -> ubyte @X
; source: library:/prog8lib/cx16/syslib.p8:514 romsub $C09C = ym_getpan(ubyte channel @A) clobbers(Y) -> ubyte @X
; source: library:/prog8lib/cx16/syslib.p8:515 romsub $C0A5 = ym_get_chip_type() clobbers(X) -> ubyte @A
; source: library:/prog8lib/cx16/syslib.p8:518 asmsub set_screen_mode(ubyte mode @A) clobbers(A,X,Y) -> bool @Pc {
set_screen_mode .proc
; source: library:/prog8lib/cx16/syslib.p8:520 %asm {{
clc
jmp screen_mode
.pend
; source: library:/prog8lib/cx16/syslib.p8:526 asmsub get_screen_mode() -> byte @A, byte @X, byte @Y {
get_screen_mode .proc
; source: library:/prog8lib/cx16/syslib.p8:531 %asm {{
sec
jmp screen_mode
.pend
; source: library:/prog8lib/cx16/syslib.p8:537 asmsub kbdbuf_clear() {
kbdbuf_clear .proc
; source: library:/prog8lib/cx16/syslib.p8:539 %asm {{
- jsr cbm.GETIN
bne -
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:546 asmsub mouse_config2(byte shape @A) clobbers (A, X, Y) {
mouse_config2 .proc
; source: library:/prog8lib/cx16/syslib.p8:548 %asm {{
pha ; save shape
sec
jsr cx16.screen_mode ; set current screen mode and res in A, X, Y
pla ; get shape back
jmp cx16.mouse_config
.pend
; source: library:/prog8lib/cx16/syslib.p8:557 asmsub mouse_pos() clobbers(X) -> ubyte @A {
mouse_pos .proc
; source: library:/prog8lib/cx16/syslib.p8:560 %asm {{
ldx #cx16.r0
jmp cx16.mouse_get
.pend
; source: library:/prog8lib/cx16/syslib.p8:572 inline asmsub rombank(ubyte bank @A) {
; source: library:/prog8lib/cx16/syslib.p8:579 inline asmsub rambank(ubyte bank @A) {
; source: library:/prog8lib/cx16/syslib.p8:586 inline asmsub getrombank() -> ubyte @A {
; source: library:/prog8lib/cx16/syslib.p8:593 inline asmsub getrambank() -> ubyte @A {
; source: library:/prog8lib/cx16/syslib.p8:600 asmsub numbanks() clobbers(X) -> uword @AY {
numbanks .proc
; source: library:/prog8lib/cx16/syslib.p8:607 %asm {{
sec
jsr cbm.MEMTOP
ldy #0
cmp #0
bne +
iny
+ rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:618 asmsub vpeek(ubyte bank @A, uword address @XY) -> ubyte @A {
vpeek .proc
; source: library:/prog8lib/cx16/syslib.p8:621 %asm {{
stz cx16.VERA_CTRL
sta cx16.VERA_ADDR_H
sty cx16.VERA_ADDR_M
stx cx16.VERA_ADDR_L
lda cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:631 asmsub vaddr(ubyte bank @A, uword address @R0, ubyte addrsel @R1, byte autoIncrOrDecrByOne @Y) clobbers(A) {
vaddr .proc
; source: library:/prog8lib/cx16/syslib.p8:635 %asm {{
pha
lda cx16.r1
and #1
sta cx16.VERA_CTRL
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
pla
cpy #0
bmi ++
beq +
ora #%00010000
+ sta cx16.VERA_ADDR_H
rts
+ ora #%00011000
sta cx16.VERA_ADDR_H
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:657 asmsub vaddr_clone(ubyte port @A) clobbers (A,X,Y) {
vaddr_clone .proc
; source: library:/prog8lib/cx16/syslib.p8:659 %asm {{
sta VERA_CTRL
ldx VERA_ADDR_L
ldy VERA_ADDR_H
phy
ldy VERA_ADDR_M
eor #1
sta VERA_CTRL
stx VERA_ADDR_L
sty VERA_ADDR_M
ply
sty VERA_ADDR_H
eor #1
sta VERA_CTRL
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:677 asmsub vaddr_autoincr(ubyte bank @A, uword address @R0, ubyte addrsel @R1, uword autoIncrAmount @R2) clobbers(A,Y) {
vaddr_autoincr .proc
; source: library:/prog8lib/cx16/syslib.p8:681 %asm {{
jsr _setup
lda cx16.r2H
ora cx16.r2L
beq +
jsr _determine_incr_bits
+ ora P8ZP_SCRATCH_REG
sta cx16.VERA_ADDR_H
rts
_setup sta P8ZP_SCRATCH_REG
lda cx16.r1
and #1
sta cx16.VERA_CTRL
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
rts
_determine_incr_bits
lda cx16.r2H
bne _large
lda cx16.r2L
ldy #13
- cmp _strides_lsb,y
beq +
dey
bpl -
+ tya
asl a
asl a
asl a
asl a
rts
_large ora cx16.r2L
cmp #1 ; 256
bne +
lda #9<<4
rts
+ cmp #2 ; 512
bne +
lda #10<<4
rts
+ cmp #65 ; 320
bne +
lda #14<<4
rts
+ cmp #130 ; 640
bne +
lda #15<<4
rts
+ lda #0
rts
_strides_lsb .byte 0,1,2,4,8,16,32,64,128,255,255,40,80,160,255,255
.pend
; source: library:/prog8lib/cx16/syslib.p8:739 asmsub vaddr_autodecr(ubyte bank @A, uword address @R0, ubyte addrsel @R1, uword autoDecrAmount @R2) clobbers(A,Y) {
vaddr_autodecr .proc
; source: library:/prog8lib/cx16/syslib.p8:743 %asm {{
jsr vaddr_autoincr._setup
lda cx16.r2H
ora cx16.r2L
beq +
jsr vaddr_autoincr._determine_incr_bits
ora #%00001000 ; autodecrement
+ ora P8ZP_SCRATCH_REG
sta cx16.VERA_ADDR_H
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:756 asmsub vpoke(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers(A) {
vpoke .proc
; source: library:/prog8lib/cx16/syslib.p8:759 %asm {{
stz cx16.VERA_CTRL
sta cx16.VERA_ADDR_H
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
sty cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:771 asmsub vpoke_or(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers (A) {
vpoke_or .proc
; source: library:/prog8lib/cx16/syslib.p8:774 %asm {{
stz cx16.VERA_CTRL
sta cx16.VERA_ADDR_H
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
tya
ora cx16.VERA_DATA0
sta cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:788 asmsub vpoke_and(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers(A) {
vpoke_and .proc
; source: library:/prog8lib/cx16/syslib.p8:791 %asm {{
stz cx16.VERA_CTRL
sta cx16.VERA_ADDR_H
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
tya
and cx16.VERA_DATA0
sta cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:805 asmsub vpoke_xor(ubyte bank @A, uword address @R0, ubyte value @Y) clobbers (A) {
vpoke_xor .proc
; source: library:/prog8lib/cx16/syslib.p8:808 %asm {{
stz cx16.VERA_CTRL
sta cx16.VERA_ADDR_H
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
tya
eor cx16.VERA_DATA0
sta cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:822 asmsub vpoke_mask(ubyte bank @A, uword address @R0, ubyte mask @X, ubyte value @Y) clobbers (A) {
vpoke_mask .proc
; source: library:/prog8lib/cx16/syslib.p8:825 %asm {{
sty P8ZP_SCRATCH_B1
stz cx16.VERA_CTRL
sta cx16.VERA_ADDR_H
lda cx16.r0
sta cx16.VERA_ADDR_L
lda cx16.r0+1
sta cx16.VERA_ADDR_M
txa
and cx16.VERA_DATA0
ora P8ZP_SCRATCH_B1
sta cx16.VERA_DATA0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:841 asmsub save_virtual_registers() clobbers(A,Y) {
save_virtual_registers .proc
; source: library:/prog8lib/cx16/syslib.p8:842 %asm {{
ldy #31
- lda cx16.r0,y
sta _cx16_vreg_storage,y
dey
bpl -
rts
_cx16_vreg_storage
.word 0,0,0,0,0,0,0,0
.word 0,0,0,0,0,0,0,0
.pend
; source: library:/prog8lib/cx16/syslib.p8:856 asmsub restore_virtual_registers() clobbers(A,Y) {
restore_virtual_registers .proc
; source: library:/prog8lib/cx16/syslib.p8:857 %asm {{
ldy #31
- lda save_virtual_registers._cx16_vreg_storage,y
sta cx16.r0,y
dey
bpl -
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:868 asmsub save_vera_context() clobbers(A) {
save_vera_context .proc
; source: library:/prog8lib/cx16/syslib.p8:870 %asm {{
; note cannot store this on cpu hardware stack because this gets called as a subroutine
lda cx16.VERA_ADDR_L
sta _vera_storage
lda cx16.VERA_ADDR_M
sta _vera_storage+1
lda cx16.VERA_ADDR_H
sta _vera_storage+2
lda cx16.VERA_CTRL
sta _vera_storage+3
eor #1
sta _vera_storage+7
sta cx16.VERA_CTRL
lda cx16.VERA_ADDR_L
sta _vera_storage+4
lda cx16.VERA_ADDR_M
sta _vera_storage+5
lda cx16.VERA_ADDR_H
sta _vera_storage+6
rts
_vera_storage: .byte 0,0,0,0,0,0,0,0
.pend
; source: library:/prog8lib/cx16/syslib.p8:894 asmsub restore_vera_context() clobbers(A) {
restore_vera_context .proc
; source: library:/prog8lib/cx16/syslib.p8:896 %asm {{
lda cx16.save_vera_context._vera_storage+7
sta cx16.VERA_CTRL
lda cx16.save_vera_context._vera_storage+6
sta cx16.VERA_ADDR_H
lda cx16.save_vera_context._vera_storage+5
sta cx16.VERA_ADDR_M
lda cx16.save_vera_context._vera_storage+4
sta cx16.VERA_ADDR_L
lda cx16.save_vera_context._vera_storage+3
sta cx16.VERA_CTRL
lda cx16.save_vera_context._vera_storage+2
sta cx16.VERA_ADDR_H
lda cx16.save_vera_context._vera_storage+1
sta cx16.VERA_ADDR_M
lda cx16.save_vera_context._vera_storage+0
sta cx16.VERA_ADDR_L
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:918 asmsub set_chrin_keyhandler(ubyte handlerbank @A, uword handler @XY) clobbers(A) {
set_chrin_keyhandler .proc
; source: library:/prog8lib/cx16/syslib.p8:921 %asm {{
sei
sta P8ZP_SCRATCH_REG
lda $00
pha
stz $00
lda P8ZP_SCRATCH_REG
sta cx16.edkeybk
stx cx16.edkeyvec
sty cx16.edkeyvec+1
pla
sta $00
cli
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:938 asmsub get_chrin_keyhandler() -> ubyte @R0, uword @R1 {
get_chrin_keyhandler .proc
; source: library:/prog8lib/cx16/syslib.p8:940 %asm {{
sei
lda $00
pha
stz $00
lda cx16.edkeybk
sta cx16.r0L
lda cx16.edkeyvec
ldy cx16.edkeyvec+1
sta cx16.r1
sty cx16.r1+1
pla
sta $00
cli
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:961 inline asmsub disable_irqs() clobbers(A) {
; source: library:/prog8lib/cx16/syslib.p8:969 asmsub enable_irq_handlers(bool disable_all_irq_sources @Pc) clobbers(A,Y) {
enable_irq_handlers .proc
; source: library:/prog8lib/cx16/syslib.p8:974 %asm {{
php
sei
bcc +
lda #%00001111
trb cx16.VERA_IEN ; disable all IRQ sources
+ lda #<_irq_dispatcher
ldy #>_irq_dispatcher
sta cx16.CINV
sty cx16.CINV+1
plp
rts
_irq_dispatcher
; order of handling: LINE, SPRCOL, AFLOW, VSYNC.
jsr sys.save_prog8_internals
cld
lda cx16.VERA_ISR
and cx16.VERA_IEN ; only consider the bits for sources that can actually raise the IRQ
bit #2
beq +
_mod_line_jump
jsr _default_line_handler ; modified
ldy #2
sty cx16.VERA_ISR
bra _dispatch_end
+
bit #4
beq +
_mod_sprcol_jump
jsr _default_sprcol_handler ; modified
ldy #4
sty cx16.VERA_ISR
bra _dispatch_end
+
bit #8
beq +
_mod_aflow_jump
jsr _default_aflow_handler ; modified
; note: AFLOW can only be cleared by filling the audio FIFO for at least 1/4. Not via the ISR bit.
bra _dispatch_end
+
bit #1
beq +
_mod_vsync_jump
jsr _default_vsync_handler ; modified
cmp #0
bne _dispatch_end
ldy #1
sty cx16.VERA_ISR
bra _return_irq
+
lda #0
_dispatch_end
cmp #0
beq _return_irq
jsr sys.restore_prog8_internals
jmp (sys.restore_irq._orig_irqvec) ; continue with normal kernal irq routine
_return_irq
jsr sys.restore_prog8_internals
ply
plx
pla
rti
_default_vsync_handler
lda #1
rts
_default_line_handler
lda #0
rts
_default_sprcol_handler
lda #0
rts
_default_aflow_handler
lda #0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1055 asmsub set_vsync_irq_handler(uword address @AY) clobbers(A) {
set_vsync_irq_handler .proc
; source: library:/prog8lib/cx16/syslib.p8:1058 %asm {{
php
sei
sta enable_irq_handlers._mod_vsync_jump+1
sty enable_irq_handlers._mod_vsync_jump+2
lda #1
tsb cx16.VERA_IEN
plp
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1070 asmsub set_line_irq_handler(uword rasterline @R0, uword address @AY) clobbers(A,Y) {
set_line_irq_handler .proc
; source: library:/prog8lib/cx16/syslib.p8:1074 %asm {{
php
sei
sta enable_irq_handlers._mod_line_jump+1
sty enable_irq_handlers._mod_line_jump+2
lda cx16.r0
ldy cx16.r0+1
jsr sys.set_rasterline
lda #2
tsb cx16.VERA_IEN
plp
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1089 asmsub set_sprcol_irq_handler(uword address @AY) clobbers(A) {
set_sprcol_irq_handler .proc
; source: library:/prog8lib/cx16/syslib.p8:1092 %asm {{
php
sei
sta enable_irq_handlers._mod_sprcol_jump+1
sty enable_irq_handlers._mod_sprcol_jump+2
lda #4
tsb cx16.VERA_IEN
plp
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1104 asmsub set_aflow_irq_handler(uword address @AY) clobbers(A) {
set_aflow_irq_handler .proc
; source: library:/prog8lib/cx16/syslib.p8:1107 %asm {{
php
sei
sta enable_irq_handlers._mod_aflow_jump+1
sty enable_irq_handlers._mod_aflow_jump+2
lda #8
tsb cx16.VERA_IEN
plp
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1120 inline asmsub disable_irq_handlers() {
; source: library:/prog8lib/cx16/syslib.p8:1159 asmsub cpu_is_65816() -> bool @A {
cpu_is_65816 .proc
; source: library:/prog8lib/cx16/syslib.p8:1161 %asm {{
php
clv
.byte $e2, $ea ; SEP #$ea, should be interpreted as 2 NOPs by 6502. 65c816 will set the Overflow flag.
bvc +
lda #1
plp
rts
+ lda #0
plp
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1187 asmsub get_program_args(uword buffer @R0, ubyte buf_size @R1, bool binary @Pc) {
get_program_args .proc
; source: library:/prog8lib/cx16/syslib.p8:1191 %asm {{
lda #0
rol a
sta P8ZP_SCRATCH_REG
lda $00
pha
stz $00
stz P8ZP_SCRATCH_W1
lda #$bf
sta P8ZP_SCRATCH_W1+1
ldy #0
- lda (P8ZP_SCRATCH_W1),y
sta (cx16.r0),y
beq +
_continue iny
cpy cx16.r1L ; max size?
bne -
beq ++
+ lda P8ZP_SCRATCH_REG ; binary?
bne _continue
+ pla
sta $00
rts
.pend
.pend
; ---- block: 'sys' ----
sys .proc
; source: library:/prog8lib/cx16/syslib.p8:1218 sys {
target = $10
; source: library:/prog8lib/cx16/syslib.p8:1221 const ubyte target = 16 ; compilation target specifier. 64 = C64, 128 = C128, 16 = CommanderX16.
; source: library:/prog8lib/cx16/syslib.p8:1218 sys {
; source: library:/prog8lib/cx16/syslib.p8:1223 asmsub init_system() {
init_system .proc
; source: library:/prog8lib/cx16/syslib.p8:1226 %asm {{
sei
lda #0
tax
tay
jsr cx16.mouse_config ; disable mouse
cld
lda cx16.VERA_DC_VIDEO
and #%00000111 ; retain chroma + output mode
sta P8ZP_SCRATCH_REG
lda #$0a
sta $01 ; rom bank 10 (audio)
jsr cx16.audio_init ; silence
stz $01 ; rom bank 0 (kernal)
jsr cbm.IOINIT
jsr cbm.RESTOR
jsr cbm.CINT
lda cx16.VERA_DC_VIDEO
and #%11111000
ora P8ZP_SCRATCH_REG
sta cx16.VERA_DC_VIDEO ; restore old output mode
lda #$90 ; black
jsr cbm.CHROUT
lda #1
jsr cbm.CHROUT ; swap fg/bg
lda #$9e ; yellow
jsr cbm.CHROUT
lda #147 ; clear screen
jsr cbm.CHROUT
lda #8 ; disable charset case switch
jsr cbm.CHROUT
lda #PROG8_VARSHIGH_RAMBANK
sta $00 ; select ram bank
lda #0
tax
tay
clc
clv
cli
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1269 asmsub init_system_phase2() {
init_system_phase2 .proc
; source: library:/prog8lib/cx16/syslib.p8:1270 %asm {{
sei
lda cx16.CINV
sta restore_irq._orig_irqvec
lda cx16.CINV+1
sta restore_irq._orig_irqvec+1
lda #PROG8_VARSHIGH_RAMBANK
sta $00 ; select ram bank
cli
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1283 asmsub cleanup_at_exit() {
cleanup_at_exit .proc
; source: library:/prog8lib/cx16/syslib.p8:1285 %asm {{
lda #1
sta $00 ; ram bank 1
lda #4
sta $01 ; rom bank 4 (basic)
stz $2d ; hack to reset machine code monitor bank to 0
jsr cbm.CLRCHN ; reset i/o channels
_exitcodeCarry = *+1
lda #0
lsr a
_exitcode = *+1
lda #0 ; exit code possibly modified in exit()
_exitcodeX = *+1
ldx #0
_exitcodeY = *+1
ldy #0
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1305 asmsub set_irq(uword handler @AY) clobbers(A) {
set_irq .proc
; source: library:/prog8lib/cx16/syslib.p8:1307 %asm {{
sei
sta _modified+1
sty _modified+2
lda #<_irq_handler
sta cx16.CINV
lda #>_irq_handler
sta cx16.CINV+1
lda #1
tsb cx16.VERA_IEN ; enable the vsync irq
cli
rts
_irq_handler
jsr sys.save_prog8_internals
cld
_modified
jsr $ffff ; modified
pha
jsr sys.restore_prog8_internals
pla
beq +
jmp (restore_irq._orig_irqvec) ; continue with normal kernal irq routine
+ lda #1
sta cx16.VERA_ISR ; clear Vera Vsync irq status
ply
plx
pla
rti
.pend
; source: library:/prog8lib/cx16/syslib.p8:1339 asmsub restore_irq() clobbers(A) {
restore_irq .proc
; source: library:/prog8lib/cx16/syslib.p8:1340 %asm {{
sei
lda _orig_irqvec
sta cx16.CINV
lda _orig_irqvec+1
sta cx16.CINV+1
lda cx16.VERA_IEN
and #%11110000 ; disable all Vera IRQs but the vsync
ora #%00000001
sta cx16.VERA_IEN
cli
rts
_orig_irqvec .word 0
.pend
; source: library:/prog8lib/cx16/syslib.p8:1356 asmsub set_rasterirq(uword handler @AY, uword rasterpos @R0) clobbers(A) {
set_rasterirq .proc
; source: library:/prog8lib/cx16/syslib.p8:1358 %asm {{
sei
sta _modified+1
sty _modified+2
lda cx16.r0
ldy cx16.r0+1
lda cx16.VERA_IEN
and #%11110000 ; disable all irqs but the line(raster) one
ora #%00000010
sta cx16.VERA_IEN
lda cx16.r0
ldy cx16.r0+1
jsr set_rasterline
lda #<_raster_irq_handler
sta cx16.CINV
lda #>_raster_irq_handler
sta cx16.CINV+1
cli
rts
_raster_irq_handler
jsr sys.save_prog8_internals
cld
_modified jsr $ffff ; modified
jsr sys.restore_prog8_internals
; end irq processing - don't use kernal's irq handling
lda #2
tsb cx16.VERA_ISR ; clear Vera line irq status
ply
plx
pla
rti
.pend
; source: library:/prog8lib/cx16/syslib.p8:1393 asmsub set_rasterline(uword line @AY) {
set_rasterline .proc
; source: library:/prog8lib/cx16/syslib.p8:1394 %asm {{
php
sei
sta cx16.VERA_IRQLINE_L
tya
lsr a
bcs +
lda #%10000000
trb cx16.VERA_IEN
plp
rts
+ lda #%10000000
tsb cx16.VERA_IEN
plp
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1412 asmsub reset_system() {
reset_system .proc
; source: library:/prog8lib/cx16/syslib.p8:1415 %asm {{
sei
ldx #$42
ldy #2
lda #0
jsr cx16.i2c_write_byte
bra *
.pend
; source: library:/prog8lib/cx16/syslib.p8:1435 asmsub wait(uword jiffies @AY) clobbers(X) {
wait .proc
; source: library:/prog8lib/cx16/syslib.p8:1439 %asm {{
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
_loop lda P8ZP_SCRATCH_W1
ora P8ZP_SCRATCH_W1+1
bne +
rts
+ sei
jsr cbm.RDTIM
cli
sta P8ZP_SCRATCH_B1
- sei
jsr cbm.RDTIM
cli
cmp P8ZP_SCRATCH_B1
beq -
lda P8ZP_SCRATCH_W1
bne +
dec P8ZP_SCRATCH_W1+1
+ dec P8ZP_SCRATCH_W1
bra _loop
.pend
; source: library:/prog8lib/cx16/syslib.p8:1466 inline asmsub waitvsync() {
; source: library:/prog8lib/cx16/syslib.p8:1475 asmsub internal_stringcopy(uword source @R0, uword target @AY) clobbers (A,Y) {
internal_stringcopy .proc
; source: library:/prog8lib/cx16/syslib.p8:1477 %asm {{
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
lda cx16.r0
ldy cx16.r0+1
jmp prog8_lib.strcpy
.pend
; source: library:/prog8lib/cx16/syslib.p8:1486 asmsub memcopy(uword source @R0, uword target @R1, uword count @AY) clobbers(A,X,Y) {
memcopy .proc
; source: library:/prog8lib/cx16/syslib.p8:1492 %asm {{
cpy #0
bne _longcopy
; copy <= 255 bytes
tay
bne _copyshort
rts ; nothing to copy
_copyshort
dey
beq +
- lda (cx16.r0),y
sta (cx16.r1),y
dey
bne -
+ lda (cx16.r0),y
sta (cx16.r1),y
rts
_longcopy
pha ; lsb(count) = remainder in last page
tya
tax ; x = num pages (1+)
ldy #0
- lda (cx16.r0),y
sta (cx16.r1),y
iny
bne -
inc cx16.r0+1
inc cx16.r1+1
dex
bne -
ply
bne _copyshort
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1531 asmsub memset(uword mem @R0, uword numbytes @R1, ubyte value @A) clobbers(A,X,Y) {
memset .proc
; source: library:/prog8lib/cx16/syslib.p8:1532 %asm {{
ldy cx16.r0
sty P8ZP_SCRATCH_W1
ldy cx16.r0+1
sty P8ZP_SCRATCH_W1+1
ldx cx16.r1
ldy cx16.r1+1
jmp prog8_lib.memset
.pend
; source: library:/prog8lib/cx16/syslib.p8:1543 asmsub memsetw(uword mem @R0, uword numwords @R1, uword value @AY) clobbers (A,X,Y) {
memsetw .proc
; source: library:/prog8lib/cx16/syslib.p8:1544 %asm {{
ldx cx16.r0
stx P8ZP_SCRATCH_W1
ldx cx16.r0+1
stx P8ZP_SCRATCH_W1+1
ldx cx16.r1
stx P8ZP_SCRATCH_W2
ldx cx16.r1+1
stx P8ZP_SCRATCH_W2+1
jmp prog8_lib.memsetw
.pend
; source: library:/prog8lib/cx16/syslib.p8:1557 inline asmsub read_flags() -> ubyte @A {
; source: library:/prog8lib/cx16/syslib.p8:1564 inline asmsub clear_carry() {
; source: library:/prog8lib/cx16/syslib.p8:1570 inline asmsub set_carry() {
; source: library:/prog8lib/cx16/syslib.p8:1576 inline asmsub clear_irqd() {
; source: library:/prog8lib/cx16/syslib.p8:1582 inline asmsub set_irqd() {
; source: library:/prog8lib/cx16/syslib.p8:1588 inline asmsub irqsafe_set_irqd() {
; source: library:/prog8lib/cx16/syslib.p8:1595 inline asmsub irqsafe_clear_irqd() {
; source: library:/prog8lib/cx16/syslib.p8:1601 inline asmsub disable_caseswitch() {
; source: library:/prog8lib/cx16/syslib.p8:1608 inline asmsub enable_caseswitch() {
; source: library:/prog8lib/cx16/syslib.p8:1615 asmsub save_prog8_internals() {
save_prog8_internals .proc
; source: library:/prog8lib/cx16/syslib.p8:1616 %asm {{
lda P8ZP_SCRATCH_B1
sta save_SCRATCH_ZPB1
lda P8ZP_SCRATCH_REG
sta save_SCRATCH_ZPREG
lda P8ZP_SCRATCH_W1
sta save_SCRATCH_ZPWORD1
lda P8ZP_SCRATCH_W1+1
sta save_SCRATCH_ZPWORD1+1
lda P8ZP_SCRATCH_W2
sta save_SCRATCH_ZPWORD2
lda P8ZP_SCRATCH_W2+1
sta save_SCRATCH_ZPWORD2+1
rts
save_SCRATCH_ZPB1 .byte 0
save_SCRATCH_ZPREG .byte 0
save_SCRATCH_ZPWORD1 .word 0
save_SCRATCH_ZPWORD2 .word 0
.pend
; source: library:/prog8lib/cx16/syslib.p8:1637 asmsub restore_prog8_internals() {
restore_prog8_internals .proc
; source: library:/prog8lib/cx16/syslib.p8:1638 %asm {{
lda save_prog8_internals.save_SCRATCH_ZPB1
sta P8ZP_SCRATCH_B1
lda save_prog8_internals.save_SCRATCH_ZPREG
sta P8ZP_SCRATCH_REG
lda save_prog8_internals.save_SCRATCH_ZPWORD1
sta P8ZP_SCRATCH_W1
lda save_prog8_internals.save_SCRATCH_ZPWORD1+1
sta P8ZP_SCRATCH_W1+1
lda save_prog8_internals.save_SCRATCH_ZPWORD2
sta P8ZP_SCRATCH_W2
lda save_prog8_internals.save_SCRATCH_ZPWORD2+1
sta P8ZP_SCRATCH_W2+1
rts
.pend
; source: library:/prog8lib/cx16/syslib.p8:1655 asmsub exit(ubyte returnvalue @A) {
exit .proc
; source: library:/prog8lib/cx16/syslib.p8:1657 %asm {{
sta cleanup_at_exit._exitcode
ldx prog8_lib.orig_stackpointer
txs
jmp cleanup_at_exit
.pend
; source: library:/prog8lib/cx16/syslib.p8:1665 asmsub exit2(ubyte resulta @A, ubyte resultx @X, ubyte resulty @Y) {
exit2 .proc
; source: library:/prog8lib/cx16/syslib.p8:1667 %asm {{
sta cleanup_at_exit._exitcode
stx cleanup_at_exit._exitcodeX
sty cleanup_at_exit._exitcodeY
ldx prog8_lib.orig_stackpointer
txs
jmp cleanup_at_exit
.pend
; source: library:/prog8lib/cx16/syslib.p8:1677 asmsub exit3(ubyte resulta @A, ubyte resultx @X, ubyte resulty @Y, bool carry @Pc) {
exit3 .proc
; source: library:/prog8lib/cx16/syslib.p8:1679 %asm {{
sta cleanup_at_exit._exitcode
lda #0
rol a
sta cleanup_at_exit._exitcodeCarry
stx cleanup_at_exit._exitcodeX
sty cleanup_at_exit._exitcodeY
ldx prog8_lib.orig_stackpointer
txs
jmp cleanup_at_exit
.pend
; source: library:/prog8lib/cx16/syslib.p8:1692 inline asmsub progend() -> uword @AY {
; source: library:/prog8lib/cx16/syslib.p8:1699 inline asmsub push(ubyte value @A) {
; source: library:/prog8lib/cx16/syslib.p8:1705 inline asmsub pushw(uword value @AY) {
; source: library:/prog8lib/cx16/syslib.p8:1712 inline asmsub pop() -> ubyte @A {
; source: library:/prog8lib/cx16/syslib.p8:1718 inline asmsub popw() -> uword @AY {
.pend
; ---- block: 'conv' ----
conv .proc
; source: library:/prog8lib/conv.p8:3 conv {
; non-zeropage variables
string_out ; PETSCII:"????????????????"
.byte $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f
.byte $00
; source: library:/prog8lib/conv.p8:9 str @shared string_out = "????????????????" ; result buffer for the string conversion routines
; source: library:/prog8lib/conv.p8:5 %option no_symbol_prefixing, ignore_unused
; source: library:/prog8lib/conv.p8:11 asmsub str_ub0 (ubyte value @ A) clobbers(X) -> str @AY {
str_ub0 .proc
; source: library:/prog8lib/conv.p8:13 %asm {{
jsr conv.ubyte2decimal
sty string_out
sta string_out+1
stx string_out+2
lda #0
sta string_out+3
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:26 asmsub str_ub (ubyte value @ A) clobbers(X) -> str @AY {
str_ub .proc
; source: library:/prog8lib/conv.p8:28 %asm {{
ldy #0
sty P8ZP_SCRATCH_B1
jsr conv.ubyte2decimal
_output_byte_digits
; hundreds?
cpy #'0'
beq +
pha
tya
ldy P8ZP_SCRATCH_B1
sta string_out,y
pla
inc P8ZP_SCRATCH_B1
; tens?
+ ldy P8ZP_SCRATCH_B1
cmp #'0'
beq +
sta string_out,y
iny
+ ; ones.
txa
sta string_out,y
iny
lda #0
sta string_out,y
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:60 asmsub str_b (byte value @ A) clobbers(X) -> str @AY {
str_b .proc
; source: library:/prog8lib/conv.p8:62 %asm {{
ldy #0
sty P8ZP_SCRATCH_B1
cmp #0
bpl +
pha
lda #'-'
sta string_out
inc P8ZP_SCRATCH_B1
pla
+ jsr conv.byte2decimal
bra str_ub._output_byte_digits
.pend
; source: library:/prog8lib/conv.p8:77 asmsub str_ubhex (ubyte value @ A) clobbers(X) -> str @AY {
str_ubhex .proc
; source: library:/prog8lib/conv.p8:79 %asm {{
jsr conv.ubyte2hex
sta string_out
sty string_out+1
lda #0
sta string_out+2
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:91 asmsub str_ubbin (ubyte value @ A) clobbers(X) -> str @AY {
str_ubbin .proc
; source: library:/prog8lib/conv.p8:93 %asm {{
sta P8ZP_SCRATCH_B1
ldy #0
sty string_out+8
ldy #7
- lsr P8ZP_SCRATCH_B1
bcc +
lda #'1'
bne _digit
+ lda #'0'
_digit sta string_out,y
dey
bpl -
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:112 asmsub str_uwbin (uword value @ AY) clobbers(X) -> str @AY {
str_uwbin .proc
; source: library:/prog8lib/conv.p8:114 %asm {{
sta P8ZP_SCRATCH_REG
tya
jsr str_ubbin
ldy #0
sty string_out+16
ldy #7
- lsr P8ZP_SCRATCH_REG
bcc +
lda #'1'
bne _digit
+ lda #'0'
_digit sta string_out+8,y
dey
bpl -
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:135 asmsub str_uwhex (uword value @ AY) -> str @AY {
str_uwhex .proc
; source: library:/prog8lib/conv.p8:137 %asm {{
pha
tya
jsr conv.ubyte2hex
sta string_out
sty string_out+1
pla
jsr conv.ubyte2hex
sta string_out+2
sty string_out+3
lda #0
sta string_out+4
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:155 asmsub str_uw0 (uword value @ AY) clobbers(X) -> str @AY {
str_uw0 .proc
; source: library:/prog8lib/conv.p8:157 %asm {{
jsr conv.uword2decimal
ldy #0
- lda conv.uword2decimal.decTenThousands,y
sta string_out,y
beq +
iny
bne -
+
lda #<string_out
ldy #>string_out
rts
.pend
; source: library:/prog8lib/conv.p8:172 asmsub str_uw (uword value @ AY) clobbers(X) -> str @AY {
str_uw .proc
; source: library:/prog8lib/conv.p8:174 %asm {{
jsr conv.uword2decimal
ldx #0
_output_digits
ldy #0
- lda conv.uword2decimal.decTenThousands,y
beq _allzero
cmp #'0'
bne _gotdigit
iny
bne -
_gotdigit sta string_out,x
inx
iny
lda conv.uword2decimal.decTenThousands,y
bne _gotdigit
_end lda #0
sta string_out,x
lda #<string_out
ldy #>string_out
rts
_allzero lda #'0'
sta string_out,x
inx
bne _end
.pend
; source: library:/prog8lib/conv.p8:203 asmsub str_w (word value @ AY) clobbers(X) -> str @AY {
str_w .proc
; source: library:/prog8lib/conv.p8:205 %asm {{
cpy #0
bpl str_uw
pha
lda #'-'
sta string_out
tya
eor #255
tay
pla
eor #255
clc
adc #1
bcc +
iny
+ jsr conv.uword2decimal
ldx #1
bne str_uw._output_digits
rts
.pend
; source: library:/prog8lib/conv.p8:230 asmsub any2uword(str string @AY) clobbers(Y) -> ubyte @A {
any2uword .proc
; source: library:/prog8lib/conv.p8:236 %asm {{
pha
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
ldy P8ZP_SCRATCH_W1+1
cmp #'$'
beq _hex
cmp #'%'
beq _bin
pla
jsr str2uword
jmp _result
_hex pla
jsr hex2uword
jmp _result
_bin pla
jsr bin2uword
_result
pha
lda cx16.r15
sta P8ZP_SCRATCH_B1 ; result value
pla
sta cx16.r15
sty cx16.r15+1
lda P8ZP_SCRATCH_B1
rts
.pend
; source: library:/prog8lib/conv.p8:267 inline asmsub str2ubyte(str string @AY) clobbers(Y) -> ubyte @A {
; source: library:/prog8lib/conv.p8:277 inline asmsub str2byte(str string @AY) clobbers(Y) -> byte @A {
; source: library:/prog8lib/conv.p8:287 asmsub str2uword(str string @AY) -> uword @AY {
str2uword .proc
; source: library:/prog8lib/conv.p8:292 %asm {{
_result = P8ZP_SCRATCH_W1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
sty _result
sty _result+1
sty cx16.r15+1
_loop
lda (P8ZP_SCRATCH_W2),y
sec
sbc #48
bpl _digit
_done
sty cx16.r15
lda _result
ldy _result+1
rts
_digit
cmp #10
bcs _done
; add digit to result
pha
jsr _result_times_10
pla
clc
adc _result
sta _result
bcc +
inc _result+1
+ iny
bne _loop
; never reached
_result_times_10 ; (W*4 + W)*2
lda _result+1
sta P8ZP_SCRATCH_REG
lda _result
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
clc
adc _result
sta _result
lda P8ZP_SCRATCH_REG
adc _result+1
asl _result
rol a
sta _result+1
rts
.pend
; source: library:/prog8lib/conv.p8:346 asmsub str2word(str string @AY) -> word @AY {
str2word .proc
; source: library:/prog8lib/conv.p8:351 %asm {{
_result = P8ZP_SCRATCH_W1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
sty _result
sty _result+1
sty _negative
sty cx16.r15+1
lda (P8ZP_SCRATCH_W2),y
cmp #'+'
bne +
iny
+ cmp #'-'
bne _parse
inc _negative
iny
_parse lda (P8ZP_SCRATCH_W2),y
sec
sbc #48
bpl _digit
_done
sty cx16.r15
lda _negative
beq +
sec
lda #0
sbc _result
sta _result
lda #0
sbc _result+1
sta _result+1
+ lda _result
ldy _result+1
rts
_digit
cmp #10
bcs _done
; add digit to result
pha
jsr str2uword._result_times_10
pla
clc
adc _result
sta _result
bcc +
inc _result+1
+ iny
bne _parse
; never reached
_negative .byte 0
.pend
; source: library:/prog8lib/conv.p8:405 asmsub hex2uword(str string @AY) -> uword @AY {
hex2uword .proc
; source: library:/prog8lib/conv.p8:410 %asm {{
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
sty P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sty cx16.r15+1
lda (P8ZP_SCRATCH_W2),y
beq _stop
cmp #'$'
bne _loop
iny
_loop
lda #0
sta P8ZP_SCRATCH_B1
lda (P8ZP_SCRATCH_W2),y
beq _stop
cmp #7 ; screencode letters A-F are 1-6
bcc _add_letter
and #127
cmp #97
bcs _try_iso ; maybe letter is iso:'a'-iso:'f' (97-102)
cmp #'g'
bcs _stop
cmp #'a'
bcs _add_letter
cmp #'0'
bcc _stop
cmp #'9'+1
bcs _stop
_calc
asl P8ZP_SCRATCH_W1
rol P8ZP_SCRATCH_W1+1
asl P8ZP_SCRATCH_W1
rol P8ZP_SCRATCH_W1+1
asl P8ZP_SCRATCH_W1
rol P8ZP_SCRATCH_W1+1
asl P8ZP_SCRATCH_W1
rol P8ZP_SCRATCH_W1+1
and #$0f
clc
adc P8ZP_SCRATCH_B1
ora P8ZP_SCRATCH_W1
sta P8ZP_SCRATCH_W1
iny
bne _loop
_stop
sty cx16.r15
lda P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
rts
_add_letter
pha
lda #9
sta P8ZP_SCRATCH_B1
pla
jmp _calc
_try_iso
cmp #103
bcs _stop
and #63
bne _add_letter
.pend
; source: library:/prog8lib/conv.p8:475 asmsub bin2uword(str string @AY) -> uword @AY {
bin2uword .proc
; source: library:/prog8lib/conv.p8:479 %asm {{
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
sty P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sty cx16.r15+1
lda (P8ZP_SCRATCH_W2),y
beq _stop
cmp #'%'
bne _loop
iny
_loop
lda (P8ZP_SCRATCH_W2),y
cmp #'0'
bcc _stop
cmp #'2'
bcs _stop
_first asl P8ZP_SCRATCH_W1
rol P8ZP_SCRATCH_W1+1
and #1
ora P8ZP_SCRATCH_W1
sta P8ZP_SCRATCH_W1
iny
bne _loop
_stop
sty cx16.r15
lda P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
rts
.pend
; source: library:/prog8lib/conv.p8:515 asmsub ubyte2decimal (ubyte value @A) -> ubyte @Y, ubyte @A, ubyte @X {
ubyte2decimal .proc
; source: library:/prog8lib/conv.p8:517 %asm {{
ldy #uword2decimal.ASCII_0_OFFSET
jmp uword2decimal.hex_try200
.pend
; source: library:/prog8lib/conv.p8:523 asmsub uword2decimal (uword value @AY) -> ubyte @Y, ubyte @A, ubyte @X {
uword2decimal .proc
; source: library:/prog8lib/conv.p8:529 %asm {{
;Convert 16 bit Hex to Decimal (0-65535) Rev 2
;By Omegamatrix Further optimizations by tepples
; routine from https://forums.nesdev.org/viewtopic.php?p=130363&sid=1944ba8bac4d6afa9c02e3cc42304e6b#p130363
;HexToDec99
; start in A
; end with A = 10's, decOnes (also in X)
;HexToDec255
; start in A
; end with Y = 100's, A = 10's, decOnes (also in X)
;HexToDec999
; start with A = high byte, Y = low byte
; end with Y = 100's, A = 10's, decOnes (also in X)
; requires 1 extra temp register on top of decOnes, could combine
; these two if HexToDec65535 was eliminated...
;HexToDec65535
; start with A/Y (low/high) as 16 bit value
; end with decTenThousand, decThousand, Y = 100's, A = 10's, decOnes (also in X)
; (irmen: I store Y and A in decHundreds and decTens too, so all of it can be easily printed)
ASCII_0_OFFSET = $30
temp = P8ZP_SCRATCH_B1 ; byte in zeropage
hexHigh = P8ZP_SCRATCH_W1 ; byte in zeropage
hexLow = P8ZP_SCRATCH_W1+1 ; byte in zeropage
HexToDec65535; SUBROUTINE
sty hexHigh ;3 @9
sta hexLow ;3 @12
tya
tax ;2 @14
lsr a ;2 @16
lsr a ;2 @18 integer divide 1024 (result 0-63)
cpx #$A7 ;2 @20 account for overflow of multiplying 24 from 43,000 ($A7F8) onward,
adc #1 ;2 @22 we can just round it to $A700, and the divide by 1024 is fine...
;at this point we have a number 1-65 that we have to times by 24,
;add to original sum, and Mod 1024 to get a remainder 0-999
sta temp ;3 @25
asl a ;2 @27
adc temp ;3 @30 x3
tay ;2 @32
lsr a ;2 @34
lsr a ;2 @36
lsr a ;2 @38
lsr a ;2 @40
lsr a ;2 @42
tax ;2 @44
tya ;2 @46
asl a ;2 @48
asl a ;2 @50
asl a ;2 @52
clc ;2 @54
adc hexLow ;3 @57
sta hexLow ;3 @60
txa ;2 @62
adc hexHigh ;3 @65
sta hexHigh ;3 @68
ror a ;2 @70
lsr a ;2 @72
tay ;2 @74 integer divide 1,000 (result 0-65)
lsr a ;2 @76 split the 1,000 and 10,000 digit
tax ;2 @78
lda ShiftedBcdTab,x ;4 @82
tax ;2 @84
rol a ;2 @86
and #$0F ;2 @88
ora #ASCII_0_OFFSET
sta decThousands ;3 @91
txa ;2 @93
lsr a ;2 @95
lsr a ;2 @97
lsr a ;2 @99
ora #ASCII_0_OFFSET
sta decTenThousands ;3 @102
lda hexLow ;3 @105
cpy temp ;3 @108
bmi _doSubtract ;2³ @110/111
beq _useZero ;2³ @112/113
adc #23 + 24 ;2 @114
_doSubtract
sbc #23 ;2 @116
sta hexLow ;3 @119
_useZero
lda hexHigh ;3 @122
sbc #0 ;2 @124
Start100s
and #$03 ;2 @126
tax ;2 @128 0,1,2,3
cmp #2 ;2 @130
rol a ;2 @132 0,2,5,7
ora #ASCII_0_OFFSET
tay ;2 @134 Y = Hundreds digit
lda hexLow ;3 @137
adc Mod100Tab,x ;4 @141 adding remainder of 256, 512, and 256+512 (all mod 100)
bcs hex_doSub200 ;2³ @143/144
hex_try200
cmp #200 ;2 @145
bcc hex_try100 ;2³ @147/148
hex_doSub200
iny ;2 @149
iny ;2 @151
sbc #200 ;2 @153
hex_try100
cmp #100 ;2 @155
bcc HexToDec99 ;2³ @157/158
iny ;2 @159
sbc #100 ;2 @161
HexToDec99; SUBROUTINE
lsr a ;2 @163
tax ;2 @165
lda ShiftedBcdTab,x ;4 @169
tax ;2 @171
rol a ;2 @173
and #$0F ;2 @175
ora #ASCII_0_OFFSET
sta decOnes ;3 @178
txa ;2 @180
lsr a ;2 @182
lsr a ;2 @184
lsr a ;2 @186
ora #ASCII_0_OFFSET
; irmen: load X with ones, and store Y and A too, for easy printing afterwards
sty decHundreds
sta decTens
ldx decOnes
rts ;6 @192 Y=hundreds, A = tens digit, X=ones digit
HexToDec999; SUBROUTINE
sty hexLow ;3 @9
jmp Start100s ;3 @12
Mod100Tab
.byte 0,56,12,56+12
ShiftedBcdTab
.byte $00,$01,$02,$03,$04,$08,$09,$0A,$0B,$0C
.byte $10,$11,$12,$13,$14,$18,$19,$1A,$1B,$1C
.byte $20,$21,$22,$23,$24,$28,$29,$2A,$2B,$2C
.byte $30,$31,$32,$33,$34,$38,$39,$3A,$3B,$3C
.byte $40,$41,$42,$43,$44,$48,$49,$4A,$4B,$4C
decTenThousands .byte 0
decThousands .byte 0
decHundreds .byte 0
decTens .byte 0
decOnes .byte 0
.byte 0 ; zero-terminate the decimal output string
.pend
; source: library:/prog8lib/conv.p8:698 asmsub byte2decimal (byte value @A) -> ubyte @Y, ubyte @A, ubyte @X {
byte2decimal .proc
; source: library:/prog8lib/conv.p8:701 %asm {{
cmp #0
bpl +
eor #255
clc
adc #1
+ jmp ubyte2decimal
.pend
; source: library:/prog8lib/conv.p8:711 asmsub ubyte2hex (ubyte value @A) clobbers(X) -> ubyte @A, ubyte @Y {
ubyte2hex .proc
; source: library:/prog8lib/conv.p8:713 %asm {{
pha
and #$0f
tax
ldy _hex_digits,x
pla
lsr a
lsr a
lsr a
lsr a
tax
lda _hex_digits,x
rts
_hex_digits .text "0123456789abcdef" ; can probably be reused for other stuff as well
.pend
; source: library:/prog8lib/conv.p8:731 asmsub uword2hex (uword value @AY) clobbers(A,Y) {
uword2hex .proc
; source: library:/prog8lib/conv.p8:733 %asm {{
sta P8ZP_SCRATCH_REG
tya
jsr ubyte2hex
sta output
sty output+1
lda P8ZP_SCRATCH_REG
jsr ubyte2hex
sta output+2
sty output+3
rts
output .text "0000", $00 ; 0-terminated output buffer (to make printing easier)
.pend
.pend
; ---- block: 'floats' ----
floats .proc
; source: library:/prog8lib/cx16/floats.p8:6 floats {
AYINT_facmo = $c6
PI = 3.141592653589793
TWOPI = 6.283185307179586
π = 3.141592653589793
AYINT = $fe00
GIVAYF = $fe03
FOUT = $fe06
VAL_1 = $fe09
GETADR = $fe0c
FLOATC = $fe0f
FSUB = $fe12
FSUBT = $fe15
FADD = $fe18
FADDT = $fe1b
FMULT = $fe1e
FMULTT = $fe21
FDIV = $fe24
FDIVT = $fe27
LOG = $fe2a
INT = $fe2d
SQR = $fe30
NEGOP = $fe33
FPWR = $fe36
FPWRT = $fe39
EXP = $fe3c
COS = $fe3f
SIN = $fe42
TAN = $fe45
ATN = $fe48
ROUND = $fe4b
ABS = $fe4e
SIGN = $fe51
FCOMP = $fe54
RND_0 = $fe57
RND = $fe57
CONUPK = $fe5a
ROMUPK = $fe5d
MOVFRM = $fe60
MOVFM = $fe63
MOVMF = $fe66
MOVFA = $fe69
MOVAF = $fe6c
FADDH = $fe6f
ZEROFC = $fe72
NORMAL = $fe75
NEGFAC = $fe78
MUL10 = $fe7b
DIV10 = $fe7e
MOVEF = $fe81
SGN = $fe84
FLOAT = $fe87
FLOATS = $fe8a
QINT = $fe8d
FINLOG = $fe90
; source: library:/prog8lib/cx16/floats.p8:9 const float π = 3.141592653589793
; source: library:/prog8lib/cx16/floats.p8:10 const float PI = π
; source: library:/prog8lib/cx16/floats.p8:11 const float TWOPI = 2*π
; source: library:/prog8lib/cx16/floats.p8:176 &uword AYINT_facmo = $c6 ; $c6/$c7 contain result of AYINT
; source: library:/prog8lib/cx16/floats.p8:6 floats {
; source: library:/prog8lib/shared_floats_functions.p8:1 floats {
; source: library:/prog8lib/cx16/floats.p8:22 romsub $fe00 = AYINT() clobbers(A,X,Y) ; fac1-> signed word in 100-101 ($64-$65) MSB FIRST. (might throw ILLEGAL QUANTITY)
; source: library:/prog8lib/cx16/floats.p8:27 romsub $fe03 = GIVAYF(ubyte lo @ Y, ubyte hi @ A) clobbers(A,X,Y)
; source: library:/prog8lib/cx16/floats.p8:29 romsub $fe06 = FOUT() clobbers(X) -> uword @ AY ; fac1 -> string, address returned in AY
; source: library:/prog8lib/cx16/floats.p8:30 romsub $fe09 = VAL_1(uword string @XY, ubyte length @A) clobbers(A,X,Y) -> float @FAC1 ; convert ASCII string in XY and length in A, to floating point in FAC1. WARNING: only implemented in ROM 47+. Safer to use floats.parse() instead.
; source: library:/prog8lib/cx16/floats.p8:34 romsub $fe0c = GETADR() clobbers(X) -> ubyte @ Y, ubyte @ A
; source: library:/prog8lib/cx16/floats.p8:35 romsub $fe0f = FLOATC() clobbers(A,X,Y) ; convert address to floating point
; source: library:/prog8lib/cx16/floats.p8:37 romsub $fe12 = FSUB(uword mflpt @ AY) clobbers(A,X,Y) ; fac1 = mflpt from A/Y - fac1
; source: library:/prog8lib/cx16/floats.p8:38 romsub $fe15 = FSUBT() clobbers(A,X,Y) ; fac1 = fac2-fac1 mind the order of the operands
; source: library:/prog8lib/cx16/floats.p8:39 romsub $fe18 = FADD(uword mflpt @ AY) clobbers(A,X,Y) ; fac1 += mflpt value from A/Y
; source: library:/prog8lib/cx16/floats.p8:40 romsub $fe1b = FADDT() clobbers(A,X,Y) ; fac1 += fac2
; source: library:/prog8lib/cx16/floats.p8:41 romsub $fe1e = FMULT(uword mflpt @ AY) clobbers(A,X,Y) ; fac1 *= mflpt value from A/Y
; source: library:/prog8lib/cx16/floats.p8:42 romsub $fe21 = FMULTT() clobbers(A,X,Y) ; fac1 *= fac2
; source: library:/prog8lib/cx16/floats.p8:43 romsub $fe24 = FDIV(uword mflpt @ AY) clobbers(A,X,Y) ; fac1 = mflpt in A/Y / fac1
; source: library:/prog8lib/cx16/floats.p8:44 romsub $fe27 = FDIVT() clobbers(A,X,Y) ; fac1 = fac2/fac1 mind the order of the operands
; source: library:/prog8lib/cx16/floats.p8:45 romsub $fe2a = LOG() clobbers(A,X,Y) ; fac1 = LN(fac1) (natural log)
; source: library:/prog8lib/cx16/floats.p8:46 romsub $fe2d = INT() clobbers(A,X,Y) ; INT() truncates, use ROUND or FADDH first to round instead of trunc
; source: library:/prog8lib/cx16/floats.p8:47 romsub $fe30 = SQR() clobbers(A,X,Y) ; fac1 = SQRT(fac1)
; source: library:/prog8lib/cx16/floats.p8:48 romsub $fe33 = NEGOP() clobbers(A) ; switch the sign of fac1 (fac1 = -fac1)
; source: library:/prog8lib/cx16/floats.p8:49 romsub $fe36 = FPWR(uword mflpt @ AY) clobbers(A,X,Y) ; fac1 = fac2 ** float in A/Y
; source: library:/prog8lib/cx16/floats.p8:50 romsub $fe39 = FPWRT() clobbers(A,X,Y) ; fac1 = fac2 ** fac1
; source: library:/prog8lib/cx16/floats.p8:51 romsub $fe3c = EXP() clobbers(A,X,Y) ; fac1 = EXP(fac1) (e ** fac1)
; source: library:/prog8lib/cx16/floats.p8:52 romsub $fe3f = COS() clobbers(A,X,Y) ; fac1 = COS(fac1)
; source: library:/prog8lib/cx16/floats.p8:53 romsub $fe42 = SIN() clobbers(A,X,Y) ; fac1 = SIN(fac1)
; source: library:/prog8lib/cx16/floats.p8:54 romsub $fe45 = TAN() clobbers(A,X,Y) ; fac1 = TAN(fac1)
; source: library:/prog8lib/cx16/floats.p8:55 romsub $fe48 = ATN() clobbers(A,X,Y) ; fac1 = ATN(fac1)
; source: library:/prog8lib/cx16/floats.p8:56 romsub $fe4b = ROUND() clobbers(A,X,Y) ; round fac1
; source: library:/prog8lib/cx16/floats.p8:57 romsub $fe4e = ABS() clobbers(A,X,Y) ; fac1 = ABS(fac1)
; source: library:/prog8lib/cx16/floats.p8:58 romsub $fe51 = SIGN() clobbers(X,Y) -> ubyte @ A ; SIGN(fac1) to A, $ff, $0, $1 for negative, zero, positive
; source: library:/prog8lib/cx16/floats.p8:59 romsub $fe54 = FCOMP(uword mflpt @ AY) clobbers(X,Y) -> ubyte @ A ; A = compare fac1 to mflpt in A/Y, 0=equal 1=fac1 is greater, 255=fac1 is less than
; source: library:/prog8lib/cx16/floats.p8:60 romsub $fe57 = RND_0() clobbers(A,X,Y) ; fac1 = RND(fac1) float random number generator NOTE: incompatible with C64's RND routine
; source: library:/prog8lib/cx16/floats.p8:61 romsub $fe57 = RND() clobbers(A,X,Y) ; alias for RND_0
; source: library:/prog8lib/cx16/floats.p8:62 romsub $fe5a = CONUPK(uword mflpt @ AY) clobbers(A,X,Y) ; load mflpt value from memory in A/Y into fac2
; source: library:/prog8lib/cx16/floats.p8:63 romsub $fe5d = ROMUPK(uword mflpt @ AY) clobbers(A,X,Y) ; load mflpt value from memory in current bank in A/Y into fac2
; source: library:/prog8lib/cx16/floats.p8:64 romsub $fe60 = MOVFRM(uword mflpt @ AY) clobbers(A,X,Y) ; load mflpt value from memory in A/Y into fac1 (use MOVFM instead)
; source: library:/prog8lib/cx16/floats.p8:65 romsub $fe63 = MOVFM(uword mflpt @ AY) clobbers(A,X,Y) ; load mflpt value from memory in A/Y into fac1
; source: library:/prog8lib/cx16/floats.p8:66 romsub $fe66 = MOVMF(uword mflpt @ XY) clobbers(A,X,Y) ; store fac1 to memory X/Y as 5-byte mflpt
; source: library:/prog8lib/cx16/floats.p8:67 romsub $fe69 = MOVFA() clobbers(A,X) ; copy fac2 to fac1
; source: library:/prog8lib/cx16/floats.p8:68 romsub $fe6c = MOVAF() clobbers(A,X) ; copy fac1 to fac2 (rounded)
; source: library:/prog8lib/cx16/floats.p8:71 romsub $fe6f = FADDH() clobbers(A,X,Y) ; fac1 += 0.5, for rounding- call this before INT
; source: library:/prog8lib/cx16/floats.p8:72 romsub $fe72 = ZEROFC() clobbers(A,X,Y) ; fac1 = 0
; source: library:/prog8lib/cx16/floats.p8:73 romsub $fe75 = NORMAL() clobbers(A,X,Y) ; normalize fac1
; source: library:/prog8lib/cx16/floats.p8:74 romsub $fe78 = NEGFAC() clobbers(A) ; switch the sign of fac1 (fac1 = -fac1) (doesn't work, juse use NEGOP() instead!)
; source: library:/prog8lib/cx16/floats.p8:75 romsub $fe7b = MUL10() clobbers(A,X,Y) ; fac1 *= 10
; source: library:/prog8lib/cx16/floats.p8:76 romsub $fe7e = DIV10() clobbers(A,X,Y) ; fac1 /= 10 , CAUTION: result is always positive! Have to restore sign manually!
; source: library:/prog8lib/cx16/floats.p8:77 romsub $fe81 = MOVEF() clobbers(A,X) ; copy fac1 to fac2
; source: library:/prog8lib/cx16/floats.p8:78 romsub $fe84 = SGN() clobbers(A,X,Y) ; fac1 = SGN(fac1), result of SIGN (-1, 0 or 1)
; source: library:/prog8lib/cx16/floats.p8:79 romsub $fe87 = FLOAT() clobbers(A,X,Y) ; FAC = (s8).A
; source: library:/prog8lib/cx16/floats.p8:80 romsub $fe8a = FLOATS() clobbers(A,X,Y) ; FAC = (s16)facho+1:facho
; source: library:/prog8lib/cx16/floats.p8:81 romsub $fe8d = QINT() clobbers(A,X,Y) ; facho:facho+1:facho+2:facho+3 = u32(FAC)
; source: library:/prog8lib/cx16/floats.p8:82 romsub $fe90 = FINLOG(byte value @A) clobbers (A, X, Y) ; fac1 += signed byte in A
; source: library:/prog8lib/cx16/floats.p8:86 asmsub FREADSA (byte value @A) clobbers(A,X,Y) {
FREADSA .proc
; source: library:/prog8lib/cx16/floats.p8:88 %asm {{
tay
bpl +
lda #$ff
jmp GIVAYF
+ lda #0
jmp GIVAYF
.pend
; source: library:/prog8lib/cx16/floats.p8:98 asmsub GIVUAYFAY (uword value @ AY) clobbers(A,X,Y) {
GIVUAYFAY .proc
; source: library:/prog8lib/cx16/floats.p8:100 %asm {{
sty $c4 ; facmo ($64 on c128)
sta $c5 ; facmo+1 ($65 on c128)
ldx #$90
sec
jmp FLOATC
.pend
; source: library:/prog8lib/cx16/floats.p8:109 asmsub GIVAYFAY (uword value @ AY) clobbers(A,X,Y) {
GIVAYFAY .proc
; source: library:/prog8lib/cx16/floats.p8:111 %asm {{
sta P8ZP_SCRATCH_B1
tya
ldy P8ZP_SCRATCH_B1
jmp GIVAYF ; this uses the inverse order, Y/A
.pend
; source: library:/prog8lib/cx16/floats.p8:119 asmsub GETADRAY () clobbers(X) -> uword @ AY {
GETADRAY .proc
; source: library:/prog8lib/cx16/floats.p8:121 %asm {{
jsr GETADR ; this uses the inverse order, Y/A
sta P8ZP_SCRATCH_B1
tya
ldy P8ZP_SCRATCH_B1
rts
.pend
; source: library:/prog8lib/cx16/floats.p8:130 asmsub FREADUY (ubyte value @Y) {
FREADUY .proc
; source: library:/prog8lib/cx16/floats.p8:132 %asm {{
lda #0
jmp GIVAYF
.pend
; source: library:/prog8lib/cx16/floats.p8:138 asmsub parse(str value @AY) -> float @FAC1 {
parse .proc
; source: library:/prog8lib/cx16/floats.p8:143 %asm {{
ldx VAL_1
cpx #$4c ; is there an implementation in VAL_1? (test for JMP)
bne + ; no, do it ourselves
pha ; yes, count the length and call rom VAL_1.
phy
jsr prog8_lib.strlen
tya
ply
plx
jmp VAL_1
+ sta $a9 ; 'index' variable
sty $aa
jsr prog8_lib.strlen
lda $deb6
cmp #$d0 ; sanity check for kernal routine correct
bne +
tya
jmp $deb6 ; kernal version dependent...
+ ; print error message if routine is borked in kernal, and exit program
ldy #0
- lda _msg,y
beq +
jsr cbm.CHROUT
iny
bne -
+ jmp sys.exit
_msg .text 13,"?val kaputt",13,0
.pend
; source: library:/prog8lib/cx16/floats.p8:185 asmsub normalize(float value @FAC1) -> float @ FAC1 {
normalize .proc
; source: library:/prog8lib/cx16/floats.p8:186 %asm {{
jmp floats.NORMAL
.pend
; source: library:/prog8lib/cx16/floats.p8:191 %asminclude "library:c64/floats.asm"
; --- low level floating point assembly routines for the C64
FL_ONE_const .byte 129 ; 1.0
FL_ZERO_const .byte 0,0,0,0,0 ; 0.0
FL_LOG2_const .byte $80, $31, $72, $17, $f8 ; log(2)
floats_temp_var .byte 0,0,0,0,0 ; temporary storage for a float
ub2float .proc
; -- convert ubyte in SCRATCH_ZPB1 to float at address A/Y
; clobbers A, X, Y
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy P8ZP_SCRATCH_B1
lda #0
jsr GIVAYF
_fac_to_mem ldx P8ZP_SCRATCH_W2
ldy P8ZP_SCRATCH_W2+1
jmp MOVMF
.pend
b2float .proc
; -- convert byte in SCRATCH_ZPB1 to float at address A/Y
; clobbers A, X, Y
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
lda P8ZP_SCRATCH_B1
jsr FREADSA
jmp ub2float._fac_to_mem
.pend
uw2float .proc
; -- convert uword in SCRATCH_ZPWORD1 to float at address A/Y
; clobbers X
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
lda P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
jsr GIVUAYFAY
jmp ub2float._fac_to_mem
.pend
w2float .proc
; -- convert word in SCRATCH_ZPWORD1 to float at address A/Y
; clobbers X
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
jsr GIVAYF
jmp ub2float._fac_to_mem
.pend
cast_from_uw .proc
; -- uword in A/Y into float var at (P8ZP_SCRATCH_W2)
; clobbers X
jsr GIVUAYFAY
jmp ub2float._fac_to_mem
.pend
cast_from_w .proc
; -- word in A/Y into float var at (P8ZP_SCRATCH_W2)
; clobbers X
jsr GIVAYFAY
jmp ub2float._fac_to_mem
.pend
cast_from_ub .proc
; -- ubyte in Y into float var at (P8ZP_SCRATCH_W2)
; clobbers X
jsr FREADUY
jmp ub2float._fac_to_mem
.pend
cast_from_b .proc
; -- byte in A into float var at (P8ZP_SCRATCH_W2)
; clobbers X
jsr FREADSA
jmp ub2float._fac_to_mem
.pend
cast_as_uw_into_ya .proc ; also used for float 2 ub
; -- cast float at A/Y to uword into Y/A
; clobbers X
jsr MOVFM
jmp cast_FAC1_as_uw_into_ya
.pend
cast_as_w_into_ay .proc ; also used for float 2 b
; -- cast float at A/Y to word into A/Y
; clobbers X
jsr MOVFM
jmp cast_FAC1_as_w_into_ay
.pend
cast_as_bool_into_a .proc
; -- cast float at A/Y to bool into A
; clobbers X
jsr MOVFM
jmp cast_FAC1_as_bool_into_a
.pend
cast_FAC1_as_bool_into_a .proc
; -- cast fac1 to bool into A
; clobbers X
jsr SIGN
and #1
rts
.pend
cast_FAC1_as_uw_into_ya .proc ; also used for float 2 ub
; -- cast fac1 to uword into Y/A
; clobbers X
jmp GETADR ; into Y/A
.pend
cast_FAC1_as_w_into_ay .proc ; also used for float 2 b
; -- cast fac1 to word into A/Y
; clobbers X
jsr AYINT
ldy floats.AYINT_facmo
lda floats.AYINT_facmo+1
rts
.pend
copy_float .proc
; -- copies the 5 bytes of the mflt value pointed to by P8ZP_SCRATCH_W1,
; into the 5 bytes pointed to by A/Y. Clobbers A,Y.
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
iny
lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
iny
lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
iny
lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
iny
lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
rts
.pend
inc_var_f .proc
; -- add 1 to float pointed to by A/Y
; clobbers X
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
jsr MOVFM
lda #<FL_ONE_const
ldy #>FL_ONE_const
jsr FADD
ldx P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
jmp MOVMF
.pend
dec_var_f .proc
; -- subtract 1 from float pointed to by A/Y
; clobbers X
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
lda #<FL_ONE_const
ldy #>FL_ONE_const
jsr MOVFM
lda P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
jsr FSUB
ldx P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
jmp MOVMF
.pend
fmath_float1 .byte 0,0,0,0,0 ; storage for a mflpt5 value
fmath_float2 .byte 0,0,0,0,0 ; storage for a mflpt5 value
var_fac1_less_f .proc
; -- is the float in FAC1 < the variable AY? Result in A. Clobbers X.
jsr FCOMP
cmp #255
beq +
lda #0
rts
+ lda #1
rts
.pend
var_fac1_lesseq_f .proc
; -- is the float in FAC1 <= the variable AY? Result in A. Clobbers X.
jsr FCOMP
cmp #0
beq +
cmp #255
beq +
lda #0
rts
+ lda #1
rts
.pend
var_fac1_greater_f .proc
; -- is the float in FAC1 > the variable AY? Result in A. Clobbers X.
jsr FCOMP
cmp #1
beq +
lda #0
rts
+ lda #1
rts
.pend
var_fac1_greatereq_f .proc
; -- is the float in FAC1 >= the variable AY? Result in A. Clobbers X.
jsr FCOMP
cmp #0
beq +
cmp #1
beq +
lda #0
rts
+ lda #1
rts
.pend
var_fac1_equal_f .proc
; -- are the floats numbers in FAC1 and the variable AY identical? Result in A. Clobbers X.
jsr FCOMP
and #1
eor #1
rts
.pend
var_fac1_notequal_f .proc
; -- are the floats numbers in FAC1 and the variable AY *not* identical? Result in A. Clobbers X.
jsr FCOMP
and #1
rts
.pend
vars_equal_f .proc
; -- are the mflpt5 numbers in P8ZP_SCRATCH_W1 and AY identical? Result in A
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
cmp (P8ZP_SCRATCH_W2),y
bne _false
iny
lda (P8ZP_SCRATCH_W1),y
cmp (P8ZP_SCRATCH_W2),y
bne _false
iny
lda (P8ZP_SCRATCH_W1),y
cmp (P8ZP_SCRATCH_W2),y
bne _false
iny
lda (P8ZP_SCRATCH_W1),y
cmp (P8ZP_SCRATCH_W2),y
bne _false
iny
lda (P8ZP_SCRATCH_W1),y
cmp (P8ZP_SCRATCH_W2),y
bne _false
lda #1
rts
_false lda #0
rts
.pend
vars_less_f .proc
; -- is float in AY < float in P8ZP_SCRATCH_W2 ? Result in A. Clobbers X.
jsr MOVFM
lda P8ZP_SCRATCH_W2
ldy P8ZP_SCRATCH_W2+1
jsr FCOMP
cmp #255
bne +
lda #1
rts
+ lda #0
rts
.pend
vars_lesseq_f .proc
; -- is float in AY <= float in P8ZP_SCRATCH_W2 ? Result in A. Clobbers X.
jsr MOVFM
lda P8ZP_SCRATCH_W2
ldy P8ZP_SCRATCH_W2+1
jsr FCOMP
cmp #255
bne +
- lda #1
rts
+ cmp #0
beq -
lda #0
rts
.pend
less_f .proc
; -- is f1 < f2? Result in A. Clobbers X.
jsr compare_floats
cmp #255
beq compare_floats._return_true
bne compare_floats._return_false
.pend
lesseq_f .proc
; -- is f1 <= f2? Result in A. Clobbers X.
jsr compare_floats
cmp #255
beq compare_floats._return_true
cmp #0
beq compare_floats._return_true
bne compare_floats._return_false
.pend
greater_f .proc
; -- is f1 > f2? Result in A. Clobbers X.
jsr compare_floats
cmp #1
beq compare_floats._return_true
bne compare_floats._return_false
.pend
greatereq_f .proc
; -- is f1 >= f2? Result in A. Clobbers X.
jsr compare_floats
cmp #1
beq compare_floats._return_true
cmp #0
beq compare_floats._return_true
bne compare_floats._return_false
.pend
set_array_float_from_fac1 .proc
; -- set the float in FAC1 in the array (index in A, array in P8ZP_SCRATCH_W1)
; clobbers X
sta P8ZP_SCRATCH_B1
asl a
asl a
clc
adc P8ZP_SCRATCH_B1
ldy P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W1
bcc +
iny
+ tax
jmp MOVMF
.pend
set_0_array_float .proc
; -- set a float in an array to zero (index in A, array in P8ZP_SCRATCH_W1)
sta P8ZP_SCRATCH_B1
asl a
asl a
clc
adc P8ZP_SCRATCH_B1
tay
lda #0
sta (P8ZP_SCRATCH_W1),y
iny
sta (P8ZP_SCRATCH_W1),y
iny
sta (P8ZP_SCRATCH_W1),y
iny
sta (P8ZP_SCRATCH_W1),y
iny
sta (P8ZP_SCRATCH_W1),y
rts
.pend
set_array_float .proc
; -- set a float in an array to a value (index in A, float in P8ZP_SCRATCH_W1, array in P8ZP_SCRATCH_W2)
sta P8ZP_SCRATCH_B1
asl a
asl a
clc
adc P8ZP_SCRATCH_B1
adc P8ZP_SCRATCH_W2
ldy P8ZP_SCRATCH_W2+1
bcc +
iny
+ jmp copy_float
; -- copies the 5 bytes of the mflt value pointed to by SCRATCH_ZPWORD1,
; into the 5 bytes pointed to by A/Y. Clobbers A,Y.
.pend
pushFAC1 .proc
;-- push floating point in FAC onto the cpu stack
; save return address
pla
sta P8ZP_SCRATCH_W2
pla
sta P8ZP_SCRATCH_W2+1
ldx #<floats.floats_temp_var
ldy #>floats.floats_temp_var
jsr floats.MOVMF
lda floats.floats_temp_var
pha
lda floats.floats_temp_var+1
pha
lda floats.floats_temp_var+2
pha
lda floats.floats_temp_var+3
pha
lda floats.floats_temp_var+4
pha
; re-push return address
lda P8ZP_SCRATCH_W2+1
pha
lda P8ZP_SCRATCH_W2
pha
rts
.pend
popFAC .proc
; -- pop floating point value from cpu stack into FAC1 or FAC2 (
; carry flag clear=FAC1, carry set=FAC2
; save return address
pla
sta P8ZP_SCRATCH_W2
pla
sta P8ZP_SCRATCH_W2+1
pla
sta floats.floats_temp_var+4
pla
sta floats.floats_temp_var+3
pla
sta floats.floats_temp_var+2
pla
sta floats.floats_temp_var+1
pla
sta floats.floats_temp_var
lda #<floats.floats_temp_var
ldy #>floats.floats_temp_var
bcs +
jsr floats.MOVFM
jmp ++
+ jsr floats.CONUPK
+ ; re-push return address
lda P8ZP_SCRATCH_W2+1
pha
lda P8ZP_SCRATCH_W2
pha
rts
.pend
; source: library:/prog8lib/cx16/floats.p8:192 %asminclude "library:c64/floats_funcs.asm"
; --- floating point builtin functions
func_sign_f_into_A .proc
jsr MOVFM
jmp SIGN
.pend
func_swap_f .proc
; -- swap floats pointed to by SCRATCH_ZPWORD1, SCRATCH_ZPWORD2
ldy #4
- lda (P8ZP_SCRATCH_W1),y
pha
lda (P8ZP_SCRATCH_W2),y
sta (P8ZP_SCRATCH_W1),y
pla
sta (P8ZP_SCRATCH_W2),y
dey
bpl -
rts
.pend
func_reverse_f .proc
; --- reverse an array of floats (array in P8ZP_SCRATCH_W1, num elements in A)
_left_index = P8ZP_SCRATCH_W2
_right_index = P8ZP_SCRATCH_W2+1
_loop_count = P8ZP_SCRATCH_REG
pha
jsr a_times_5
sec
sbc #5
sta _right_index
lda #0
sta _left_index
pla
lsr a
sta _loop_count
_loop ; push the left indexed float on the stack
ldy _left_index
lda (P8ZP_SCRATCH_W1),y
pha
iny
lda (P8ZP_SCRATCH_W1),y
pha
iny
lda (P8ZP_SCRATCH_W1),y
pha
iny
lda (P8ZP_SCRATCH_W1),y
pha
iny
lda (P8ZP_SCRATCH_W1),y
pha
; copy right index float to left index float
ldy _right_index
lda (P8ZP_SCRATCH_W1),y
ldy _left_index
sta (P8ZP_SCRATCH_W1),y
inc _left_index
inc _right_index
ldy _right_index
lda (P8ZP_SCRATCH_W1),y
ldy _left_index
sta (P8ZP_SCRATCH_W1),y
inc _left_index
inc _right_index
ldy _right_index
lda (P8ZP_SCRATCH_W1),y
ldy _left_index
sta (P8ZP_SCRATCH_W1),y
inc _left_index
inc _right_index
ldy _right_index
lda (P8ZP_SCRATCH_W1),y
ldy _left_index
sta (P8ZP_SCRATCH_W1),y
inc _left_index
inc _right_index
ldy _right_index
lda (P8ZP_SCRATCH_W1),y
ldy _left_index
sta (P8ZP_SCRATCH_W1),y
; pop the float off the stack into the right index float
ldy _right_index
pla
sta (P8ZP_SCRATCH_W1),y
dey
pla
sta (P8ZP_SCRATCH_W1),y
dey
pla
sta (P8ZP_SCRATCH_W1),y
dey
pla
sta (P8ZP_SCRATCH_W1),y
dey
pla
sta (P8ZP_SCRATCH_W1),y
inc _left_index
lda _right_index
sec
sbc #9
sta _right_index
dec _loop_count
bne _loop
rts
.pend
a_times_5 .proc
sta P8ZP_SCRATCH_B1
asl a
asl a
clc
adc P8ZP_SCRATCH_B1
rts
.pend
func_any_f_into_A .proc
jsr a_times_5
jmp prog8_lib.func_any_b_into_A
.pend
func_all_f_into_A .proc
jsr a_times_5
jmp prog8_lib.func_all_b_into_A
.pend
func_any_f_stack .proc
jsr a_times_5
jmp prog8_lib.func_any_b_stack
.pend
func_all_f_stack .proc
jsr a_times_5
jmp prog8_lib.func_all_b_stack
.pend
func_abs_f_into_FAC1 .proc
jsr MOVFM
jmp ABS
.pend
func_sqrt_into_FAC1 .proc
jsr MOVFM
jmp SQR
.pend
containment_floatarray .proc
; -- check if a value exists in a float array.
; parameters: FAC1: value to check, P8ZP_SCRATCH_W1: address of the word array, Y = length of array (>=1).
; returns boolean 0/1 in A.
sty P8ZP_SCRATCH_REG
ldx #<floats.floats_temp_var
ldy #>floats.floats_temp_var
jsr floats.MOVMF
ldx P8ZP_SCRATCH_REG
ldy #0
- lda floats.floats_temp_var
cmp (P8ZP_SCRATCH_W1),y
bne _firstmiss
iny
lda floats.floats_temp_var+1
cmp (P8ZP_SCRATCH_W1),y
bne _secondmiss
iny
lda floats.floats_temp_var+2
cmp (P8ZP_SCRATCH_W1),y
bne _thirdmiss
iny
lda floats.floats_temp_var+3
cmp (P8ZP_SCRATCH_W1),y
bne _fourthmiss
iny
lda floats.floats_temp_var+4
cmp (P8ZP_SCRATCH_W1),y
bne _fifthmiss
lda #1
rts
_firstmiss
iny
_secondmiss
iny
_thirdmiss
iny
_fourthmiss
iny
_fifthmiss
iny
dex
bne -
lda #0
rts
.pend
; source: library:/prog8lib/shared_floats_functions.p8:5 asmsub print(float value @FAC1) clobbers(A,X,Y) {
print .proc
; source: library:/prog8lib/shared_floats_functions.p8:7 %asm {{
jsr tostr
ldy #0
- lda (P8ZP_SCRATCH_W1),y
beq +
jsr cbm.CHROUT
iny
bne -
+ rts
.pend
; source: library:/prog8lib/shared_floats_functions.p8:19 asmsub tostr(float value @FAC1) clobbers(X) -> str @AY {
tostr .proc
; source: library:/prog8lib/shared_floats_functions.p8:21 %asm {{
jsr FOUT
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
cmp #' '
bne +
inc P8ZP_SCRATCH_W1
bne +
inc P8ZP_SCRATCH_W1+1
+ lda P8ZP_SCRATCH_W1
ldy P8ZP_SCRATCH_W1+1
rts
.pend
; source: library:/prog8lib/shared_floats_functions.p8:54 sub sin(float angle) -> float {
sin .proc
; statements
; source: library:/prog8lib/shared_floats_functions.p8:55 %asm {{
lda #<angle
ldy #>angle
jsr MOVFM
jmp SIN
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
angle .fill 5
.send BSS
.pend
; source: library:/prog8lib/shared_floats_functions.p8:114 sub rad(float angle) -> float {
rad .proc
; statements
; source: library:/prog8lib/shared_floats_functions.p8:116 %asm {{
lda #<angle
ldy #>angle
jsr MOVFM
lda #<_pi_div_180
ldy #>_pi_div_180
jmp FMULT
_pi_div_180 .byte 123, 14, 250, 53, 18 ; pi / 180
; variables
.section BSS
.send BSS
; non-zeropage variables without initialization value
.section BSS
angle .fill 5
.send BSS
.pend
; source: library:/prog8lib/shared_floats_functions.p8:218 inline asmsub push(float value @FAC1) {
; source: library:/prog8lib/shared_floats_functions.p8:224 inline asmsub pop() -> float @FAC1 {
.pend
; ---- block: 'test_stack' ----
test_stack .proc
; source: library:/prog8lib/test_stack.p8:5 test_stack {
; source: library:/prog8lib/test_stack.p8:6 %option no_symbol_prefixing, ignore_unused
; source: library:/prog8lib/test_stack.p8:8 asmsub test() {
test .proc
; source: library:/prog8lib/test_stack.p8:9 %asm {{
lda #13
jsr txt.chrout
lda #'-'
ldy #12
- jsr txt.chrout
dey
bne -
lda #13
jsr txt.chrout
lda #'s'
jsr txt.chrout
lda #'p'
jsr txt.chrout
lda #'='
jsr txt.chrout
tsx
txa
jsr txt.print_ub
lda #13
jsr txt.chrout
lda #'-'
ldy #12
- jsr txt.chrout
dey
bne -
lda #13
jmp txt.chrout
.pend
.pend
; ---- block: 'math' ----
math .proc
; source: library:/prog8lib/math.p8:5 math {
; source: library:/prog8lib/math.p8:6 %option no_symbol_prefixing, ignore_unused
; source: library:/prog8lib/math.p8:8 %asminclude "library:math.asm"
; Internal Math library routines - always included by the compiler
; Generic machine independent 6502 code.
;
; some more interesting routines can be found here:
; http://6502org.wikidot.com/software-math
; http://codebase64.org/doku.php?id=base:6502_6510_maths
; https://github.com/TobyLobster/multiply_test
; https://github.com/TobyLobster/sqrt_test
multiply_bytes .proc
; -- multiply 2 bytes A and Y, result as byte in A (signed or unsigned)
; https://github.com/TobyLobster/multiply_test/blob/main/tests/mult29.a
_multiplicand = P8ZP_SCRATCH_B1
_multiplier = P8ZP_SCRATCH_REG
sty _multiplicand
lsr a
sta _multiplier
lda #0
ldx #2
-
bcc +
clc
adc _multiplicand
+
ror a
ror _multiplier
bcc +
clc
adc _multiplicand
+
ror a
ror _multiplier
bcc +
clc
adc _multiplicand
+
ror a
ror _multiplier
bcc +
clc
adc _multiplicand
+
ror a
ror _multiplier
dex
bne -
; tay ; if you want 16 bits result in AY, enable this again
lda _multiplier
rts
.pend
multiply_words .proc
; -- multiply two 16-bit words into a 32-bit result (signed and unsigned)
; input: A/Y = first 16-bit number, multiply_words.multiplier = second 16-bit number
; output: multiply_words.result, 4-bytes/32-bits product, LSB order (low-to-high) low 16 bits also in AY.
; NOTE: the result (which includes the multiplier parameter on entry) is a 4-byte array.
; this routine could be faster if we could stick that into zeropage,
; but there currently is no way to use 4 consecutive bytes in ZP (without disabling irq and saving/restoring them)...
; mult62.a
; from: https://github.com/TobyLobster/multiply_test/blob/main/tests/mult62.a
; based on Dr Jefyll, http://forum.6502.org/viewtopic.php?f=9&t=689&start=0#p19958
; - adjusted to use fixed zero page addresses
; - removed 'decrement to avoid clc' as this is slower on average
; - rearranged memory use to remove final memory copy and give LSB first order to result
; - removed temp zp storage bytes
; - unrolled the outer loop
; - unrolled the two inner loops once
;
; 16 bit x 16 bit unsigned multiply, 32 bit result
; Average cycles: ~442 ?
; 93 bytes
_multiplicand = P8ZP_SCRATCH_W2 ; 2 bytes
multiplier = result
; 16 bit x 16 bit unsigned multiply, 32 bit result
;
; On Entry:
; (multiplier, multiplier+1): two byte multiplier, four bytes needed for result
; (multiplicand, multiplicand+1): two byte multiplicand
; On Exit:
; (result, result+1, result+2, result+3): product
sta _multiplicand
sty _multiplicand+1
lda #0 ;
sta result+2 ; 16 bits of zero in A, result+2
; Note: First 8 shifts are A -> result+2 -> result
; Final 8 shifts are A -> result+2 -> result+1
; --- 1st byte ---
ldy #4 ; count for inner loop
lsr result
; inner loop (8 times)
_inner_loop
; first time
bcc +
tax ; retain A
lda result+2
clc
adc _multiplicand
sta result+2
txa ; recall A
adc _multiplicand+1
+
ror a ; shift
ror result+2
ror result
; second time
bcc +
tax ; retain A
lda result+2
clc
adc _multiplicand
sta result+2
txa ; recall A
adc _multiplicand+1
+
ror a ; shift
ror result+2
ror result
dey
bne _inner_loop ; go back for 1 more shift?
; --- 2nd byte ---
ldy #4 ; count for inner loop
lsr result+1
; inner loop (8 times)
_inner_loop2
; first time
bcc +
tax ; retain A
lda result+2
clc
adc _multiplicand
sta result+2
txa ; recall A
adc _multiplicand+1
+
ror a ; shift
ror result+2
ror result+1
; second time
bcc +
tax ; retain A
lda result+2
clc
adc _multiplicand
sta result+2
txa ; recall A
adc _multiplicand+1
+
ror a ; shift
ror result+2
ror result+1
dey
bne _inner_loop2 ; go back for 1 more shift?
sta result+3 ; ms byte of hi-word of result
lda result
ldy result+1
rts
result .byte 0,0,0,0
.pend
divmod_b_asm .proc
; signed byte division: make everything positive and fix sign afterwards
sta P8ZP_SCRATCH_B1
tya
eor P8ZP_SCRATCH_B1
php ; save sign
lda P8ZP_SCRATCH_B1
bpl +
eor #$ff
sec
adc #0 ; make it positive
+ pha
tya
bpl +
eor #$ff
sec
adc #0 ; make it positive
tay
+ pla
jsr divmod_ub_asm
sta _remainder
plp
bpl +
tya
eor #$ff
sec
adc #0 ; negate result
tay
+ rts
_remainder .byte 0
.pend
divmod_ub_asm .proc
; -- divide A by Y, result quotient in Y, remainder in A (unsigned)
; division by zero will result in quotient = 255 and remainder = original number
sty P8ZP_SCRATCH_REG
sta P8ZP_SCRATCH_B1
lda #0
ldx #8
asl P8ZP_SCRATCH_B1
- rol a
cmp P8ZP_SCRATCH_REG
bcc +
sbc P8ZP_SCRATCH_REG
+ rol P8ZP_SCRATCH_B1
dex
bne -
ldy P8ZP_SCRATCH_B1
rts
.pend
divmod_w_asm .proc
; signed word division: make everything positive and fix sign afterwards
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
lda P8ZP_SCRATCH_W1+1
eor P8ZP_SCRATCH_W2+1
php ; save sign
lda P8ZP_SCRATCH_W1+1
bpl +
lda #0
sec
sbc P8ZP_SCRATCH_W1
sta P8ZP_SCRATCH_W1
lda #0
sbc P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W1+1
+ lda P8ZP_SCRATCH_W2+1
bpl +
lda #0
sec
sbc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W2
lda #0
sbc P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_W2+1
+ tay
lda P8ZP_SCRATCH_W2
jsr divmod_uw_asm
plp ; restore sign
bpl +
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
lda #0
sec
sbc P8ZP_SCRATCH_W2
pha
lda #0
sbc P8ZP_SCRATCH_W2+1
tay
pla
+ rts
.pend
divmod_uw_asm .proc
; -- divide two unsigned words (16 bit each) into 16 bit results
; input: P8ZP_SCRATCH_W1 in ZP: 16 bit number, A/Y: 16 bit divisor
; output: P8ZP_SCRATCH_W2 in ZP: 16 bit remainder, A/Y: 16 bit division result
; division by zero will result in quotient = 65535 and remainder = divident
dividend = P8ZP_SCRATCH_W1
remainder = P8ZP_SCRATCH_W2
result = dividend ;save memory by reusing divident to store the result
sta _divisor
sty _divisor+1
lda #0 ;preset remainder to 0
sta remainder
sta remainder+1
ldx #16 ;repeat for each bit: ...
- asl dividend ;dividend lb & hb*2, msb -> Carry
rol dividend+1
rol remainder ;remainder lb & hb * 2 + msb from carry
rol remainder+1
lda remainder
sec
sbc _divisor ;substract divisor to see if it fits in
tay ;lb result -> Y, for we may need it later
lda remainder+1
sbc _divisor+1
bcc + ;if carry=0 then divisor didn't fit in yet
sta remainder+1 ;else save substraction result as new remainder,
sty remainder
inc result ;and INCrement result cause divisor fit in 1 times
+ dex
bne -
lda result
ldy result+1
rts
_divisor .word 0
.pend
randword .proc
; -- 16 bit pseudo random number generator into AY
; default seed = $00c2 $1137
; routine from https://codebase64.org/doku.php?id=base:x_abc_random_number_generator_8_16_bit
inc x1
clc
x1=*+1
lda #$00 ;x1
c1=*+1
eor #$c2 ;c1
a1=*+1
eor #$11 ;a1
sta a1
b1=*+1
adc #$37 ;b1
sta b1
lsr a
eor a1
adc c1
sta c1
ldy b1
rts
.pend
randbyte = randword ; -- 8 bit pseudo random number generator into A (by just reusing randword)
; ----------- optimized multiplications (in-place A (byte) and ?? (word)) : ---------
mul_byte_3 .proc
; A = A + A*2
sta P8ZP_SCRATCH_REG
asl a
clc
adc P8ZP_SCRATCH_REG
rts
.pend
mul_word_3 .proc
; AY = AY*2 + AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
tay
lda P8ZP_SCRATCH_W1
rts
.pend
mul_byte_5 .proc
; A = A*4 + A
sta P8ZP_SCRATCH_REG
asl a
asl a
clc
adc P8ZP_SCRATCH_REG
rts
.pend
mul_word_5 .proc
; AY = AY*4 + AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
tay
lda P8ZP_SCRATCH_W1
rts
.pend
mul_byte_6 .proc
; A = (A*2 + A)*2
sta P8ZP_SCRATCH_REG
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
rts
.pend
mul_word_6 .proc
; AY = (AY*2 + AY)*2
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
tay
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_W1+1
tya
asl a
rol P8ZP_SCRATCH_W1+1
ldy P8ZP_SCRATCH_W1+1
rts
.pend
mul_byte_7 .proc
; A = A*8 - A
sta P8ZP_SCRATCH_REG
asl a
asl a
asl a
sec
sbc P8ZP_SCRATCH_REG
rts
.pend
mul_word_7 .proc
; AY = AY*8 - AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
sec
sbc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
sbc P8ZP_SCRATCH_W2+1
tay
lda P8ZP_SCRATCH_W1
rts
.pend
mul_byte_9 .proc
; A = A*8 + A
sta P8ZP_SCRATCH_REG
asl a
asl a
asl a
clc
adc P8ZP_SCRATCH_REG
rts
.pend
mul_word_9 .proc
; AY = AY*8 + AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
tay
lda P8ZP_SCRATCH_W1
rts
rts
.pend
mul_byte_10 .proc
; A=(A*4 + A)*2
sta P8ZP_SCRATCH_REG
asl a
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
rts
.pend
mul_word_10 .proc
; AY=(AY*4 + AY)*2
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_W1+1
lda P8ZP_SCRATCH_W1
asl a
rol P8ZP_SCRATCH_W1+1
ldy P8ZP_SCRATCH_W1+1
rts
.pend
mul_byte_11 .proc
; A=(A*2 + A)*4 - A
sta P8ZP_SCRATCH_REG
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
asl a
sec
sbc P8ZP_SCRATCH_REG
rts
.pend
; mul_word_11 is skipped (too much code)
mul_byte_12 .proc
; A=(A*2 + A)*4
sta P8ZP_SCRATCH_REG
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
asl a
rts
.pend
mul_word_12 .proc
; AY=(AY*2 + AY)*4
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_W1+1
lda P8ZP_SCRATCH_W1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
ldy P8ZP_SCRATCH_W1+1
rts
.pend
mul_byte_13 .proc
; A=(A*2 + A)*4 + A
sta P8ZP_SCRATCH_REG
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
asl a
clc
adc P8ZP_SCRATCH_REG
rts
.pend
; mul_word_13 is skipped (too much code)
mul_byte_14 .proc
; A=(A*8 - A)*2
sta P8ZP_SCRATCH_REG
asl a
asl a
asl a
sec
sbc P8ZP_SCRATCH_REG
asl a
rts
.pend
; mul_word_14 is skipped (too much code)
mul_byte_15 .proc
; A=A*16 - A
sta P8ZP_SCRATCH_REG
asl a
asl a
asl a
asl a
sec
sbc P8ZP_SCRATCH_REG
rts
.pend
mul_word_15 .proc
; AY = AY * 16 - AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
sec
sbc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
sbc P8ZP_SCRATCH_W2+1
tay
lda P8ZP_SCRATCH_W1
rts
.pend
mul_byte_20 .proc
; A=(A*4 + A)*4
sta P8ZP_SCRATCH_REG
asl a
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
asl a
rts
.pend
mul_word_20 .proc
; AY = AY * 10 * 2
jsr mul_word_10
sty P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
ldy P8ZP_SCRATCH_REG
rts
.pend
mul_byte_25 .proc
; A=(A*2 + A)*8 + A
sta P8ZP_SCRATCH_REG
asl a
clc
adc P8ZP_SCRATCH_REG
asl a
asl a
asl a
clc
adc P8ZP_SCRATCH_REG
rts
.pend
mul_word_25 .proc
; AY = (AY*2 + AY) *8 + AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_W1+1
lda P8ZP_SCRATCH_W1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
tay
lda P8ZP_SCRATCH_W1
rts
.pend
mul_byte_40 .proc
and #7
tay
lda _forties,y
rts
_forties .byte 0*40, 1*40, 2*40, 3*40, 4*40, 5*40, 6*40, 7*40 & 255
.pend
mul_word_40 .proc
; AY = (AY*4 + AY)*8
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
asl a
rol P8ZP_SCRATCH_W1+1
asl a
rol P8ZP_SCRATCH_W1+1
clc
adc P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_W1
lda P8ZP_SCRATCH_W1+1
adc P8ZP_SCRATCH_W2+1
asl P8ZP_SCRATCH_W1
rol a
asl P8ZP_SCRATCH_W1
rol a
asl P8ZP_SCRATCH_W1
rol a
tay
lda P8ZP_SCRATCH_W1
rts
.pend
mul_byte_50 .proc
and #7
tay
lda _fifties, y
rts
_fifties .byte 0*50, 1*50, 2*50, 3*50, 4*50, 5*50, 6*50 & 255, 7*50 & 255
.pend
mul_word_50 .proc
; AY = AY * 25 * 2
jsr mul_word_25
sty P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
ldy P8ZP_SCRATCH_REG
rts
.pend
mul_byte_80 .proc
and #3
tay
lda _eighties, y
rts
_eighties .byte 0*80, 1*80, 2*80, 3*80
.pend
mul_word_80 .proc
; AY = AY * 40 * 2
jsr mul_word_40
sty P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
ldy P8ZP_SCRATCH_REG
rts
.pend
mul_byte_100 .proc
and #3
tay
lda _hundreds, y
rts
_hundreds .byte 0*100, 1*100, 2*100, 3*100 & 255
.pend
mul_word_100 .proc
; AY = AY * 25 * 4
jsr mul_word_25
sty P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
ldy P8ZP_SCRATCH_REG
rts
.pend
mul_word_320 .proc
; AY = A * 256 + A * 64 (msb in Y doesn't matter)
sta P8ZP_SCRATCH_B1
ldy #0
sty P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
asl a
rol P8ZP_SCRATCH_REG
pha
clc
lda P8ZP_SCRATCH_B1
adc P8ZP_SCRATCH_REG
tay
pla
rts
.pend
mul_word_640 .proc
; AY = (A * 2 * 320) (msb in Y doesn't matter)
asl a
jmp mul_word_320
.pend
; ----------- end optimized multiplications -----------
; support for bit shifting that is too large to be unrolled:
lsr_byte_A .proc
; -- lsr signed byte in A times the value in Y
cpy #0
beq +
cmp #0
bpl lsr_ubyte_A
- sec
ror a
dey
bne -
+ rts
.pend
lsr_ubyte_A .proc
; -- lsr unsigned byte in A times the value in Y
cpy #0
beq +
- lsr a
dey
bne -
+ rts
.pend
asl_byte_A .proc
; -- asl any byte in A times the value in Y
cpy #0
beq +
- asl a
dey
bne -
+ rts
.pend
lsr_word_AY .proc
; -- lsr signed word in AY times the value in X
cpx #0
beq +
cpy #0
bpl lsr_uword_AY
sty P8ZP_SCRATCH_B1
- sec
ror P8ZP_SCRATCH_B1
ror a
dex
bne -
ldy P8ZP_SCRATCH_B1
+ rts
.pend
lsr_uword_AY .proc
; -- lsr unsigned word in AY times the value in X
cpx #0
beq +
sty P8ZP_SCRATCH_B1
- lsr P8ZP_SCRATCH_B1
ror a
dex
bne -
ldy P8ZP_SCRATCH_B1
+ rts
.pend
asl_word_AY .proc
; -- asl any word in AY times the value in X
cpx #0
beq +
sty P8ZP_SCRATCH_B1
- asl a
rol P8ZP_SCRATCH_B1
dex
bne -
ldy P8ZP_SCRATCH_B1
+ rts
.pend
square .proc
; -- calculate square of signed word (actually -255..255) in AY, result in AY
; routine by Lee Davison, source: http://6502.org/source/integers/square.htm
; using this routine is a lot faster as doing a regular multiplication (for words)
;
; Calculates the 16 bit unsigned integer square of the signed 16 bit integer in
; Numberl/Numberh. The result is always in the range 0 to 65025 and is held in
; Squarel/Squareh
;
; The maximum input range is only +/-255 and no checking is done to ensure that
; this is so.
;
; This routine is useful if you are trying to draw circles as for any circle
;
; x^2+y^2=r^2 where x and y are the co-ordinates of any point on the circle and
; r is the circle radius
numberl = P8ZP_SCRATCH_W1 ; number to square low byte
numberh = P8ZP_SCRATCH_W1+1 ; number to square high byte
squarel = P8ZP_SCRATCH_W2 ; square low byte
squareh = P8ZP_SCRATCH_W2+1 ; square high byte
tempsq = P8ZP_SCRATCH_B1 ; temp byte for intermediate result
sta numberl
sty numberh
lda #$00 ; clear a
sta squarel ; clear square low byte
; (no need to clear the high byte, it gets shifted out)
lda numberl ; get number low byte
ldx numberh ; get number high byte
bpl _nonneg ; if +ve don't negate it
; else do a two's complement
eor #$ff ; invert
sec ; +1
adc #$00 ; and add it
_nonneg:
sta tempsq ; save abs(number)
ldx #$08 ; set bit count
_nextr2bit:
asl squarel ; low byte *2
rol squareh ; high byte *2+carry from low
asl a ; shift number byte
bcc _nosqadd ; don't do add if c = 0
tay ; save a
clc ; clear carry for add
lda tempsq ; get number
adc squarel ; add number^2 low byte
sta squarel ; save number^2 low byte
lda #$00 ; clear a
adc squareh ; add number^2 high byte
sta squareh ; save number^2 high byte
tya ; get a back
_nosqadd:
dex ; decrement bit count
bne _nextr2bit ; go do next bit
lda squarel
ldy squareh
rts
.pend
; source: library:/prog8lib/math.p8:10 asmsub sin8u(ubyte angle @A) clobbers(Y) -> ubyte @A {
sin8u .proc
; source: library:/prog8lib/math.p8:11 %asm {{
tay
lda _sinecos8u,y
rts
_sinecos8u .byte trunc(128.0 + 127.5 * sin(range(256+64) * rad(360.0/256.0)))
.pend
; source: library:/prog8lib/math.p8:19 asmsub cos8u(ubyte angle @A) clobbers(Y) -> ubyte @A {
cos8u .proc
; source: library:/prog8lib/math.p8:20 %asm {{
tay
lda sin8u._sinecos8u+64,y
rts
.pend
; source: library:/prog8lib/math.p8:27 asmsub sin8(ubyte angle @A) clobbers(Y) -> byte @A {
sin8 .proc
; source: library:/prog8lib/math.p8:28 %asm {{
tay
lda _sinecos8,y
rts
_sinecos8 .char trunc(127.0 * sin(range(256+64) * rad(360.0/256.0)))
.pend
; source: library:/prog8lib/math.p8:36 asmsub cos8(ubyte angle @A) clobbers(Y) -> byte @A {
cos8 .proc
; source: library:/prog8lib/math.p8:37 %asm {{
tay
lda sin8._sinecos8+64,y
rts
.pend
; source: library:/prog8lib/math.p8:44 asmsub sinr8u(ubyte radians @A) clobbers(Y) -> ubyte @A {
sinr8u .proc
; source: library:/prog8lib/math.p8:45 %asm {{
tay
lda _sinecosR8u,y
rts
_sinecosR8u .byte trunc(128.0 + 127.5 * sin(range(180+45) * rad(360.0/180.0)))
.pend
; source: library:/prog8lib/math.p8:53 asmsub cosr8u(ubyte radians @A) clobbers(Y) -> ubyte @A {
cosr8u .proc
; source: library:/prog8lib/math.p8:54 %asm {{
tay
lda sinr8u._sinecosR8u+45,y
rts
.pend
; source: library:/prog8lib/math.p8:61 asmsub sinr8(ubyte radians @A) clobbers(Y) -> byte @A {
sinr8 .proc
; source: library:/prog8lib/math.p8:62 %asm {{
tay
lda _sinecosR8,y
rts
_sinecosR8 .char trunc(127.0 * sin(range(180+45) * rad(360.0/180.0)))
.pend
; source: library:/prog8lib/math.p8:70 asmsub cosr8(ubyte radians @A) clobbers(Y) -> byte @A {
cosr8 .proc
; source: library:/prog8lib/math.p8:71 %asm {{
tay
lda sinr8._sinecosR8+45,y
rts
.pend
; source: library:/prog8lib/math.p8:78 asmsub rnd() clobbers(Y) -> ubyte @A {
rnd .proc
; source: library:/prog8lib/math.p8:79 %asm {{
jmp math.randbyte
.pend
; source: library:/prog8lib/math.p8:84 asmsub rndw() -> uword @AY {
rndw .proc
; source: library:/prog8lib/math.p8:85 %asm {{
jmp math.randword
.pend
; source: library:/prog8lib/math.p8:108 asmsub rndseed(uword seed1 @AY, uword seed2 @R0) clobbers(A,Y) {
rndseed .proc
; source: library:/prog8lib/math.p8:110 %asm {{
sta math.randword.x1
sty math.randword.c1
lda cx16.r0L
sta math.randword.a1
lda cx16.r0H
sta math.randword.b1
rts
.pend
; source: library:/prog8lib/math.p8:121 asmsub log2(ubyte value @A) -> ubyte @Y {
log2 .proc
; source: library:/prog8lib/math.p8:122 %asm {{
sta P8ZP_SCRATCH_B1
lda #$80
ldy #7
- bit P8ZP_SCRATCH_B1
beq +
rts
+ dey
bne +
rts
+ lsr a
bne -
.pend
; source: library:/prog8lib/math.p8:137 asmsub log2w(uword value @AY) -> ubyte @Y {
log2w .proc
; source: library:/prog8lib/math.p8:138 %asm {{
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
lda #<$8000
sta cx16.r0
lda #>$8000
sta cx16.r0+1
ldy #15
- lda P8ZP_SCRATCH_W1
and cx16.r0
sta P8ZP_SCRATCH_B1
lda P8ZP_SCRATCH_W1+1
and cx16.r0+1
ora P8ZP_SCRATCH_B1
beq +
rts
+ dey
bne +
rts
+ lsr cx16.r0+1
ror cx16.r0
jmp -
.pend
; source: library:/prog8lib/math.p8:163 asmsub mul16_last_upper() -> uword @AY {
mul16_last_upper .proc
; source: library:/prog8lib/math.p8:171 %asm {{
lda multiply_words.result+2
ldy multiply_words.result+3
rts
.pend
; source: library:/prog8lib/math.p8:212 asmsub direction_qd(ubyte quadrant @A, ubyte xdelta @X, ubyte ydelta @Y) -> ubyte @A {
direction_qd .proc
; source: library:/prog8lib/math.p8:220 %asm {{
x_delta = cx16.r0L
y_delta = cx16.r1L
quadrant = cx16.r2L
half_value = cx16.r3L
region_number = cx16.r4L
small = cx16.r5L
large = cx16.r5H
sta quadrant
sty y_delta
stx x_delta
cpx y_delta
bcs _XGreaterOrEqualY
_XLessY:
lda #16
sta region_number
stx small
sty large
bne _DetermineRegion
_XGreaterOrEqualY:
lda #0
sta region_number
stx large
sty small
_DetermineRegion:
; set A = small * 2.5
lda small
lsr a
sta half_value
lda small
asl a
bcs _SmallerQuotient
clc
adc half_value
bcs _SmallerQuotient
cmp large
bcc _LargerQuotient
; S * 2.5 > L
_SmallerQuotient:
; set A = S * 1.25
lsr half_value
lda small
clc
adc half_value
cmp large
bcc _Region1 ; if S * 1.25 < L then goto Region1 (L / S > 1.25)
bcs _Region0 ; (L / S < 1.25)
; S * 2.5 < L
_LargerQuotient:
; set A = S * 7.5
lda small
asl a
asl a
asl a
bcs _Region2
sec
sbc half_value
cmp large
bcc _Region3 ; if S * 7.5 < L then goto Region3 (L / S > 7.5)
jmp _Region2 ; (L / S < 7.5)
_Region0:
; L / S < 1.25. d=3,9,15,21
jmp _LookupResult
_Region1:
; 1.25 < L / S < 2.5. d=2,4,8,10,14,16,20,22
lda region_number
clc
adc #4
sta region_number
bpl _LookupResult
_Region2:
; 2.5 < L / S < 7.5. d=1,5,7,11,13,17,19,23
lda region_number
clc
adc #8
sta region_number
bpl _LookupResult
_Region3:
; 7.5 < L / S. d=0,6,12,18
lda region_number
clc
adc #12
sta region_number
_LookupResult:
lda quadrant
clc
adc region_number
tax
lda _quadrant_region_to_direction,x
rts
_quadrant_region_to_direction:
.byte 9, 3,15,21
.byte 10, 2,14,22
.byte 11, 1,13,23
.byte 12, 0,12, 0
.byte 9, 3,15,21
.byte 8, 4,16,20
.byte 7, 5,17,19
.byte 6, 6,18,18
.pend
; source: library:/prog8lib/math.p8:335 asmsub atan2(ubyte x1 @R0, ubyte y1 @R1, ubyte x2 @R2, ubyte y2 @R3) -> ubyte @A {
atan2 .proc
; source: library:/prog8lib/math.p8:341 %asm {{
x1 = cx16.r0L
y1 = cx16.r1L
x2 = cx16.r2L
y2 = cx16.r3L
octant = cx16.r4L ;; temporary zeropage variable
lda x1
sec
sbc x2
bcs *+4
eor #$ff
tax
rol octant
lda y1
sec
sbc y2
bcs *+4
eor #$ff
tay
rol octant
lda log2_tab,x
sec
sbc log2_tab,y
bcc *+4
eor #$ff
tax
lda octant
rol a
and #%111
tay
lda atan_tab,x
eor octant_adjust,y
rts
octant_adjust
.byte %00111111 ;; x+,y+,|x|>|y|
.byte %00000000 ;; x+,y+,|x|<|y|
.byte %11000000 ;; x+,y-,|x|>|y|
.byte %11111111 ;; x+,y-,|x|<|y|
.byte %01000000 ;; x-,y+,|x|>|y|
.byte %01111111 ;; x-,y+,|x|<|y|
.byte %10111111 ;; x-,y-,|x|>|y|
.byte %10000000 ;; x-,y-,|x|<|y|
;;;;;;;; atan(2^(x/32))*128/pi ;;;;;;;;
atan_tab
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$00,$00,$00
.byte $00,$00,$00,$00,$00,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$01,$01,$01
.byte $01,$01,$01,$01,$01,$02,$02,$02
.byte $02,$02,$02,$02,$02,$02,$02,$02
.byte $02,$02,$02,$02,$02,$02,$02,$02
.byte $03,$03,$03,$03,$03,$03,$03,$03
.byte $03,$03,$03,$03,$03,$04,$04,$04
.byte $04,$04,$04,$04,$04,$04,$04,$04
.byte $05,$05,$05,$05,$05,$05,$05,$05
.byte $06,$06,$06,$06,$06,$06,$06,$06
.byte $07,$07,$07,$07,$07,$07,$08,$08
.byte $08,$08,$08,$08,$09,$09,$09,$09
.byte $09,$0a,$0a,$0a,$0a,$0b,$0b,$0b
.byte $0b,$0c,$0c,$0c,$0c,$0d,$0d,$0d
.byte $0d,$0e,$0e,$0e,$0e,$0f,$0f,$0f
.byte $10,$10,$10,$11,$11,$11,$12,$12
.byte $12,$13,$13,$13,$14,$14,$15,$15
.byte $15,$16,$16,$17,$17,$17,$18,$18
.byte $19,$19,$19,$1a,$1a,$1b,$1b,$1c
.byte $1c,$1c,$1d,$1d,$1e,$1e,$1f,$1f
;;;;;;;; log2(x)*32 ;;;;;;;;
log2_tab
.byte $00,$00,$20,$32,$40,$4a,$52,$59
.byte $60,$65,$6a,$6e,$72,$76,$79,$7d
.byte $80,$82,$85,$87,$8a,$8c,$8e,$90
.byte $92,$94,$96,$98,$99,$9b,$9d,$9e
.byte $a0,$a1,$a2,$a4,$a5,$a6,$a7,$a9
.byte $aa,$ab,$ac,$ad,$ae,$af,$b0,$b1
.byte $b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9
.byte $b9,$ba,$bb,$bc,$bd,$bd,$be,$bf
.byte $c0,$c0,$c1,$c2,$c2,$c3,$c4,$c4
.byte $c5,$c6,$c6,$c7,$c7,$c8,$c9,$c9
.byte $ca,$ca,$cb,$cc,$cc,$cd,$cd,$ce
.byte $ce,$cf,$cf,$d0,$d0,$d1,$d1,$d2
.byte $d2,$d3,$d3,$d4,$d4,$d5,$d5,$d5
.byte $d6,$d6,$d7,$d7,$d8,$d8,$d9,$d9
.byte $d9,$da,$da,$db,$db,$db,$dc,$dc
.byte $dd,$dd,$dd,$de,$de,$de,$df,$df
.byte $df,$e0,$e0,$e1,$e1,$e1,$e2,$e2
.byte $e2,$e3,$e3,$e3,$e4,$e4,$e4,$e5
.byte $e5,$e5,$e6,$e6,$e6,$e7,$e7,$e7
.byte $e7,$e8,$e8,$e8,$e9,$e9,$e9,$ea
.byte $ea,$ea,$ea,$eb,$eb,$eb,$ec,$ec
.byte $ec,$ec,$ed,$ed,$ed,$ed,$ee,$ee
.byte $ee,$ee,$ef,$ef,$ef,$ef,$f0,$f0
.byte $f0,$f1,$f1,$f1,$f1,$f1,$f2,$f2
.byte $f2,$f2,$f3,$f3,$f3,$f3,$f4,$f4
.byte $f4,$f4,$f5,$f5,$f5,$f5,$f5,$f6
.byte $f6,$f6,$f6,$f7,$f7,$f7,$f7,$f7
.byte $f8,$f8,$f8,$f8,$f9,$f9,$f9,$f9
.byte $f9,$fa,$fa,$fa,$fa,$fa,$fb,$fb
.byte $fb,$fb,$fb,$fc,$fc,$fc,$fc,$fc
.byte $fd,$fd,$fd,$fd,$fd,$fd,$fe,$fe
.byte $fe,$fe,$fe,$ff,$ff,$ff,$ff,$ff
.pend
; source: library:/prog8lib/math.p8:468 asmsub diff(ubyte v1 @A, ubyte v2 @Y) -> ubyte @A {
diff .proc
; source: library:/prog8lib/math.p8:470 %asm {{
sty P8ZP_SCRATCH_REG
sec
sbc P8ZP_SCRATCH_REG
bcs +
eor #255
inc a
+ rts
.pend
; source: library:/prog8lib/math.p8:481 asmsub diffw(uword w1 @R0, uword w2 @AY) -> uword @AY {
diffw .proc
; source: library:/prog8lib/math.p8:483 %asm {{
sec
sbc cx16.r0L
sta cx16.r0L
tya
sbc cx16.r0H
sta cx16.r0H
bcs +
eor #255
sta cx16.r0H
lda cx16.r0L
eor #255
inc a
sta cx16.r0L
bne +
inc cx16.r0H
+ lda cx16.r0L
ldy cx16.r0H
rts
.pend
.pend
; ---- block: 'prog8_lib' ----
prog8_lib .proc
; source: library:/prog8lib/prog8_lib.p8:3 prog8_lib {
; source: library:/prog8lib/prog8_lib.p8:4 %option no_symbol_prefixing, ignore_unused
; source: library:/prog8lib/prog8_lib.p8:6 %asminclude "library:prog8_lib.asm"
; Internal library routines - always included by the compiler
; Generic machine independent 6502 code.
orig_stackpointer .byte 0 ; stores the Stack pointer register at program start
read_byte_from_address_in_AY_into_A .proc
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
lda (P8ZP_SCRATCH_W2),y
rts
.pend
write_byte_X_to_address_in_AY .proc
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #0
txa
sta (P8ZP_SCRATCH_W2),y
rts
.pend
reg_less_uw .proc
; AY < P8ZP_SCRATCH_W2?
cpy P8ZP_SCRATCH_W2+1
bcc _true
bne _false
cmp P8ZP_SCRATCH_W2
bcc _true
_false lda #0
rts
_true lda #1
rts
.pend
reg_less_w .proc
; -- AY < P8ZP_SCRATCH_W2?
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #$80
+ bmi _true
lda #0
rts
_true lda #1
rts
.pend
reg_lesseq_uw .proc
; AY <= P8ZP_SCRATCH_W2?
cpy P8ZP_SCRATCH_W2+1
beq +
bcc _true
lda #0
rts
+ cmp P8ZP_SCRATCH_W2
bcc _true
beq _true
lda #0
rts
_true lda #1
rts
.pend
reg_lesseq_w .proc
; -- P8ZP_SCRATCH_W2 <= AY ? (note: order different from other routines)
cmp P8ZP_SCRATCH_W2
tya
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #$80
+ bpl +
lda #0
rts
+ lda #1
rts
.pend
memcopy16_up .proc
; -- copy memory UP from (P8ZP_SCRATCH_W1) to (P8ZP_SCRATCH_W2) of length X/Y (16-bit, X=lo, Y=hi)
; clobbers register A,X,Y
source = P8ZP_SCRATCH_W1
dest = P8ZP_SCRATCH_W2
length = P8ZP_SCRATCH_B1 ; (and SCRATCH_ZPREG)
stx length
sty length+1
ldx length ; move low byte of length into X
bne + ; jump to start if X > 0
dec length ; subtract 1 from length
+ ldy #0 ; set Y to 0
- lda (source),y ; set A to whatever (source) points to offset by Y
sta (dest),y ; move A to location pointed to by (dest) offset by Y
iny ; increment Y
bne + ; if Y<>0 then (rolled over) then still moving bytes
inc source+1 ; increment hi byte of source
inc dest+1 ; increment hi byte of dest
+ dex ; decrement X (lo byte counter)
bne - ; if X<>0 then move another byte
dec length ; we've moved 255 bytes, dec length
bpl - ; if length is still positive go back and move more
rts ; done
.pend
memset .proc
; -- fill memory from (P8ZP_SCRATCH_W1), length XY, with value in A.
; clobbers X, Y
stx P8ZP_SCRATCH_B1
sty _save_reg
ldy #0
ldx _save_reg
beq _lastpage
_fullpage sta (P8ZP_SCRATCH_W1),y
iny
bne _fullpage
inc P8ZP_SCRATCH_W1+1 ; next page
dex
bne _fullpage
_lastpage ldy P8ZP_SCRATCH_B1
beq +
- dey
sta (P8ZP_SCRATCH_W1),y
bne -
+ rts
_save_reg .byte 0
.pend
memsetw .proc
; -- fill memory from (P8ZP_SCRATCH_W1) number of words in P8ZP_SCRATCH_W2, with word value in AY.
; clobbers A, X, Y
sta _mod1+1 ; self-modify
sty _mod1b+1 ; self-modify
sta _mod2+1 ; self-modify
sty _mod2b+1 ; self-modify
ldx P8ZP_SCRATCH_W1
stx P8ZP_SCRATCH_B1
ldx P8ZP_SCRATCH_W1+1
inx
stx P8ZP_SCRATCH_REG ; second page
ldy #0
ldx P8ZP_SCRATCH_W2+1
beq _lastpage
_fullpage
_mod1 lda #0 ; self-modified
sta (P8ZP_SCRATCH_W1),y ; first page
sta (P8ZP_SCRATCH_B1),y ; second page
iny
_mod1b lda #0 ; self-modified
sta (P8ZP_SCRATCH_W1),y ; first page
sta (P8ZP_SCRATCH_B1),y ; second page
iny
bne _fullpage
inc P8ZP_SCRATCH_W1+1 ; next page pair
inc P8ZP_SCRATCH_W1+1 ; next page pair
inc P8ZP_SCRATCH_B1+1 ; next page pair
inc P8ZP_SCRATCH_B1+1 ; next page pair
dex
bne _fullpage
_lastpage ldx P8ZP_SCRATCH_W2
beq _done
ldy #0
-
_mod2 lda #0 ; self-modified
sta (P8ZP_SCRATCH_W1), y
inc P8ZP_SCRATCH_W1
bne _mod2b
inc P8ZP_SCRATCH_W1+1
_mod2b lda #0 ; self-modified
sta (P8ZP_SCRATCH_W1), y
inc P8ZP_SCRATCH_W1
bne +
inc P8ZP_SCRATCH_W1+1
+ dex
bne -
_done rts
.pend
ror2_mem_ub .proc
; -- in-place 8-bit ror of byte at memory location in AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
lsr a
bcc +
ora #$80
+ sta (P8ZP_SCRATCH_W1),y
rts
.pend
rol2_mem_ub .proc
; -- in-place 8-bit rol of byte at memory location in AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
cmp #$80
rol a
sta (P8ZP_SCRATCH_W1),y
rts
.pend
strcpy .proc
; copy a string (must be 0-terminated) from A/Y to (P8ZP_SCRATCH_W1)
; it is assumed the target string is large enough.
; returns the length of the string that was copied in Y.
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
ldy #$ff
- iny
lda (P8ZP_SCRATCH_W2),y
sta (P8ZP_SCRATCH_W1),y
bne -
rts
.pend
strcmp_expression .proc
; -- compare strings, result in A
lda _arg_s2
ldy _arg_s2+1
sta P8ZP_SCRATCH_W2
sty P8ZP_SCRATCH_W2+1
lda _arg_s1
ldy _arg_s1+1
jmp strcmp_mem
_arg_s1 .word 0
_arg_s2 .word 0
.pend
strcmp_mem .proc
; -- compares strings in s1 (AY) and s2 (P8ZP_SCRATCH_W2).
; Returns -1,0,1 in A, depeding on the ordering. Clobbers Y.
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
_loop lda (P8ZP_SCRATCH_W1),y
bne +
lda (P8ZP_SCRATCH_W2),y
bne _return_minusone
beq _return
+ cmp (P8ZP_SCRATCH_W2),y
bcc _return_minusone
bne _return_one
inc P8ZP_SCRATCH_W1
bne +
inc P8ZP_SCRATCH_W1+1
+ inc P8ZP_SCRATCH_W2
bne _loop
inc P8ZP_SCRATCH_W2+1
bne _loop
_return_one
lda #1
_return rts
_return_minusone
lda #-1
rts
.pend
strlen .proc
; -- returns the number of bytes in the string in AY, in Y. Clobbers A.
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
- lda (P8ZP_SCRATCH_W1),y
beq +
iny
bne -
+ rts
.pend
containment_bytearray .proc
; -- check if a value exists in a byte array.
; parameters: P8ZP_SCRATCH_W1: address of the byte array, A = byte to check, Y = length of array (>=1).
; returns boolean 0/1 in A.
dey
- cmp (P8ZP_SCRATCH_W1),y
beq +
dey
cpy #255
bne -
lda #0
rts
+ lda #1
rts
.pend
containment_wordarray .proc
; -- check if a value exists in a word array.
; parameters: P8ZP_SCRATCH_W1: value to check, P8ZP_SCRATCH_W2: address of the word array, Y = length of array (>=1).
; returns boolean 0/1 in A.
dey
tya
asl a
tay
- lda P8ZP_SCRATCH_W1
cmp (P8ZP_SCRATCH_W2),y
bne +
lda P8ZP_SCRATCH_W1+1
iny
cmp (P8ZP_SCRATCH_W2),y
beq _found
dey
+ dey
dey
cpy #254
bne -
lda #0
rts
_found lda #1
rts
.pend
arraycopy_split_to_normal_words .proc
; P8ZP_SCRATCH_W1 = start of lsb array
; P8ZP_SCRATCH_W2 = start of msb array
; AY = start of normal word target array
; X = number of elements to copy
sta _modlsb+1
sty _modlsb+2
clc
adc #1
bne +
iny
+ sta _modmsb+1
sty _modmsb+2
ldy #0
- lda (P8ZP_SCRATCH_W1),y
_modlsb sta $ffff ; modified lsb store
lda _modlsb+1
clc
adc #2
sta _modlsb+1
bcc +
inc _modlsb+2
+ lda (P8ZP_SCRATCH_W2),y
_modmsb sta $ffff ; modified msb store
lda _modmsb+1
clc
adc #2
sta _modmsb+1
bcc +
inc _modmsb+2
+ iny
dex
bne -
rts
.pend
arraycopy_normal_to_split_words .proc
; P8ZP_SCRATCH_W1 = start of target lsb array
; P8ZP_SCRATCH_W2 = start of target msb array
; AY = start of normal word source array
; X = number of elements to copy
sta _modsrclsb+1
sty _modsrclsb+2
clc
adc #1
bne +
iny
+ sta _modsrcmsb+1
sty _modsrcmsb+2
ldy #0
_modsrclsb lda $ffff ; modified lsb read
sta (P8ZP_SCRATCH_W1),y
lda _modsrclsb+1
clc
adc #2
sta _modsrclsb+1
bcc +
inc _modsrclsb+2
+
_modsrcmsb lda $ffff ; modnfied msb read
sta (P8ZP_SCRATCH_W2),y
lda _modsrcmsb+1
clc
adc #2
sta _modsrcmsb+1
bcc +
inc _modsrcmsb+2
+ iny
dex
bne _modsrclsb
rts
.pend
memcopy_small .proc
; copy up to a single page (256 bytes) of memory.
; note: only works for NON-OVERLAPPING memory regions!
; P8ZP_SCRATCH_W1 = from address
; P8ZP_SCRATCH_W2 = destination address
; Y = number of bytes to copy (where 0 means 256)
cpy #0
beq _fullpage
dey
beq _lastbyte
_loop lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
dey
bne _loop
_lastbyte lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
rts
_fullpage lda (P8ZP_SCRATCH_W1),y
sta (P8ZP_SCRATCH_W2),y
dey
bne _fullpage
rts
.pend
; source: library:/prog8lib/prog8_lib.p8:7 %asminclude "library:prog8_funcs.asm"
; ---- builtin functions
func_any_b_into_A .proc
; -- any(array), array in P8ZP_SCRATCH_W1, num bytes in A
sta _cmp_mod+1 ; self-modifying code
ldy #0
- lda (P8ZP_SCRATCH_W1),y
bne _got_any
iny
_cmp_mod cpy #255 ; modified
bne -
lda #0
rts
_got_any lda #1
rts
.pend
func_all_b_into_A .proc
; -- all(array), array in P8ZP_SCRATCH_W1, num bytes in A
sta _cmp_mod+1 ; self-modifying code
ldy #0
- lda (P8ZP_SCRATCH_W1),y
beq _got_not_all
iny
_cmp_mod cpy #255 ; modified
bne -
lda #1
_got_not_all rts
.pend
func_any_w_into_A .proc
asl a
jmp func_any_b_into_A
.pend
func_all_w_into_A .proc
; -- all(warray), array in P8ZP_SCRATCH_W1, num bytes in A
asl a ; times 2 because of word
sta _cmp_mod+1 ; self-modifying code
ldy #0
- lda (P8ZP_SCRATCH_W1),y
bne +
iny
lda (P8ZP_SCRATCH_W1),y
bne ++
lda #0
rts
+ iny
+ iny
_cmp_mod cpy #255 ; modified
bne -
lda #1
rts
.pend
abs_b_into_A .proc
; -- A = abs(A)
cmp #0
bmi +
rts
+ eor #$ff
clc
adc #1
rts
.pend
abs_w_into_AY .proc
; -- AY = abs(AY)
cpy #0
bmi +
rts
+ eor #$ff
pha
tya
eor #$ff
tay
pla
clc
adc #1
bcc +
iny
+ rts
.pend
func_sign_b_into_A .proc
cmp #0
beq _zero
bmi _neg
lda #1
_zero rts
_neg lda #-1
rts
.pend
func_sign_ub_into_A .proc
cmp #0
bne _pos
rts
_pos lda #1
rts
.pend
func_sign_uw_into_A .proc
cpy #0
beq _possibly_zero
_pos lda #1
rts
_possibly_zero cmp #0
bne _pos
rts
.pend
func_sign_w_into_A .proc
cpy #0
beq _possibly_zero
bmi _neg
_pos lda #1
rts
_neg lda #-1
rts
_possibly_zero cmp #0
bne _pos
rts
.pend
func_sqrt16_into_A .proc
; integer square root
; http://6502org.wikidot.com/software-math-sqrt
; https://github.com/TobyLobster/sqrt_test/blob/main/sqrt/sqrt7.a
; Tweaked by TobyLobster and 0xC0DE to be smaller and faster
_numl = P8ZP_SCRATCH_W1
_numh = P8ZP_SCRATCH_W1+1
_loop_counter = P8ZP_SCRATCH_REG
_root = P8ZP_SCRATCH_B1
sta _numl
sty _numh
ldx #$ff
stx _loop_counter
inx
stx _root
sec
_loop lda _numh
sbc #$40
tay
txa
sbc _root
bcc +
sty _numh
bcs ++
+ txa
+ rol _root
asl _numl
rol _numh
rol a
asl _numl
rol _numh
rol a
tax
lsr _loop_counter
bne _loop
lda _root
rts
.pend
func_sort_ub .proc
; 8bit unsigned sort
; sorting subroutine coded by mats rosengren (mats.rosengren@esa.int)
; input: address of array to sort in P8ZP_SCRATCH_W1, length in S
; first, put pointer BEFORE array
sta P8ZP_SCRATCH_B1
lda P8ZP_SCRATCH_W1
bne +
dec P8ZP_SCRATCH_W1+1
+ dec P8ZP_SCRATCH_W1
_sortloop ldy P8ZP_SCRATCH_B1 ;start of subroutine sort
lda (P8ZP_SCRATCH_W1),y ;last value in (what is left of) sequence to be sorted
sta P8ZP_SCRATCH_REG ;save value. will be over-written by largest number
jmp _l2
_l1 dey
beq _l3
lda (P8ZP_SCRATCH_W1),y
cmp P8ZP_SCRATCH_W2+1
bcc _l1
_l2 sty P8ZP_SCRATCH_W2 ;index of potentially largest value
sta P8ZP_SCRATCH_W2+1 ;potentially largest value
jmp _l1
_l3 ldy P8ZP_SCRATCH_B1 ;where the largest value shall be put
lda P8ZP_SCRATCH_W2+1 ;the largest value
sta (P8ZP_SCRATCH_W1),y ;put largest value in place
ldy P8ZP_SCRATCH_W2 ;index of free space
lda P8ZP_SCRATCH_REG ;the over-written value
sta (P8ZP_SCRATCH_W1),y ;put the over-written value in the free space
dec P8ZP_SCRATCH_B1 ;end of the shorter sequence still left
bne _sortloop ;start working with the shorter sequence
rts
.pend
func_sort_b .proc
; 8bit signed sort
; sorting subroutine coded by mats rosengren (mats.rosengren@esa.int)
; input: address of array to sort in P8ZP_SCRATCH_W1, length in A
; first, put pointer BEFORE array
sta P8ZP_SCRATCH_B1
lda P8ZP_SCRATCH_W1
bne +
dec P8ZP_SCRATCH_W1+1
+ dec P8ZP_SCRATCH_W1
_sortloop ldy P8ZP_SCRATCH_B1 ;start of subroutine sort
lda (P8ZP_SCRATCH_W1),y ;last value in (what is left of) sequence to be sorted
sta P8ZP_SCRATCH_REG ;save value. will be over-written by largest number
jmp _l2
_l1 dey
beq _l3
lda (P8ZP_SCRATCH_W1),y
cmp P8ZP_SCRATCH_W2+1
bmi _l1
_l2 sty P8ZP_SCRATCH_W2 ;index of potentially largest value
sta P8ZP_SCRATCH_W2+1 ;potentially largest value
jmp _l1
_l3 ldy P8ZP_SCRATCH_B1 ;where the largest value shall be put
lda P8ZP_SCRATCH_W2+1 ;the largest value
sta (P8ZP_SCRATCH_W1),y ;put largest value in place
ldy P8ZP_SCRATCH_W2 ;index of free space
lda P8ZP_SCRATCH_REG ;the over-written value
sta (P8ZP_SCRATCH_W1),y ;put the over-written value in the free space
dec P8ZP_SCRATCH_B1 ;end of the shorter sequence still left
bne _sortloop ;start working with the shorter sequence
rts
.pend
func_sort_uw .proc
; 16bit unsigned sort
; sorting subroutine coded by mats rosengren (mats.rosengren@esa.int)
; input: address of array to sort in P8ZP_SCRATCH_W1, length in A
; first: subtract 2 of the pointer
asl a
sta P8ZP_SCRATCH_B1
lda P8ZP_SCRATCH_W1
sec
sbc #2
sta P8ZP_SCRATCH_W1
bcs _sort_loop
dec P8ZP_SCRATCH_W1+1
_sort_loop ldy P8ZP_SCRATCH_B1 ;start of subroutine sort
lda (P8ZP_SCRATCH_W1),y ;last value in (what is left of) sequence to be sorted
sta _work3 ;save value. will be over-written by largest number
iny
lda (P8ZP_SCRATCH_W1),y
sta _work3+1
dey
jmp _l2
_l1 dey
dey
beq _l3
iny
lda (P8ZP_SCRATCH_W1),y
dey
cmp P8ZP_SCRATCH_W2+1
bne +
lda (P8ZP_SCRATCH_W1),y
cmp P8ZP_SCRATCH_W2
+ bcc _l1
_l2 sty _work1 ;index of potentially largest value
lda (P8ZP_SCRATCH_W1),y
sta P8ZP_SCRATCH_W2 ;potentially largest value
iny
lda (P8ZP_SCRATCH_W1),y
sta P8ZP_SCRATCH_W2+1
dey
jmp _l1
_l3 ldy P8ZP_SCRATCH_B1 ;where the largest value shall be put
lda P8ZP_SCRATCH_W2 ;the largest value
sta (P8ZP_SCRATCH_W1),y ;put largest value in place
iny
lda P8ZP_SCRATCH_W2+1
sta (P8ZP_SCRATCH_W1),y
ldy _work1 ;index of free space
lda _work3 ;the over-written value
sta (P8ZP_SCRATCH_W1),y ;put the over-written value in the free space
iny
lda _work3+1
sta (P8ZP_SCRATCH_W1),y
dey
dec P8ZP_SCRATCH_B1 ;end of the shorter sequence still left
dec P8ZP_SCRATCH_B1
bne _sort_loop ;start working with the shorter sequence
rts
_work1 .byte 0
_work3 .word 0
.pend
func_sort_w .proc
; 16bit signed sort
; sorting subroutine coded by mats rosengren (mats.rosengren@esa.int)
; input: address of array to sort in P8ZP_SCRATCH_W1, length in A
; first: subtract 2 of the pointer
asl a
sta P8ZP_SCRATCH_B1
lda P8ZP_SCRATCH_W1
sec
sbc #2
sta P8ZP_SCRATCH_W1
bcs _sort_loop
dec P8ZP_SCRATCH_W1+1
_sort_loop ldy P8ZP_SCRATCH_B1 ;start of subroutine sort
lda (P8ZP_SCRATCH_W1),y ;last value in (what is left of) sequence to be sorted
sta _work3 ;save value. will be over-written by largest number
iny
lda (P8ZP_SCRATCH_W1),y
sta _work3+1
dey
jmp _l2
_l1 dey
dey
beq _l3
lda (P8ZP_SCRATCH_W1),y
cmp P8ZP_SCRATCH_W2
iny
lda (P8ZP_SCRATCH_W1),y
dey
sbc P8ZP_SCRATCH_W2+1
bvc +
eor #$80
+ bmi _l1
_l2 sty _work1 ;index of potentially largest value
lda (P8ZP_SCRATCH_W1),y
sta P8ZP_SCRATCH_W2 ;potentially largest value
iny
lda (P8ZP_SCRATCH_W1),y
sta P8ZP_SCRATCH_W2+1
dey
jmp _l1
_l3 ldy P8ZP_SCRATCH_B1 ;where the largest value shall be put
lda P8ZP_SCRATCH_W2 ;the largest value
sta (P8ZP_SCRATCH_W1),y ;put largest value in place
iny
lda P8ZP_SCRATCH_W2+1
sta (P8ZP_SCRATCH_W1),y
ldy _work1 ;index of free space
lda _work3 ;the over-written value
sta (P8ZP_SCRATCH_W1),y ;put the over-written value in the free space
iny
lda _work3+1
sta (P8ZP_SCRATCH_W1),y
dey
dec P8ZP_SCRATCH_B1 ;end of the shorter sequence still left
dec P8ZP_SCRATCH_B1
bne _sort_loop ;start working with the shorter sequence
rts
_work1 .byte 0
_work3 .word 0
.pend
func_reverse_b .proc
; --- reverse an array of bytes (in-place)
; inputs: pointer to array in P8ZP_SCRATCH_W1, length in A
_index_right = P8ZP_SCRATCH_W2
_index_left = P8ZP_SCRATCH_W2+1
_loop_count = P8ZP_SCRATCH_REG
sta _loop_count
lsr _loop_count
sec
sbc #1
sta _index_right
lda #0
sta _index_left
_loop ldy _index_right
lda (P8ZP_SCRATCH_W1),y
pha
ldy _index_left
lda (P8ZP_SCRATCH_W1),y
ldy _index_right
sta (P8ZP_SCRATCH_W1),y
pla
ldy _index_left
sta (P8ZP_SCRATCH_W1),y
inc _index_left
dec _index_right
dec _loop_count
bne _loop
rts
.pend
func_reverse_w .proc
; --- reverse an array of words (in-place)
; inputs: pointer to array in P8ZP_SCRATCH_W1, length in A
_index_first = P8ZP_SCRATCH_W2
_index_second = P8ZP_SCRATCH_W2+1
_loop_count = P8ZP_SCRATCH_REG
pha
asl a ; *2 because words
sec
sbc #2
sta _index_first
lda #0
sta _index_second
pla
lsr a
pha
sta _loop_count
; first reverse the lsbs
_loop_lo ldy _index_first
lda (P8ZP_SCRATCH_W1),y
pha
ldy _index_second
lda (P8ZP_SCRATCH_W1),y
ldy _index_first
sta (P8ZP_SCRATCH_W1),y
pla
ldy _index_second
sta (P8ZP_SCRATCH_W1),y
inc _index_second
inc _index_second
dec _index_first
dec _index_first
dec _loop_count
bne _loop_lo
; now reverse the msbs
dec _index_second
inc _index_first
inc _index_first
inc _index_first
pla
sta _loop_count
_loop_hi ldy _index_first
lda (P8ZP_SCRATCH_W1),y
pha
ldy _index_second
lda (P8ZP_SCRATCH_W1),y
ldy _index_first
sta (P8ZP_SCRATCH_W1),y
pla
ldy _index_second
sta (P8ZP_SCRATCH_W1),y
dec _index_second
dec _index_second
inc _index_first
inc _index_first
dec _loop_count
bne _loop_hi
rts
.pend
func_peekw .proc
; -- read the word value on the address in AY
sta P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_W1+1
ldy #0
lda (P8ZP_SCRATCH_W1),y
pha
iny
lda (P8ZP_SCRATCH_W1),y
tay
pla
rts
.pend
func_pokew .proc
; -- store the word value in AY in the address in P8ZP_SCRATCH_W1
sty P8ZP_SCRATCH_REG
ldy #0
sta (P8ZP_SCRATCH_W1),y
iny
lda P8ZP_SCRATCH_REG
sta (P8ZP_SCRATCH_W1),y
rts
.pend
func_clamp_byte .proc
; signed value in A, result in A
; minimum in P8ZP_SCRATCH_W1
; maximum in P8ZP_SCRATCH_W1+1
tay
sec
sbc P8ZP_SCRATCH_W1+1
bvc +
eor #$80
+ bmi +
lda P8ZP_SCRATCH_W1+1
tay
jmp ++
+ tya
+ sec
sbc P8ZP_SCRATCH_W1
bvc +
eor #$80
+ bmi +
tya
rts
+ lda P8ZP_SCRATCH_W1
rts
.pend
func_clamp_ubyte .proc
; value in A, result in A
; minimum in P8ZP_SCRATCH_W1
; maximum in P8ZP_SCRATCH_W1+1
cmp P8ZP_SCRATCH_W1+1
bcc +
lda P8ZP_SCRATCH_W1+1
+ cmp P8ZP_SCRATCH_W1
bcc +
rts
+ lda P8ZP_SCRATCH_W1
rts
.pend
func_clamp_word .proc
; signed value in AY, result in AY
; minimum in P8ZP_SCRATCH_W1
; maximum in P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_B1
sty P8ZP_SCRATCH_REG
ldy P8ZP_SCRATCH_W2+1
lda P8ZP_SCRATCH_W2
cmp P8ZP_SCRATCH_B1
tya
sbc P8ZP_SCRATCH_REG
bvc +
eor #$80
+ bpl +
lda P8ZP_SCRATCH_W2
ldy P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_B1
sty P8ZP_SCRATCH_REG
+ ldy P8ZP_SCRATCH_W1+1
lda P8ZP_SCRATCH_W1
cmp P8ZP_SCRATCH_B1
tya
sbc P8ZP_SCRATCH_REG
bvc +
eor #$80
+ bpl +
ldy P8ZP_SCRATCH_REG
lda P8ZP_SCRATCH_B1
rts
+ ldy P8ZP_SCRATCH_W1+1
lda P8ZP_SCRATCH_W1
rts
.pend
func_clamp_uword .proc
; value in AY, result in AY
; minimum in P8ZP_SCRATCH_W1
; maximum in P8ZP_SCRATCH_W2
sta P8ZP_SCRATCH_B1
sty P8ZP_SCRATCH_REG
cpy P8ZP_SCRATCH_W2+1
bcc ++
bne +
cmp P8ZP_SCRATCH_W2
bcc ++
+ beq +
lda P8ZP_SCRATCH_W2
ldy P8ZP_SCRATCH_W2+1
sta P8ZP_SCRATCH_B1
sty P8ZP_SCRATCH_REG
+ ldy P8ZP_SCRATCH_REG
lda P8ZP_SCRATCH_B1
cpy P8ZP_SCRATCH_W1+1
bcc ++
bne +
cmp P8ZP_SCRATCH_W1
bcc ++
+ beq +
ldy P8ZP_SCRATCH_REG
lda P8ZP_SCRATCH_B1
rts
+ ldy P8ZP_SCRATCH_W1+1
lda P8ZP_SCRATCH_W1
rts
.pend
.pend
; global float constants
prog8_float_const_0 .byte $81, $00, $00, $00, $00 ; float 1.0
; expression temp vars
.section BSS
.send BSS
; bss sections
PROG8_VARSHIGH_RAMBANK = 1
prog8_bss_section_start
.dsection BSS
prog8_bss_section_size = * - prog8_bss_section_start
.dsection slabs_BSS
prog8_program_end ; end of program label for progend()