mirror of
https://github.com/irmen/prog8.git
synced 2024-11-27 03:50:27 +00:00
56c1035581
# Conflicts: # docs/source/todo.rst # examples/test.p8
18833 lines
488 KiB
NASM
18833 lines
488 KiB
NASM
; w65c02 assembly code for 'test_uword_equalities'
|
|
; generated by prog8.codegen.cpu6502.ProgramAndVarsGen on 2024-03-13T21:14:43
|
|
; 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_uword_equalities.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:"uword"
|
|
.byte $55, $57, $4f, $52, $44, $00
|
|
|
|
; source: test_uword_equalities.p8:9 ubyte success = 0
|
|
; source: test_uword_equalities.p8:10 str datatype = "uword"
|
|
; source: test_uword_equalities.p8:11 uword @shared comparison
|
|
; source: test_uword_equalities.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_uword_equalities.p8:14 txt.print("\n(in)equality tests for datatype: ")
|
|
ldy #>prog8_interned_strings.string_1
|
|
lda #<prog8_interned_strings.string_1
|
|
jsr txt.print
|
|
; source: test_uword_equalities.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_uword_equalities.p8:17 test_stack.test()
|
|
jsr test_stack.test
|
|
; source: test_uword_equalities.p8:18 txt.print("==0: ")
|
|
ldy #>prog8_interned_strings.string_2
|
|
lda #<prog8_interned_strings.string_2
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:19 test_is_zero()
|
|
jsr p8b_main.p8s_test_is_zero
|
|
; source: test_uword_equalities.p8:20 txt.print("\n!=0: ")
|
|
ldy #>prog8_interned_strings.string_3
|
|
lda #<prog8_interned_strings.string_3
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:21 test_not_zero()
|
|
jsr p8b_main.p8s_test_not_zero
|
|
; source: test_uword_equalities.p8:22 txt.print("\n==number: ")
|
|
ldy #>prog8_interned_strings.string_4
|
|
lda #<prog8_interned_strings.string_4
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:23 test_is_number()
|
|
jsr p8b_main.p8s_test_is_number
|
|
; source: test_uword_equalities.p8:24 txt.print("\n!=number: ")
|
|
ldy #>prog8_interned_strings.string_5
|
|
lda #<prog8_interned_strings.string_5
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:25 test_not_number()
|
|
jsr p8b_main.p8s_test_not_number
|
|
; source: test_uword_equalities.p8:26 txt.print("\n==var: ")
|
|
ldy #>prog8_interned_strings.string_6
|
|
lda #<prog8_interned_strings.string_6
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:27 test_is_var()
|
|
jsr p8b_main.p8s_test_is_var
|
|
; source: test_uword_equalities.p8:28 txt.print("\n!=var: ")
|
|
ldy #>prog8_interned_strings.string_7
|
|
lda #<prog8_interned_strings.string_7
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:29 test_not_var()
|
|
jsr p8b_main.p8s_test_not_var
|
|
; source: test_uword_equalities.p8:30 txt.print("\n==array[]: ")
|
|
ldy #>prog8_interned_strings.string_8
|
|
lda #<prog8_interned_strings.string_8
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:31 test_is_array()
|
|
jsr p8b_main.p8s_test_is_array
|
|
; source: test_uword_equalities.p8:32 txt.print("\n!=array[]: ")
|
|
ldy #>prog8_interned_strings.string_9
|
|
lda #<prog8_interned_strings.string_9
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:33 test_not_array()
|
|
jsr p8b_main.p8s_test_not_array
|
|
; source: test_uword_equalities.p8:34 txt.print("\n==expr: ")
|
|
ldy #>prog8_interned_strings.string_10
|
|
lda #<prog8_interned_strings.string_10
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:35 test_is_expr()
|
|
jsr p8b_main.p8s_test_is_expr
|
|
; source: test_uword_equalities.p8:36 txt.print("\n!=expr: ")
|
|
ldy #>prog8_interned_strings.string_11
|
|
lda #<prog8_interned_strings.string_11
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:37 test_not_expr()
|
|
jsr p8b_main.p8s_test_not_expr
|
|
; source: test_uword_equalities.p8:38 test_stack.test()
|
|
jmp test_stack.test
|
|
; source: test_uword_equalities.p8:13 sub start() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
.pend
|
|
; source: test_uword_equalities.p8:41 sub verify_success(ubyte expected) {
|
|
|
|
p8s_verify_success .proc
|
|
; simple int arg(s) passed via register(s)
|
|
sta p8v_expected
|
|
; statements
|
|
; source: test_uword_equalities.p8:42 if success==expected {
|
|
lda p8b_main.p8v_success
|
|
cmp p8v_expected
|
|
bne label_asm_2_else
|
|
; source: test_uword_equalities.p8:43 txt.print("ok")
|
|
lda #$4f
|
|
jsr txt.chrout
|
|
lda #$4b
|
|
jsr txt.chrout
|
|
bra label_asm_1_afterif
|
|
label_asm_2_else
|
|
; source: test_uword_equalities.p8:45 txt.print(" **failed** ")
|
|
ldy #>prog8_interned_strings.string_13
|
|
lda #<prog8_interned_strings.string_13
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:46 txt.print_ub(success)
|
|
lda p8b_main.p8v_success
|
|
jsr txt.print_ub
|
|
; source: test_uword_equalities.p8:47 txt.print(" success, expected ")
|
|
ldy #>prog8_interned_strings.string_14
|
|
lda #<prog8_interned_strings.string_14
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:48 txt.print_ub(expected)
|
|
lda p8v_expected
|
|
jsr txt.print_ub
|
|
label_asm_1_afterif
|
|
; source: test_uword_equalities.p8:41 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_uword_equalities.p8:76 sub fail_uword(uword idx, uword v1) {
|
|
|
|
p8s_fail_uword .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:77 txt.print(" **fail#")
|
|
ldy #>prog8_interned_strings.string_15
|
|
lda #<prog8_interned_strings.string_15
|
|
jsr txt.print
|
|
; source: test_uword_equalities.p8:78 txt.print_uw(idx)
|
|
ldy p8v_idx+1
|
|
lda p8v_idx
|
|
jsr txt.print_uw
|
|
; source: test_uword_equalities.p8:79 txt.chrout(':')
|
|
lda #$3a
|
|
jsr txt.chrout
|
|
; source: test_uword_equalities.p8:80 txt.print_uw(v1)
|
|
ldy p8v_v1+1
|
|
lda p8v_v1
|
|
jsr txt.print_uw
|
|
; source: test_uword_equalities.p8:81 txt.print(" **")
|
|
ldy #>prog8_interned_strings.string_16
|
|
lda #<prog8_interned_strings.string_16
|
|
jmp txt.print
|
|
; source: test_uword_equalities.p8:76 sub fail_uword(uword idx, uword v1) {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_idx .word ?
|
|
p8v_v1 .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:94 sub test_is_zero() {
|
|
|
|
p8s_test_is_zero .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:95 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:96 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:98 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:100 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq p8l_lbl1
|
|
; source: test_uword_equalities.p8:102 goto skip1
|
|
bra p8l_skip1
|
|
; source: test_uword_equalities.p8:103 lbl1: success++
|
|
p8l_lbl1
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:104 skip1:
|
|
p8l_skip1
|
|
; source: test_uword_equalities.p8:106 cx16.r3 = &lbl2
|
|
lda #<p8l_lbl2
|
|
ldy #>p8l_lbl2
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:107 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:109 goto skip2
|
|
bra p8l_skip2
|
|
; source: test_uword_equalities.p8:110 lbl2: success++
|
|
p8l_lbl2
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:111 skip2:
|
|
p8l_skip2
|
|
; source: test_uword_equalities.p8:113 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne label_asm_3_afterif
|
|
; source: test_uword_equalities.p8:114 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_3_afterif
|
|
; source: test_uword_equalities.p8:117 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne label_asm_5_else
|
|
; source: test_uword_equalities.p8:118 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_4_afterif
|
|
label_asm_5_else
|
|
; source: test_uword_equalities.p8:120 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_4_afterif
|
|
; source: test_uword_equalities.p8:122 x = 9999
|
|
lda #<$270f
|
|
ldy #>$270f
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:124 if x==0
|
|
ora p8v_x+1
|
|
beq p8l_skip3
|
|
; source: test_uword_equalities.p8:126 success++
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:127 skip3:
|
|
p8l_skip3
|
|
; source: test_uword_equalities.p8:129 cx16.r3 = &skip4
|
|
lda #<p8l_skip4
|
|
ldy #>p8l_skip4
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:130 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:132 success++
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:133 skip4:
|
|
p8l_skip4
|
|
; source: test_uword_equalities.p8:135 success++
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:136 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne label_asm_6_afterif
|
|
; source: test_uword_equalities.p8:137 success--
|
|
dec p8b_main.p8v_success
|
|
label_asm_6_afterif
|
|
; source: test_uword_equalities.p8:140 if x==0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne label_asm_8_else
|
|
; source: test_uword_equalities.p8:141 cx16.r0L++
|
|
inc cx16.r0L
|
|
bra label_asm_7_afterif
|
|
label_asm_8_else
|
|
; source: test_uword_equalities.p8:143 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_7_afterif
|
|
; source: test_uword_equalities.p8:145 verify_success(8)
|
|
lda #8
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:94 sub test_is_zero() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:149 sub test_not_zero() {
|
|
|
|
p8s_test_not_zero .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:150 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:151 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:153 x=9999
|
|
lda #<$270f
|
|
ldy #>$270f
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:155 if x!=0
|
|
ora p8v_x+1
|
|
bne p8l_lbl1
|
|
; source: test_uword_equalities.p8:157 goto skip1
|
|
bra p8l_skip1
|
|
; source: test_uword_equalities.p8:158 lbl1: success++
|
|
p8l_lbl1
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:159 skip1:
|
|
p8l_skip1
|
|
; source: test_uword_equalities.p8:161 cx16.r3 = &lbl2
|
|
lda #<p8l_lbl2
|
|
ldy #>p8l_lbl2
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:162 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:164 goto skip2
|
|
bra p8l_skip2
|
|
; source: test_uword_equalities.p8:165 lbl2: success++
|
|
p8l_lbl2
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:166 skip2:
|
|
p8l_skip2
|
|
; source: test_uword_equalities.p8:168 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq label_asm_9_afterif
|
|
; source: test_uword_equalities.p8:169 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_9_afterif
|
|
; source: test_uword_equalities.p8:172 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq label_asm_11_else
|
|
; source: test_uword_equalities.p8:173 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_10_afterif
|
|
label_asm_11_else
|
|
; source: test_uword_equalities.p8:175 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_10_afterif
|
|
; source: test_uword_equalities.p8:177 x = 0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:179 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
bne p8l_skip3
|
|
; source: test_uword_equalities.p8:181 success++
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:182 skip3:
|
|
p8l_skip3
|
|
; source: test_uword_equalities.p8:184 cx16.r3 = &skip4
|
|
lda #<p8l_skip4
|
|
ldy #>p8l_skip4
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:185 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:187 success++
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:188 skip4:
|
|
p8l_skip4
|
|
; source: test_uword_equalities.p8:190 success++
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:191 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq label_asm_12_afterif
|
|
; source: test_uword_equalities.p8:192 success--
|
|
dec p8b_main.p8v_success
|
|
label_asm_12_afterif
|
|
; source: test_uword_equalities.p8:195 if x!=0
|
|
lda p8v_x
|
|
ora p8v_x+1
|
|
beq label_asm_14_else
|
|
; source: test_uword_equalities.p8:196 cx16.r0L++
|
|
inc cx16.r0L
|
|
bra label_asm_13_afterif
|
|
label_asm_14_else
|
|
; source: test_uword_equalities.p8:198 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_13_afterif
|
|
; source: test_uword_equalities.p8:200 verify_success(8)
|
|
lda #8
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:149 sub test_not_zero() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:203 sub test_is_number() {
|
|
|
|
p8s_test_is_number .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:204 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:205 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:206 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:208 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
beq p8l_lbl1a
|
|
+
|
|
; source: test_uword_equalities.p8:210 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:211 lbl1a: fail_uword(1,0)
|
|
p8l_lbl1a
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:212 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:214 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:215 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:217 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:218 lbl1b: fail_uword(2,0)
|
|
p8l_lbl1b
|
|
lda #<2
|
|
ldy #>2
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:219 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:221 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_15_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_15_afterif
|
|
; source: test_uword_equalities.p8:222 fail_uword(3,0)
|
|
lda #<3
|
|
ldy #>3
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_15_afterif
|
|
; source: test_uword_equalities.p8:225 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_17_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_17_else
|
|
; source: test_uword_equalities.p8:226 fail_uword(4,0)
|
|
lda #<4
|
|
ldy #>4
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_16_afterif
|
|
label_asm_17_else
|
|
; source: test_uword_equalities.p8:228 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_16_afterif
|
|
; source: test_uword_equalities.p8:231 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
beq p8l_lbl2a
|
|
+
|
|
; source: test_uword_equalities.p8:233 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:234 lbl2a: fail_uword(5,0)
|
|
p8l_lbl2a
|
|
lda #<5
|
|
ldy #>5
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:235 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:237 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:238 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:240 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:241 lbl2b: fail_uword(6,0)
|
|
p8l_lbl2b
|
|
lda #<6
|
|
ldy #>6
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:242 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:244 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_18_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_18_afterif
|
|
; source: test_uword_equalities.p8:245 fail_uword(7,0)
|
|
lda #<7
|
|
ldy #>7
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_18_afterif
|
|
; source: test_uword_equalities.p8:248 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_20_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_20_else
|
|
; source: test_uword_equalities.p8:249 fail_uword(8,0)
|
|
lda #<8
|
|
ldy #>8
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_19_afterif
|
|
label_asm_20_else
|
|
; source: test_uword_equalities.p8:251 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_19_afterif
|
|
; source: test_uword_equalities.p8:254 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
beq p8l_lbl3a
|
|
+
|
|
; source: test_uword_equalities.p8:256 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:257 lbl3a: fail_uword(9,0)
|
|
p8l_lbl3a
|
|
lda #<9
|
|
ldy #>9
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:258 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:260 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:261 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:263 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:264 lbl3b: fail_uword(10,0)
|
|
p8l_lbl3b
|
|
lda #<10
|
|
ldy #>10
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:265 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:267 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_21_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_21_afterif
|
|
; source: test_uword_equalities.p8:268 fail_uword(11,0)
|
|
lda #<11
|
|
ldy #>11
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_21_afterif
|
|
; source: test_uword_equalities.p8:271 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_23_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_23_else
|
|
; source: test_uword_equalities.p8:272 fail_uword(12,0)
|
|
lda #<12
|
|
ldy #>12
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_22_afterif
|
|
label_asm_23_else
|
|
; source: test_uword_equalities.p8:274 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_22_afterif
|
|
; source: test_uword_equalities.p8:276 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:278 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
beq p8l_lbl4a
|
|
+
|
|
; source: test_uword_equalities.p8:280 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:281 lbl4a: success++
|
|
p8l_lbl4a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:282 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:284 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:285 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:287 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:288 lbl4b: success++
|
|
p8l_lbl4b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:289 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:291 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_24_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_24_afterif
|
|
; source: test_uword_equalities.p8:292 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_24_afterif
|
|
; source: test_uword_equalities.p8:295 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_26_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_26_else
|
|
; source: test_uword_equalities.p8:296 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_25_afterif
|
|
label_asm_26_else
|
|
; source: test_uword_equalities.p8:298 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_25_afterif
|
|
; source: test_uword_equalities.p8:301 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
beq p8l_lbl5a
|
|
+
|
|
; source: test_uword_equalities.p8:303 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:304 lbl5a: fail_uword(13,1)
|
|
p8l_lbl5a
|
|
lda #<13
|
|
ldy #>13
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:305 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:307 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:308 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:310 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:311 lbl5b: fail_uword(14,1)
|
|
p8l_lbl5b
|
|
lda #<14
|
|
ldy #>14
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:312 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:314 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_27_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_27_afterif
|
|
; source: test_uword_equalities.p8:315 fail_uword(15,1)
|
|
lda #<15
|
|
ldy #>15
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_27_afterif
|
|
; source: test_uword_equalities.p8:318 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_29_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_29_else
|
|
; source: test_uword_equalities.p8:319 fail_uword(16,1)
|
|
lda #<$10
|
|
ldy #>$10
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_28_afterif
|
|
label_asm_29_else
|
|
; source: test_uword_equalities.p8:321 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_28_afterif
|
|
; source: test_uword_equalities.p8:324 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
beq p8l_lbl6a
|
|
+
|
|
; source: test_uword_equalities.p8:326 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:327 lbl6a: fail_uword(17,1)
|
|
p8l_lbl6a
|
|
lda #<$11
|
|
ldy #>$11
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:328 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:330 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:331 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:333 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:334 lbl6b: fail_uword(18,1)
|
|
p8l_lbl6b
|
|
lda #<$12
|
|
ldy #>$12
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:335 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:337 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_30_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_30_afterif
|
|
; source: test_uword_equalities.p8:338 fail_uword(19,1)
|
|
lda #<$13
|
|
ldy #>$13
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_30_afterif
|
|
; source: test_uword_equalities.p8:341 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_32_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_32_else
|
|
; source: test_uword_equalities.p8:342 fail_uword(20,1)
|
|
lda #<$14
|
|
ldy #>$14
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_31_afterif
|
|
label_asm_32_else
|
|
; source: test_uword_equalities.p8:344 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_31_afterif
|
|
; source: test_uword_equalities.p8:346 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:348 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
beq p8l_lbl7a
|
|
+
|
|
; source: test_uword_equalities.p8:350 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:351 lbl7a: fail_uword(21,30464)
|
|
p8l_lbl7a
|
|
lda #<$15
|
|
ldy #>$15
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:352 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:354 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:355 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:357 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:358 lbl7b: fail_uword(22,30464)
|
|
p8l_lbl7b
|
|
lda #<$16
|
|
ldy #>$16
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:359 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:361 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_33_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_33_afterif
|
|
; source: test_uword_equalities.p8:362 fail_uword(23,30464)
|
|
lda #<$17
|
|
ldy #>$17
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_33_afterif
|
|
; source: test_uword_equalities.p8:365 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_35_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_35_else
|
|
; source: test_uword_equalities.p8:366 fail_uword(24,30464)
|
|
lda #<$18
|
|
ldy #>$18
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_34_afterif
|
|
label_asm_35_else
|
|
; source: test_uword_equalities.p8:368 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_34_afterif
|
|
; source: test_uword_equalities.p8:371 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
beq p8l_lbl8a
|
|
+
|
|
; source: test_uword_equalities.p8:373 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:374 lbl8a: success++
|
|
p8l_lbl8a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:375 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:377 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:378 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:380 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:381 lbl8b: success++
|
|
p8l_lbl8b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:382 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:384 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_36_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_36_afterif
|
|
; source: test_uword_equalities.p8:385 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_36_afterif
|
|
; source: test_uword_equalities.p8:388 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_38_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_38_else
|
|
; source: test_uword_equalities.p8:389 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_37_afterif
|
|
label_asm_38_else
|
|
; source: test_uword_equalities.p8:391 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_37_afterif
|
|
; source: test_uword_equalities.p8:394 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
beq p8l_lbl9a
|
|
+
|
|
; source: test_uword_equalities.p8:396 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:397 lbl9a: fail_uword(25,30464)
|
|
p8l_lbl9a
|
|
lda #<$19
|
|
ldy #>$19
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:398 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:400 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:401 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:403 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:404 lbl9b: fail_uword(26,30464)
|
|
p8l_lbl9b
|
|
lda #<$1a
|
|
ldy #>$1a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:405 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:407 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_39_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_39_afterif
|
|
; source: test_uword_equalities.p8:408 fail_uword(27,30464)
|
|
lda #<$1b
|
|
ldy #>$1b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_39_afterif
|
|
; source: test_uword_equalities.p8:411 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_41_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_41_else
|
|
; source: test_uword_equalities.p8:412 fail_uword(28,30464)
|
|
lda #<$1c
|
|
ldy #>$1c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_40_afterif
|
|
label_asm_41_else
|
|
; source: test_uword_equalities.p8:414 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_40_afterif
|
|
; source: test_uword_equalities.p8:416 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:418 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
beq p8l_lbl10a
|
|
+
|
|
; source: test_uword_equalities.p8:420 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:421 lbl10a: fail_uword(29,65535)
|
|
p8l_lbl10a
|
|
lda #<$1d
|
|
ldy #>$1d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:422 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:424 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:425 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:427 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:428 lbl10b: fail_uword(30,65535)
|
|
p8l_lbl10b
|
|
lda #<$1e
|
|
ldy #>$1e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:429 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:431 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_42_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_42_afterif
|
|
; source: test_uword_equalities.p8:432 fail_uword(31,65535)
|
|
lda #<$1f
|
|
ldy #>$1f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_42_afterif
|
|
; source: test_uword_equalities.p8:435 if x==1
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<1
|
|
bne label_asm_44_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>1
|
|
bne label_asm_44_else
|
|
; source: test_uword_equalities.p8:436 fail_uword(32,65535)
|
|
lda #<$20
|
|
ldy #>$20
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_43_afterif
|
|
label_asm_44_else
|
|
; source: test_uword_equalities.p8:438 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_43_afterif
|
|
; source: test_uword_equalities.p8:441 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
beq p8l_lbl11a
|
|
+
|
|
; source: test_uword_equalities.p8:443 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:444 lbl11a: fail_uword(33,65535)
|
|
p8l_lbl11a
|
|
lda #<$21
|
|
ldy #>$21
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:445 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:447 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:448 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:450 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:451 lbl11b: fail_uword(34,65535)
|
|
p8l_lbl11b
|
|
lda #<$22
|
|
ldy #>$22
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:452 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:454 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_45_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_45_afterif
|
|
; source: test_uword_equalities.p8:455 fail_uword(35,65535)
|
|
lda #<$23
|
|
ldy #>$23
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_45_afterif
|
|
; source: test_uword_equalities.p8:458 if x==30464
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<30464
|
|
bne label_asm_47_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>30464
|
|
bne label_asm_47_else
|
|
; source: test_uword_equalities.p8:459 fail_uword(36,65535)
|
|
lda #<$24
|
|
ldy #>$24
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_46_afterif
|
|
label_asm_47_else
|
|
; source: test_uword_equalities.p8:461 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_46_afterif
|
|
; source: test_uword_equalities.p8:464 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
beq p8l_lbl12a
|
|
+
|
|
; source: test_uword_equalities.p8:466 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:467 lbl12a: success++
|
|
p8l_lbl12a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:468 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:470 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:471 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:473 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:474 lbl12b: success++
|
|
p8l_lbl12b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:475 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:477 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_48_afterif
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_48_afterif
|
|
; source: test_uword_equalities.p8:478 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_48_afterif
|
|
; source: test_uword_equalities.p8:481 if x==65535
|
|
lda p8b_main.p8s_test_is_number.p8v_x
|
|
cmp #<65535
|
|
bne label_asm_50_else
|
|
lda p8b_main.p8s_test_is_number.p8v_x+1
|
|
cmp #>65535
|
|
bne label_asm_50_else
|
|
; source: test_uword_equalities.p8:482 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_49_afterif
|
|
label_asm_50_else
|
|
; source: test_uword_equalities.p8:484 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_49_afterif
|
|
; source: test_uword_equalities.p8:486 verify_success(12)
|
|
lda #12
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:203 sub test_is_number() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:488 sub test_not_number() {
|
|
|
|
p8s_test_not_number .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:489 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:490 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:491 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:493 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne p8l_lbl1a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
bne p8l_lbl1a
|
|
; source: test_uword_equalities.p8:495 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:496 lbl1a: success++
|
|
p8l_lbl1a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:497 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:499 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:500 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:502 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:503 lbl1b: success++
|
|
p8l_lbl1b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:504 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:506 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_51_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:507 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_51_afterif
|
|
; source: test_uword_equalities.p8:510 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_53_else
|
|
+
|
|
; source: test_uword_equalities.p8:511 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_52_afterif
|
|
label_asm_53_else
|
|
; source: test_uword_equalities.p8:513 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_52_afterif
|
|
; source: test_uword_equalities.p8:516 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne p8l_lbl2a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
bne p8l_lbl2a
|
|
; source: test_uword_equalities.p8:518 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:519 lbl2a: success++
|
|
p8l_lbl2a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:520 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:522 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:523 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:525 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:526 lbl2b: success++
|
|
p8l_lbl2b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:527 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:529 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_54_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:530 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_54_afterif
|
|
; source: test_uword_equalities.p8:533 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_56_else
|
|
+
|
|
; source: test_uword_equalities.p8:534 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_55_afterif
|
|
label_asm_56_else
|
|
; source: test_uword_equalities.p8:536 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_55_afterif
|
|
; source: test_uword_equalities.p8:539 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne p8l_lbl3a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
bne p8l_lbl3a
|
|
; source: test_uword_equalities.p8:541 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:542 lbl3a: success++
|
|
p8l_lbl3a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:543 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:545 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:546 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:548 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:549 lbl3b: success++
|
|
p8l_lbl3b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:550 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:552 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_57_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:553 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_57_afterif
|
|
; source: test_uword_equalities.p8:556 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_59_else
|
|
+
|
|
; source: test_uword_equalities.p8:557 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_58_afterif
|
|
label_asm_59_else
|
|
; source: test_uword_equalities.p8:559 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_58_afterif
|
|
; source: test_uword_equalities.p8:561 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:563 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne p8l_lbl4a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
bne p8l_lbl4a
|
|
; source: test_uword_equalities.p8:565 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:566 lbl4a: fail_uword(37,1)
|
|
p8l_lbl4a
|
|
lda #<$25
|
|
ldy #>$25
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:567 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:569 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:570 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:572 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:573 lbl4b: fail_uword(38,1)
|
|
p8l_lbl4b
|
|
lda #<$26
|
|
ldy #>$26
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:574 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:576 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_60_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:577 fail_uword(39,1)
|
|
lda #<$27
|
|
ldy #>$27
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_60_afterif
|
|
; source: test_uword_equalities.p8:580 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_62_else
|
|
+
|
|
; source: test_uword_equalities.p8:581 fail_uword(40,1)
|
|
lda #<$28
|
|
ldy #>$28
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_61_afterif
|
|
label_asm_62_else
|
|
; source: test_uword_equalities.p8:583 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_61_afterif
|
|
; source: test_uword_equalities.p8:586 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne p8l_lbl5a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
bne p8l_lbl5a
|
|
; source: test_uword_equalities.p8:588 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:589 lbl5a: success++
|
|
p8l_lbl5a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:590 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:592 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:593 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:595 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:596 lbl5b: success++
|
|
p8l_lbl5b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:597 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:599 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_63_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:600 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_63_afterif
|
|
; source: test_uword_equalities.p8:603 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_65_else
|
|
+
|
|
; source: test_uword_equalities.p8:604 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_64_afterif
|
|
label_asm_65_else
|
|
; source: test_uword_equalities.p8:606 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_64_afterif
|
|
; source: test_uword_equalities.p8:609 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne p8l_lbl6a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
bne p8l_lbl6a
|
|
; source: test_uword_equalities.p8:611 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:612 lbl6a: success++
|
|
p8l_lbl6a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:613 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:615 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:616 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:618 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:619 lbl6b: success++
|
|
p8l_lbl6b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:620 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:622 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_66_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:623 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_66_afterif
|
|
; source: test_uword_equalities.p8:626 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_68_else
|
|
+
|
|
; source: test_uword_equalities.p8:627 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_67_afterif
|
|
label_asm_68_else
|
|
; source: test_uword_equalities.p8:629 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_67_afterif
|
|
; source: test_uword_equalities.p8:631 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:633 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne p8l_lbl7a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
bne p8l_lbl7a
|
|
; source: test_uword_equalities.p8:635 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:636 lbl7a: success++
|
|
p8l_lbl7a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:637 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:639 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:640 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:642 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:643 lbl7b: success++
|
|
p8l_lbl7b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:644 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:646 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_69_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:647 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_69_afterif
|
|
; source: test_uword_equalities.p8:650 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_71_else
|
|
+
|
|
; source: test_uword_equalities.p8:651 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_70_afterif
|
|
label_asm_71_else
|
|
; source: test_uword_equalities.p8:653 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_70_afterif
|
|
; source: test_uword_equalities.p8:656 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne p8l_lbl8a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
bne p8l_lbl8a
|
|
; source: test_uword_equalities.p8:658 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:659 lbl8a: fail_uword(41,30464)
|
|
p8l_lbl8a
|
|
lda #<$29
|
|
ldy #>$29
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:660 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:662 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:663 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:665 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:666 lbl8b: fail_uword(42,30464)
|
|
p8l_lbl8b
|
|
lda #<$2a
|
|
ldy #>$2a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:667 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:669 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_72_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:670 fail_uword(43,30464)
|
|
lda #<$2b
|
|
ldy #>$2b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_72_afterif
|
|
; source: test_uword_equalities.p8:673 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_74_else
|
|
+
|
|
; source: test_uword_equalities.p8:674 fail_uword(44,30464)
|
|
lda #<$2c
|
|
ldy #>$2c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_73_afterif
|
|
label_asm_74_else
|
|
; source: test_uword_equalities.p8:676 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_73_afterif
|
|
; source: test_uword_equalities.p8:679 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne p8l_lbl9a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
bne p8l_lbl9a
|
|
; source: test_uword_equalities.p8:681 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:682 lbl9a: success++
|
|
p8l_lbl9a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:683 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:685 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:686 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:688 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:689 lbl9b: success++
|
|
p8l_lbl9b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:690 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:692 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_75_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:693 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_75_afterif
|
|
; source: test_uword_equalities.p8:696 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_77_else
|
|
+
|
|
; source: test_uword_equalities.p8:697 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_76_afterif
|
|
label_asm_77_else
|
|
; source: test_uword_equalities.p8:699 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_76_afterif
|
|
; source: test_uword_equalities.p8:701 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:703 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne p8l_lbl10a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
bne p8l_lbl10a
|
|
; source: test_uword_equalities.p8:705 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:706 lbl10a: success++
|
|
p8l_lbl10a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:707 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:709 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:710 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:712 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:713 lbl10b: success++
|
|
p8l_lbl10b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:714 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:716 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_78_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:717 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_78_afterif
|
|
; source: test_uword_equalities.p8:720 if x!=1
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<1
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>1
|
|
beq label_asm_80_else
|
|
+
|
|
; source: test_uword_equalities.p8:721 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_79_afterif
|
|
label_asm_80_else
|
|
; source: test_uword_equalities.p8:723 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_79_afterif
|
|
; source: test_uword_equalities.p8:726 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne p8l_lbl11a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
bne p8l_lbl11a
|
|
; source: test_uword_equalities.p8:728 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:729 lbl11a: success++
|
|
p8l_lbl11a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:730 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:732 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:733 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:735 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:736 lbl11b: success++
|
|
p8l_lbl11b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:737 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:739 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_81_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:740 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_81_afterif
|
|
; source: test_uword_equalities.p8:743 if x!=30464
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<30464
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>30464
|
|
beq label_asm_83_else
|
|
+
|
|
; source: test_uword_equalities.p8:744 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_82_afterif
|
|
label_asm_83_else
|
|
; source: test_uword_equalities.p8:746 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_82_afterif
|
|
; source: test_uword_equalities.p8:749 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne p8l_lbl12a
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
bne p8l_lbl12a
|
|
; source: test_uword_equalities.p8:751 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:752 lbl12a: fail_uword(45,65535)
|
|
p8l_lbl12a
|
|
lda #<$2d
|
|
ldy #>$2d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:753 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:755 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:756 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:758 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:759 lbl12b: fail_uword(46,65535)
|
|
p8l_lbl12b
|
|
lda #<$2e
|
|
ldy #>$2e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:760 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:762 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_84_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:763 fail_uword(47,65535)
|
|
lda #<$2f
|
|
ldy #>$2f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_84_afterif
|
|
; source: test_uword_equalities.p8:766 if x!=65535
|
|
lda p8b_main.p8s_test_not_number.p8v_x
|
|
cmp #<65535
|
|
bne +
|
|
lda p8b_main.p8s_test_not_number.p8v_x+1
|
|
cmp #>65535
|
|
beq label_asm_86_else
|
|
+
|
|
; source: test_uword_equalities.p8:767 fail_uword(48,65535)
|
|
lda #<$30
|
|
ldy #>$30
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_85_afterif
|
|
label_asm_86_else
|
|
; source: test_uword_equalities.p8:769 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_85_afterif
|
|
; source: test_uword_equalities.p8:771 verify_success(36)
|
|
lda #$24
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:488 sub test_not_number() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:773 sub test_is_var() {
|
|
|
|
p8s_test_is_var .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:774 uword @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_uword_equalities.p8:775 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:776 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:777 value=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:779 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl1a
|
|
+
|
|
; source: test_uword_equalities.p8:781 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:782 lbl1a: fail_uword(49,0)
|
|
p8l_lbl1a
|
|
lda #<$31
|
|
ldy #>$31
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:783 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:785 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:786 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:788 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:789 lbl1b: fail_uword(50,0)
|
|
p8l_lbl1b
|
|
lda #<$32
|
|
ldy #>$32
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:790 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:792 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_87_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_87_afterif
|
|
; source: test_uword_equalities.p8:793 fail_uword(51,0)
|
|
lda #<$33
|
|
ldy #>$33
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_87_afterif
|
|
; source: test_uword_equalities.p8:796 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_89_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_89_else
|
|
; source: test_uword_equalities.p8:797 fail_uword(52,0)
|
|
lda #<$34
|
|
ldy #>$34
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_88_afterif
|
|
label_asm_89_else
|
|
; source: test_uword_equalities.p8:799 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_88_afterif
|
|
; source: test_uword_equalities.p8:801 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:803 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl2a
|
|
+
|
|
; source: test_uword_equalities.p8:805 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:806 lbl2a: fail_uword(53,0)
|
|
p8l_lbl2a
|
|
lda #<$35
|
|
ldy #>$35
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:807 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:809 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:810 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:812 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:813 lbl2b: fail_uword(54,0)
|
|
p8l_lbl2b
|
|
lda #<$36
|
|
ldy #>$36
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:814 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:816 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_90_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_90_afterif
|
|
; source: test_uword_equalities.p8:817 fail_uword(55,0)
|
|
lda #<$37
|
|
ldy #>$37
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_90_afterif
|
|
; source: test_uword_equalities.p8:820 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_92_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_92_else
|
|
; source: test_uword_equalities.p8:821 fail_uword(56,0)
|
|
lda #<$38
|
|
ldy #>$38
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_91_afterif
|
|
label_asm_92_else
|
|
; source: test_uword_equalities.p8:823 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_91_afterif
|
|
; source: test_uword_equalities.p8:825 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:827 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl3a
|
|
+
|
|
; source: test_uword_equalities.p8:829 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:830 lbl3a: fail_uword(57,0)
|
|
p8l_lbl3a
|
|
lda #<$39
|
|
ldy #>$39
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:831 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:833 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:834 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:836 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:837 lbl3b: fail_uword(58,0)
|
|
p8l_lbl3b
|
|
lda #<$3a
|
|
ldy #>$3a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:838 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:840 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_93_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_93_afterif
|
|
; source: test_uword_equalities.p8:841 fail_uword(59,0)
|
|
lda #<$3b
|
|
ldy #>$3b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_93_afterif
|
|
; source: test_uword_equalities.p8:844 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_95_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_95_else
|
|
; source: test_uword_equalities.p8:845 fail_uword(60,0)
|
|
lda #<$3c
|
|
ldy #>$3c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_94_afterif
|
|
label_asm_95_else
|
|
; source: test_uword_equalities.p8:847 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_94_afterif
|
|
; source: test_uword_equalities.p8:849 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:850 value=1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:852 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl4a
|
|
+
|
|
; source: test_uword_equalities.p8:854 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:855 lbl4a: success++
|
|
p8l_lbl4a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:856 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:858 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:859 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:861 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:862 lbl4b: success++
|
|
p8l_lbl4b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:863 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:865 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_96_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_96_afterif
|
|
; source: test_uword_equalities.p8:866 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_96_afterif
|
|
; source: test_uword_equalities.p8:869 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_98_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_98_else
|
|
; source: test_uword_equalities.p8:870 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_97_afterif
|
|
label_asm_98_else
|
|
; source: test_uword_equalities.p8:872 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_97_afterif
|
|
; source: test_uword_equalities.p8:874 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:876 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl5a
|
|
+
|
|
; source: test_uword_equalities.p8:878 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:879 lbl5a: fail_uword(61,1)
|
|
p8l_lbl5a
|
|
lda #<$3d
|
|
ldy #>$3d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:880 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:882 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:883 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:885 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:886 lbl5b: fail_uword(62,1)
|
|
p8l_lbl5b
|
|
lda #<$3e
|
|
ldy #>$3e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:887 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:889 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_99_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_99_afterif
|
|
; source: test_uword_equalities.p8:890 fail_uword(63,1)
|
|
lda #<$3f
|
|
ldy #>$3f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_99_afterif
|
|
; source: test_uword_equalities.p8:893 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_101_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_101_else
|
|
; source: test_uword_equalities.p8:894 fail_uword(64,1)
|
|
lda #<$40
|
|
ldy #>$40
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_100_afterif
|
|
label_asm_101_else
|
|
; source: test_uword_equalities.p8:896 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_100_afterif
|
|
; source: test_uword_equalities.p8:898 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:900 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl6a
|
|
+
|
|
; source: test_uword_equalities.p8:902 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:903 lbl6a: fail_uword(65,1)
|
|
p8l_lbl6a
|
|
lda #<$41
|
|
ldy #>$41
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:904 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:906 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:907 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:909 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:910 lbl6b: fail_uword(66,1)
|
|
p8l_lbl6b
|
|
lda #<$42
|
|
ldy #>$42
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:911 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:913 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_102_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_102_afterif
|
|
; source: test_uword_equalities.p8:914 fail_uword(67,1)
|
|
lda #<$43
|
|
ldy #>$43
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_102_afterif
|
|
; source: test_uword_equalities.p8:917 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_104_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_104_else
|
|
; source: test_uword_equalities.p8:918 fail_uword(68,1)
|
|
lda #<$44
|
|
ldy #>$44
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_103_afterif
|
|
label_asm_104_else
|
|
; source: test_uword_equalities.p8:920 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_103_afterif
|
|
; source: test_uword_equalities.p8:922 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:923 value=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:925 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl7a
|
|
+
|
|
; source: test_uword_equalities.p8:927 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:928 lbl7a: fail_uword(69,30464)
|
|
p8l_lbl7a
|
|
lda #<$45
|
|
ldy #>$45
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:929 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:931 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:932 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:934 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:935 lbl7b: fail_uword(70,30464)
|
|
p8l_lbl7b
|
|
lda #<$46
|
|
ldy #>$46
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:936 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:938 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_105_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_105_afterif
|
|
; source: test_uword_equalities.p8:939 fail_uword(71,30464)
|
|
lda #<$47
|
|
ldy #>$47
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_105_afterif
|
|
; source: test_uword_equalities.p8:942 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_107_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_107_else
|
|
; source: test_uword_equalities.p8:943 fail_uword(72,30464)
|
|
lda #<$48
|
|
ldy #>$48
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_106_afterif
|
|
label_asm_107_else
|
|
; source: test_uword_equalities.p8:945 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_106_afterif
|
|
; source: test_uword_equalities.p8:947 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:949 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl8a
|
|
+
|
|
; source: test_uword_equalities.p8:951 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:952 lbl8a: success++
|
|
p8l_lbl8a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:953 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:955 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:956 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:958 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:959 lbl8b: success++
|
|
p8l_lbl8b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:960 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:962 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_108_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_108_afterif
|
|
; source: test_uword_equalities.p8:963 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_108_afterif
|
|
; source: test_uword_equalities.p8:966 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_110_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_110_else
|
|
; source: test_uword_equalities.p8:967 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_109_afterif
|
|
label_asm_110_else
|
|
; source: test_uword_equalities.p8:969 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_109_afterif
|
|
; source: test_uword_equalities.p8:971 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:973 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl9a
|
|
+
|
|
; source: test_uword_equalities.p8:975 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:976 lbl9a: fail_uword(73,30464)
|
|
p8l_lbl9a
|
|
lda #<$49
|
|
ldy #>$49
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:977 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:979 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:980 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:982 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:983 lbl9b: fail_uword(74,30464)
|
|
p8l_lbl9b
|
|
lda #<$4a
|
|
ldy #>$4a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:984 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:986 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_111_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_111_afterif
|
|
; source: test_uword_equalities.p8:987 fail_uword(75,30464)
|
|
lda #<$4b
|
|
ldy #>$4b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_111_afterif
|
|
; source: test_uword_equalities.p8:990 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_113_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_113_else
|
|
; source: test_uword_equalities.p8:991 fail_uword(76,30464)
|
|
lda #<$4c
|
|
ldy #>$4c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_112_afterif
|
|
label_asm_113_else
|
|
; source: test_uword_equalities.p8:993 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_112_afterif
|
|
; source: test_uword_equalities.p8:995 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:996 value=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:998 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl10a
|
|
+
|
|
; source: test_uword_equalities.p8:1000 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:1001 lbl10a: fail_uword(77,65535)
|
|
p8l_lbl10a
|
|
lda #<$4d
|
|
ldy #>$4d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1002 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:1004 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1005 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1007 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:1008 lbl10b: fail_uword(78,65535)
|
|
p8l_lbl10b
|
|
lda #<$4e
|
|
ldy #>$4e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1009 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:1011 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_114_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_114_afterif
|
|
; source: test_uword_equalities.p8:1012 fail_uword(79,65535)
|
|
lda #<$4f
|
|
ldy #>$4f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_114_afterif
|
|
; source: test_uword_equalities.p8:1015 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_116_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_116_else
|
|
; source: test_uword_equalities.p8:1016 fail_uword(80,65535)
|
|
lda #<$50
|
|
ldy #>$50
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_115_afterif
|
|
label_asm_116_else
|
|
; source: test_uword_equalities.p8:1018 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_115_afterif
|
|
; source: test_uword_equalities.p8:1020 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1022 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl11a
|
|
+
|
|
; source: test_uword_equalities.p8:1024 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:1025 lbl11a: fail_uword(81,65535)
|
|
p8l_lbl11a
|
|
lda #<$51
|
|
ldy #>$51
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1026 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:1028 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1029 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1031 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:1032 lbl11b: fail_uword(82,65535)
|
|
p8l_lbl11b
|
|
lda #<$52
|
|
ldy #>$52
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1033 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:1035 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_117_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_117_afterif
|
|
; source: test_uword_equalities.p8:1036 fail_uword(83,65535)
|
|
lda #<$53
|
|
ldy #>$53
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_117_afterif
|
|
; source: test_uword_equalities.p8:1039 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_119_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_119_else
|
|
; source: test_uword_equalities.p8:1040 fail_uword(84,65535)
|
|
lda #<$54
|
|
ldy #>$54
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_118_afterif
|
|
label_asm_119_else
|
|
; source: test_uword_equalities.p8:1042 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_118_afterif
|
|
; source: test_uword_equalities.p8:1044 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1046 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
beq p8l_lbl12a
|
|
+
|
|
; source: test_uword_equalities.p8:1048 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:1049 lbl12a: success++
|
|
p8l_lbl12a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1050 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:1052 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1053 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1055 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:1056 lbl12b: success++
|
|
p8l_lbl12b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1057 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:1059 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_120_afterif
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_120_afterif
|
|
; source: test_uword_equalities.p8:1060 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_120_afterif
|
|
; source: test_uword_equalities.p8:1063 if x==value
|
|
lda p8b_main.p8s_test_is_var.p8v_x
|
|
cmp p8b_main.p8s_test_is_var.p8v_value
|
|
bne label_asm_122_else
|
|
lda p8b_main.p8s_test_is_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_is_var.p8v_value+1
|
|
bne label_asm_122_else
|
|
; source: test_uword_equalities.p8:1064 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_121_afterif
|
|
label_asm_122_else
|
|
; source: test_uword_equalities.p8:1066 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_121_afterif
|
|
; source: test_uword_equalities.p8:1068 verify_success(12)
|
|
lda #12
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:773 sub test_is_var() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_value .word ?
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:1070 sub test_not_var() {
|
|
|
|
p8s_test_not_var .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:1071 uword @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_uword_equalities.p8:1072 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1073 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1074 value=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1076 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl1a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl1a
|
|
; source: test_uword_equalities.p8:1078 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:1079 lbl1a: success++
|
|
p8l_lbl1a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1080 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:1082 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1083 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1085 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:1086 lbl1b: success++
|
|
p8l_lbl1b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1087 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:1089 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_123_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1090 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_123_afterif
|
|
; source: test_uword_equalities.p8:1093 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_125_else
|
|
+
|
|
; source: test_uword_equalities.p8:1094 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_124_afterif
|
|
label_asm_125_else
|
|
; source: test_uword_equalities.p8:1096 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_124_afterif
|
|
; source: test_uword_equalities.p8:1098 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1100 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl2a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl2a
|
|
; source: test_uword_equalities.p8:1102 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:1103 lbl2a: success++
|
|
p8l_lbl2a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1104 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:1106 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1107 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1109 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:1110 lbl2b: success++
|
|
p8l_lbl2b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1111 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:1113 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_126_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1114 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_126_afterif
|
|
; source: test_uword_equalities.p8:1117 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_128_else
|
|
+
|
|
; source: test_uword_equalities.p8:1118 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_127_afterif
|
|
label_asm_128_else
|
|
; source: test_uword_equalities.p8:1120 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_127_afterif
|
|
; source: test_uword_equalities.p8:1122 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1124 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl3a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl3a
|
|
; source: test_uword_equalities.p8:1126 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:1127 lbl3a: success++
|
|
p8l_lbl3a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1128 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:1130 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1131 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1133 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:1134 lbl3b: success++
|
|
p8l_lbl3b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1135 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:1137 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_129_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1138 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_129_afterif
|
|
; source: test_uword_equalities.p8:1141 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_131_else
|
|
+
|
|
; source: test_uword_equalities.p8:1142 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_130_afterif
|
|
label_asm_131_else
|
|
; source: test_uword_equalities.p8:1144 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_130_afterif
|
|
; source: test_uword_equalities.p8:1146 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1147 value=1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1149 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl4a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl4a
|
|
; source: test_uword_equalities.p8:1151 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:1152 lbl4a: fail_uword(85,1)
|
|
p8l_lbl4a
|
|
lda #<$55
|
|
ldy #>$55
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1153 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:1155 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1156 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1158 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:1159 lbl4b: fail_uword(86,1)
|
|
p8l_lbl4b
|
|
lda #<$56
|
|
ldy #>$56
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1160 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:1162 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_132_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1163 fail_uword(87,1)
|
|
lda #<$57
|
|
ldy #>$57
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_132_afterif
|
|
; source: test_uword_equalities.p8:1166 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_134_else
|
|
+
|
|
; source: test_uword_equalities.p8:1167 fail_uword(88,1)
|
|
lda #<$58
|
|
ldy #>$58
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_133_afterif
|
|
label_asm_134_else
|
|
; source: test_uword_equalities.p8:1169 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_133_afterif
|
|
; source: test_uword_equalities.p8:1171 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1173 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl5a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl5a
|
|
; source: test_uword_equalities.p8:1175 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:1176 lbl5a: success++
|
|
p8l_lbl5a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1177 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:1179 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1180 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1182 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:1183 lbl5b: success++
|
|
p8l_lbl5b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1184 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:1186 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_135_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1187 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_135_afterif
|
|
; source: test_uword_equalities.p8:1190 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_137_else
|
|
+
|
|
; source: test_uword_equalities.p8:1191 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_136_afterif
|
|
label_asm_137_else
|
|
; source: test_uword_equalities.p8:1193 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_136_afterif
|
|
; source: test_uword_equalities.p8:1195 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1197 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl6a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl6a
|
|
; source: test_uword_equalities.p8:1199 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:1200 lbl6a: success++
|
|
p8l_lbl6a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1201 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:1203 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1204 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1206 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:1207 lbl6b: success++
|
|
p8l_lbl6b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1208 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:1210 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_138_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1211 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_138_afterif
|
|
; source: test_uword_equalities.p8:1214 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_140_else
|
|
+
|
|
; source: test_uword_equalities.p8:1215 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_139_afterif
|
|
label_asm_140_else
|
|
; source: test_uword_equalities.p8:1217 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_139_afterif
|
|
; source: test_uword_equalities.p8:1219 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1220 value=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1222 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl7a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl7a
|
|
; source: test_uword_equalities.p8:1224 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:1225 lbl7a: success++
|
|
p8l_lbl7a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1226 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:1228 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1229 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1231 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:1232 lbl7b: success++
|
|
p8l_lbl7b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1233 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:1235 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_141_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1236 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_141_afterif
|
|
; source: test_uword_equalities.p8:1239 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_143_else
|
|
+
|
|
; source: test_uword_equalities.p8:1240 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_142_afterif
|
|
label_asm_143_else
|
|
; source: test_uword_equalities.p8:1242 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_142_afterif
|
|
; source: test_uword_equalities.p8:1244 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1246 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl8a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl8a
|
|
; source: test_uword_equalities.p8:1248 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:1249 lbl8a: fail_uword(89,30464)
|
|
p8l_lbl8a
|
|
lda #<$59
|
|
ldy #>$59
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1250 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:1252 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1253 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1255 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:1256 lbl8b: fail_uword(90,30464)
|
|
p8l_lbl8b
|
|
lda #<$5a
|
|
ldy #>$5a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1257 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:1259 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_144_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1260 fail_uword(91,30464)
|
|
lda #<$5b
|
|
ldy #>$5b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_144_afterif
|
|
; source: test_uword_equalities.p8:1263 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_146_else
|
|
+
|
|
; source: test_uword_equalities.p8:1264 fail_uword(92,30464)
|
|
lda #<$5c
|
|
ldy #>$5c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_145_afterif
|
|
label_asm_146_else
|
|
; source: test_uword_equalities.p8:1266 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_145_afterif
|
|
; source: test_uword_equalities.p8:1268 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1270 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl9a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl9a
|
|
; source: test_uword_equalities.p8:1272 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:1273 lbl9a: success++
|
|
p8l_lbl9a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1274 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:1276 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1277 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1279 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:1280 lbl9b: success++
|
|
p8l_lbl9b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1281 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:1283 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_147_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1284 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_147_afterif
|
|
; source: test_uword_equalities.p8:1287 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_149_else
|
|
+
|
|
; source: test_uword_equalities.p8:1288 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_148_afterif
|
|
label_asm_149_else
|
|
; source: test_uword_equalities.p8:1290 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_148_afterif
|
|
; source: test_uword_equalities.p8:1292 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1293 value=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1295 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl10a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl10a
|
|
; source: test_uword_equalities.p8:1297 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:1298 lbl10a: success++
|
|
p8l_lbl10a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1299 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:1301 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1302 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1304 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:1305 lbl10b: success++
|
|
p8l_lbl10b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1306 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:1308 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_150_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1309 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_150_afterif
|
|
; source: test_uword_equalities.p8:1312 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_152_else
|
|
+
|
|
; source: test_uword_equalities.p8:1313 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_151_afterif
|
|
label_asm_152_else
|
|
; source: test_uword_equalities.p8:1315 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_151_afterif
|
|
; source: test_uword_equalities.p8:1317 value=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_value
|
|
sty p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1319 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl11a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl11a
|
|
; source: test_uword_equalities.p8:1321 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:1322 lbl11a: success++
|
|
p8l_lbl11a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1323 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:1325 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1326 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1328 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:1329 lbl11b: success++
|
|
p8l_lbl11b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1330 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:1332 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_153_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1333 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_153_afterif
|
|
; source: test_uword_equalities.p8:1336 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_155_else
|
|
+
|
|
; source: test_uword_equalities.p8:1337 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_154_afterif
|
|
label_asm_155_else
|
|
; source: test_uword_equalities.p8:1339 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_154_afterif
|
|
; source: test_uword_equalities.p8:1341 value=65535
|
|
lda #$ff
|
|
sta p8v_value
|
|
sta p8v_value+1
|
|
|
|
; source: test_uword_equalities.p8:1343 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne p8l_lbl12a
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
bne p8l_lbl12a
|
|
; source: test_uword_equalities.p8:1345 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:1346 lbl12a: fail_uword(93,65535)
|
|
p8l_lbl12a
|
|
lda #<$5d
|
|
ldy #>$5d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1347 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:1349 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1350 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1352 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:1353 lbl12b: fail_uword(94,65535)
|
|
p8l_lbl12b
|
|
lda #<$5e
|
|
ldy #>$5e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1354 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:1356 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_156_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1357 fail_uword(95,65535)
|
|
lda #<$5f
|
|
ldy #>$5f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_156_afterif
|
|
; source: test_uword_equalities.p8:1360 if x!=value
|
|
lda p8b_main.p8s_test_not_var.p8v_x
|
|
cmp p8b_main.p8s_test_not_var.p8v_value
|
|
bne +
|
|
lda p8b_main.p8s_test_not_var.p8v_x+1
|
|
cmp p8b_main.p8s_test_not_var.p8v_value+1
|
|
beq label_asm_158_else
|
|
+
|
|
; source: test_uword_equalities.p8:1361 fail_uword(96,65535)
|
|
lda #<$60
|
|
ldy #>$60
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_157_afterif
|
|
label_asm_158_else
|
|
; source: test_uword_equalities.p8:1363 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_157_afterif
|
|
; source: test_uword_equalities.p8:1365 verify_success(36)
|
|
lda #$24
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:1070 sub test_not_var() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_value .word ?
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:1367 sub test_is_expr() {
|
|
|
|
p8s_test_is_expr .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:1368 uword @shared x
|
|
; source: test_uword_equalities.p8:1371 float @shared f4 = 1.0
|
|
; source: test_uword_equalities.p8:1372 float @shared f5 = 1.0
|
|
; source: test_uword_equalities.p8:1368 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1369 cx16.r4 = 1
|
|
lda #<1
|
|
ldy #>1
|
|
sta cx16.r4
|
|
sty cx16.r4+1
|
|
|
|
; source: test_uword_equalities.p8:1370 cx16.r5 = 1
|
|
sta cx16.r5
|
|
sty cx16.r5+1
|
|
|
|
; source: test_uword_equalities.p8:1371 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_uword_equalities.p8:1372 float @shared f5 = 1.0
|
|
lda #<p8v_f5
|
|
ldy #>p8v_f5
|
|
jsr floats.copy_float
|
|
; source: test_uword_equalities.p8:1373 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1374 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1376 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl1a
|
|
+
|
|
; source: test_uword_equalities.p8:1378 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:1379 lbl1a: fail_uword(97,0)
|
|
p8l_lbl1a
|
|
lda #<$61
|
|
ldy #>$61
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1380 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:1382 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1383 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1385 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:1386 lbl1b: fail_uword(98,0)
|
|
p8l_lbl1b
|
|
lda #<$62
|
|
ldy #>$62
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1387 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:1389 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_159_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_159_afterif
|
|
; source: test_uword_equalities.p8:1390 fail_uword(99,0)
|
|
lda #<$63
|
|
ldy #>$63
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_159_afterif
|
|
; source: test_uword_equalities.p8:1393 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_161_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_161_else
|
|
; source: test_uword_equalities.p8:1394 fail_uword(100,0)
|
|
lda #<$64
|
|
ldy #>$64
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_160_afterif
|
|
label_asm_161_else
|
|
; source: test_uword_equalities.p8:1396 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_160_afterif
|
|
; source: test_uword_equalities.p8:1399 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl2a
|
|
+
|
|
; source: test_uword_equalities.p8:1401 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:1402 lbl2a: fail_uword(101,0)
|
|
p8l_lbl2a
|
|
lda #<$65
|
|
ldy #>$65
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1403 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:1405 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1406 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1408 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:1409 lbl2b: fail_uword(102,0)
|
|
p8l_lbl2b
|
|
lda #<$66
|
|
ldy #>$66
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1410 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:1412 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_162_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_162_afterif
|
|
; source: test_uword_equalities.p8:1413 fail_uword(103,0)
|
|
lda #<$67
|
|
ldy #>$67
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_162_afterif
|
|
; source: test_uword_equalities.p8:1416 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_164_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_164_else
|
|
; source: test_uword_equalities.p8:1417 fail_uword(104,0)
|
|
lda #<$68
|
|
ldy #>$68
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_163_afterif
|
|
label_asm_164_else
|
|
; source: test_uword_equalities.p8:1419 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_163_afterif
|
|
; source: test_uword_equalities.p8:1422 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl3a
|
|
+
|
|
; source: test_uword_equalities.p8:1424 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:1425 lbl3a: fail_uword(105,0)
|
|
p8l_lbl3a
|
|
lda #<$69
|
|
ldy #>$69
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1426 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:1428 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1429 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1431 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:1432 lbl3b: fail_uword(106,0)
|
|
p8l_lbl3b
|
|
lda #<$6a
|
|
ldy #>$6a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1433 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:1435 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_165_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_165_afterif
|
|
; source: test_uword_equalities.p8:1436 fail_uword(107,0)
|
|
lda #<$6b
|
|
ldy #>$6b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_165_afterif
|
|
; source: test_uword_equalities.p8:1439 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_167_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_167_else
|
|
; source: test_uword_equalities.p8:1440 fail_uword(108,0)
|
|
lda #<$6c
|
|
ldy #>$6c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_166_afterif
|
|
label_asm_167_else
|
|
; source: test_uword_equalities.p8:1442 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_166_afterif
|
|
; source: test_uword_equalities.p8:1444 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1446 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl4a
|
|
+
|
|
; source: test_uword_equalities.p8:1448 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:1449 lbl4a: success++
|
|
p8l_lbl4a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1450 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:1452 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1453 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1455 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:1456 lbl4b: success++
|
|
p8l_lbl4b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1457 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:1459 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_168_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_168_afterif
|
|
; source: test_uword_equalities.p8:1460 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_168_afterif
|
|
; source: test_uword_equalities.p8:1463 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_170_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_170_else
|
|
; source: test_uword_equalities.p8:1464 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_169_afterif
|
|
label_asm_170_else
|
|
; source: test_uword_equalities.p8:1466 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_169_afterif
|
|
; source: test_uword_equalities.p8:1469 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl5a
|
|
+
|
|
; source: test_uword_equalities.p8:1471 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:1472 lbl5a: fail_uword(109,1)
|
|
p8l_lbl5a
|
|
lda #<$6d
|
|
ldy #>$6d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1473 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:1475 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1476 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1478 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:1479 lbl5b: fail_uword(110,1)
|
|
p8l_lbl5b
|
|
lda #<$6e
|
|
ldy #>$6e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1480 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:1482 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_171_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_171_afterif
|
|
; source: test_uword_equalities.p8:1483 fail_uword(111,1)
|
|
lda #<$6f
|
|
ldy #>$6f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_171_afterif
|
|
; source: test_uword_equalities.p8:1486 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_173_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_173_else
|
|
; source: test_uword_equalities.p8:1487 fail_uword(112,1)
|
|
lda #<$70
|
|
ldy #>$70
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_172_afterif
|
|
label_asm_173_else
|
|
; source: test_uword_equalities.p8:1489 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_172_afterif
|
|
; source: test_uword_equalities.p8:1492 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl6a
|
|
+
|
|
; source: test_uword_equalities.p8:1494 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:1495 lbl6a: fail_uword(113,1)
|
|
p8l_lbl6a
|
|
lda #<$71
|
|
ldy #>$71
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1496 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:1498 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1499 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1501 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:1502 lbl6b: fail_uword(114,1)
|
|
p8l_lbl6b
|
|
lda #<$72
|
|
ldy #>$72
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1503 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:1505 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_174_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_174_afterif
|
|
; source: test_uword_equalities.p8:1506 fail_uword(115,1)
|
|
lda #<$73
|
|
ldy #>$73
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_174_afterif
|
|
; source: test_uword_equalities.p8:1509 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_176_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_176_else
|
|
; source: test_uword_equalities.p8:1510 fail_uword(116,1)
|
|
lda #<$74
|
|
ldy #>$74
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_175_afterif
|
|
label_asm_176_else
|
|
; source: test_uword_equalities.p8:1512 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_175_afterif
|
|
; source: test_uword_equalities.p8:1514 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1516 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl7a
|
|
+
|
|
; source: test_uword_equalities.p8:1518 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:1519 lbl7a: fail_uword(117,30464)
|
|
p8l_lbl7a
|
|
lda #<$75
|
|
ldy #>$75
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1520 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:1522 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1523 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1525 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:1526 lbl7b: fail_uword(118,30464)
|
|
p8l_lbl7b
|
|
lda #<$76
|
|
ldy #>$76
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1527 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:1529 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_177_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_177_afterif
|
|
; source: test_uword_equalities.p8:1530 fail_uword(119,30464)
|
|
lda #<$77
|
|
ldy #>$77
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_177_afterif
|
|
; source: test_uword_equalities.p8:1533 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_179_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_179_else
|
|
; source: test_uword_equalities.p8:1534 fail_uword(120,30464)
|
|
lda #<$78
|
|
ldy #>$78
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_178_afterif
|
|
label_asm_179_else
|
|
; source: test_uword_equalities.p8:1536 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_178_afterif
|
|
; source: test_uword_equalities.p8:1539 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl8a
|
|
+
|
|
; source: test_uword_equalities.p8:1541 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:1542 lbl8a: success++
|
|
p8l_lbl8a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1543 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:1545 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1546 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1548 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:1549 lbl8b: success++
|
|
p8l_lbl8b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1550 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:1552 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_180_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_180_afterif
|
|
; source: test_uword_equalities.p8:1553 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_180_afterif
|
|
; source: test_uword_equalities.p8:1556 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_182_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_182_else
|
|
; source: test_uword_equalities.p8:1557 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_181_afterif
|
|
label_asm_182_else
|
|
; source: test_uword_equalities.p8:1559 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_181_afterif
|
|
; source: test_uword_equalities.p8:1562 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl9a
|
|
+
|
|
; source: test_uword_equalities.p8:1564 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:1565 lbl9a: fail_uword(121,30464)
|
|
p8l_lbl9a
|
|
lda #<$79
|
|
ldy #>$79
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1566 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:1568 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1569 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1571 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:1572 lbl9b: fail_uword(122,30464)
|
|
p8l_lbl9b
|
|
lda #<$7a
|
|
ldy #>$7a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1573 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:1575 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_183_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_183_afterif
|
|
; source: test_uword_equalities.p8:1576 fail_uword(123,30464)
|
|
lda #<$7b
|
|
ldy #>$7b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_183_afterif
|
|
; source: test_uword_equalities.p8:1579 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_185_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_185_else
|
|
; source: test_uword_equalities.p8:1580 fail_uword(124,30464)
|
|
lda #<$7c
|
|
ldy #>$7c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_184_afterif
|
|
label_asm_185_else
|
|
; source: test_uword_equalities.p8:1582 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_184_afterif
|
|
; source: test_uword_equalities.p8:1584 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1586 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl10a
|
|
+
|
|
; source: test_uword_equalities.p8:1588 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:1589 lbl10a: fail_uword(125,65535)
|
|
p8l_lbl10a
|
|
lda #<$7d
|
|
ldy #>$7d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1590 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:1592 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1593 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1595 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:1596 lbl10b: fail_uword(126,65535)
|
|
p8l_lbl10b
|
|
lda #<$7e
|
|
ldy #>$7e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1597 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:1599 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_186_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_186_afterif
|
|
; source: test_uword_equalities.p8:1600 fail_uword(127,65535)
|
|
lda #<$7f
|
|
ldy #>$7f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_186_afterif
|
|
; source: test_uword_equalities.p8:1603 if x==cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_188_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_188_else
|
|
; source: test_uword_equalities.p8:1604 fail_uword(128,65535)
|
|
lda #<$80
|
|
ldy #>$80
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_187_afterif
|
|
label_asm_188_else
|
|
; source: test_uword_equalities.p8:1606 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_187_afterif
|
|
; source: test_uword_equalities.p8:1609 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl11a
|
|
+
|
|
; source: test_uword_equalities.p8:1611 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:1612 lbl11a: fail_uword(129,65535)
|
|
p8l_lbl11a
|
|
lda #<$81
|
|
ldy #>$81
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1613 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:1615 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1616 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1618 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:1619 lbl11b: fail_uword(130,65535)
|
|
p8l_lbl11b
|
|
lda #<$82
|
|
ldy #>$82
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1620 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:1622 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_189_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_189_afterif
|
|
; source: test_uword_equalities.p8:1623 fail_uword(131,65535)
|
|
lda #<$83
|
|
ldy #>$83
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_189_afterif
|
|
; source: test_uword_equalities.p8:1626 if x==cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_191_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_191_else
|
|
; source: test_uword_equalities.p8:1627 fail_uword(132,65535)
|
|
lda #<$84
|
|
ldy #>$84
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_190_afterif
|
|
label_asm_191_else
|
|
; source: test_uword_equalities.p8:1629 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_190_afterif
|
|
; source: test_uword_equalities.p8:1632 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
beq p8l_lbl12a
|
|
+
|
|
; source: test_uword_equalities.p8:1634 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:1635 lbl12a: success++
|
|
p8l_lbl12a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1636 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:1638 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1639 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1641 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:1642 lbl12b: success++
|
|
p8l_lbl12b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1643 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:1645 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_192_afterif
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_192_afterif
|
|
; source: test_uword_equalities.p8:1646 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_192_afterif
|
|
; source: test_uword_equalities.p8:1649 if x==cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_is_expr.p8v_x
|
|
bne label_asm_194_else
|
|
cpy p8b_main.p8s_test_is_expr.p8v_x+1
|
|
bne label_asm_194_else
|
|
; source: test_uword_equalities.p8:1650 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_193_afterif
|
|
label_asm_194_else
|
|
; source: test_uword_equalities.p8:1652 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_193_afterif
|
|
; source: test_uword_equalities.p8:1654 verify_success(12)
|
|
lda #12
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:1367 sub test_is_expr() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_f4 .fill 5
|
|
p8v_f5 .fill 5
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:1656 sub test_not_expr() {
|
|
|
|
p8s_test_not_expr .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:1657 uword @shared x
|
|
; source: test_uword_equalities.p8:1660 float @shared f4 = 1.0
|
|
; source: test_uword_equalities.p8:1661 float @shared f5 = 1.0
|
|
; source: test_uword_equalities.p8:1657 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1658 cx16.r4 = 1
|
|
lda #<1
|
|
ldy #>1
|
|
sta cx16.r4
|
|
sty cx16.r4+1
|
|
|
|
; source: test_uword_equalities.p8:1659 cx16.r5 = 1
|
|
sta cx16.r5
|
|
sty cx16.r5+1
|
|
|
|
; source: test_uword_equalities.p8:1660 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_uword_equalities.p8:1661 float @shared f5 = 1.0
|
|
lda #<p8v_f5
|
|
ldy #>p8v_f5
|
|
jsr floats.copy_float
|
|
; source: test_uword_equalities.p8:1662 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1663 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1665 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl1a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl1a
|
|
; source: test_uword_equalities.p8:1667 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:1668 lbl1a: success++
|
|
p8l_lbl1a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1669 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:1671 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1672 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1674 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:1675 lbl1b: success++
|
|
p8l_lbl1b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1676 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:1678 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_195_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1679 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_195_afterif
|
|
; source: test_uword_equalities.p8:1682 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_197_else
|
|
+
|
|
; source: test_uword_equalities.p8:1683 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_196_afterif
|
|
label_asm_197_else
|
|
; source: test_uword_equalities.p8:1685 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_196_afterif
|
|
; source: test_uword_equalities.p8:1688 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl2a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl2a
|
|
; source: test_uword_equalities.p8:1690 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:1691 lbl2a: success++
|
|
p8l_lbl2a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1692 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:1694 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1695 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1697 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:1698 lbl2b: success++
|
|
p8l_lbl2b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1699 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:1701 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_198_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1702 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_198_afterif
|
|
; source: test_uword_equalities.p8:1705 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_200_else
|
|
+
|
|
; source: test_uword_equalities.p8:1706 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_199_afterif
|
|
label_asm_200_else
|
|
; source: test_uword_equalities.p8:1708 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_199_afterif
|
|
; source: test_uword_equalities.p8:1711 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl3a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl3a
|
|
; source: test_uword_equalities.p8:1713 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:1714 lbl3a: success++
|
|
p8l_lbl3a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1715 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:1717 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1718 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1720 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:1721 lbl3b: success++
|
|
p8l_lbl3b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1722 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:1724 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_201_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1725 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_201_afterif
|
|
; source: test_uword_equalities.p8:1728 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_203_else
|
|
+
|
|
; source: test_uword_equalities.p8:1729 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_202_afterif
|
|
label_asm_203_else
|
|
; source: test_uword_equalities.p8:1731 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_202_afterif
|
|
; source: test_uword_equalities.p8:1733 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1735 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl4a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl4a
|
|
; source: test_uword_equalities.p8:1737 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:1738 lbl4a: fail_uword(133,1)
|
|
p8l_lbl4a
|
|
lda #<$85
|
|
ldy #>$85
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1739 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:1741 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1742 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1744 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:1745 lbl4b: fail_uword(134,1)
|
|
p8l_lbl4b
|
|
lda #<$86
|
|
ldy #>$86
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1746 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:1748 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_204_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1749 fail_uword(135,1)
|
|
lda #<$87
|
|
ldy #>$87
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_204_afterif
|
|
; source: test_uword_equalities.p8:1752 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_206_else
|
|
+
|
|
; source: test_uword_equalities.p8:1753 fail_uword(136,1)
|
|
lda #<$88
|
|
ldy #>$88
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_205_afterif
|
|
label_asm_206_else
|
|
; source: test_uword_equalities.p8:1755 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_205_afterif
|
|
; source: test_uword_equalities.p8:1758 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl5a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl5a
|
|
; source: test_uword_equalities.p8:1760 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:1761 lbl5a: success++
|
|
p8l_lbl5a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1762 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:1764 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1765 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1767 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:1768 lbl5b: success++
|
|
p8l_lbl5b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1769 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:1771 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_207_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1772 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_207_afterif
|
|
; source: test_uword_equalities.p8:1775 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_209_else
|
|
+
|
|
; source: test_uword_equalities.p8:1776 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_208_afterif
|
|
label_asm_209_else
|
|
; source: test_uword_equalities.p8:1778 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_208_afterif
|
|
; source: test_uword_equalities.p8:1781 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl6a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl6a
|
|
; source: test_uword_equalities.p8:1783 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:1784 lbl6a: success++
|
|
p8l_lbl6a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1785 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:1787 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1788 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1790 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:1791 lbl6b: success++
|
|
p8l_lbl6b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1792 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:1794 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_210_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1795 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_210_afterif
|
|
; source: test_uword_equalities.p8:1798 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_212_else
|
|
+
|
|
; source: test_uword_equalities.p8:1799 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_211_afterif
|
|
label_asm_212_else
|
|
; source: test_uword_equalities.p8:1801 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_211_afterif
|
|
; source: test_uword_equalities.p8:1803 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1805 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl7a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl7a
|
|
; source: test_uword_equalities.p8:1807 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:1808 lbl7a: success++
|
|
p8l_lbl7a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1809 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:1811 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1812 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1814 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:1815 lbl7b: success++
|
|
p8l_lbl7b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1816 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:1818 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_213_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1819 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_213_afterif
|
|
; source: test_uword_equalities.p8:1822 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_215_else
|
|
+
|
|
; source: test_uword_equalities.p8:1823 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_214_afterif
|
|
label_asm_215_else
|
|
; source: test_uword_equalities.p8:1825 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_214_afterif
|
|
; source: test_uword_equalities.p8:1828 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl8a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl8a
|
|
; source: test_uword_equalities.p8:1830 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:1831 lbl8a: fail_uword(137,30464)
|
|
p8l_lbl8a
|
|
lda #<$89
|
|
ldy #>$89
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1832 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:1834 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1835 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1837 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:1838 lbl8b: fail_uword(138,30464)
|
|
p8l_lbl8b
|
|
lda #<$8a
|
|
ldy #>$8a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1839 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:1841 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_216_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1842 fail_uword(139,30464)
|
|
lda #<$8b
|
|
ldy #>$8b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_216_afterif
|
|
; source: test_uword_equalities.p8:1845 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_218_else
|
|
+
|
|
; source: test_uword_equalities.p8:1846 fail_uword(140,30464)
|
|
lda #<$8c
|
|
ldy #>$8c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_217_afterif
|
|
label_asm_218_else
|
|
; source: test_uword_equalities.p8:1848 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_217_afterif
|
|
; source: test_uword_equalities.p8:1851 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl9a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl9a
|
|
; source: test_uword_equalities.p8:1853 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:1854 lbl9a: success++
|
|
p8l_lbl9a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1855 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:1857 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1858 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1860 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:1861 lbl9b: success++
|
|
p8l_lbl9b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1862 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:1864 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_219_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1865 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_219_afterif
|
|
; source: test_uword_equalities.p8:1868 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_221_else
|
|
+
|
|
; source: test_uword_equalities.p8:1869 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_220_afterif
|
|
label_asm_221_else
|
|
; source: test_uword_equalities.p8:1871 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_220_afterif
|
|
; source: test_uword_equalities.p8:1873 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:1875 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl10a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl10a
|
|
; source: test_uword_equalities.p8:1877 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:1878 lbl10a: success++
|
|
p8l_lbl10a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1879 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:1881 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1882 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1884 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:1885 lbl10b: success++
|
|
p8l_lbl10b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1886 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:1888 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_222_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1889 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_222_afterif
|
|
; source: test_uword_equalities.p8:1892 if x!=cx16.r4+1-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<1
|
|
tax
|
|
tya
|
|
adc #>1
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_224_else
|
|
+
|
|
; source: test_uword_equalities.p8:1893 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_223_afterif
|
|
label_asm_224_else
|
|
; source: test_uword_equalities.p8:1895 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_223_afterif
|
|
; source: test_uword_equalities.p8:1898 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl11a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl11a
|
|
; source: test_uword_equalities.p8:1900 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:1901 lbl11a: success++
|
|
p8l_lbl11a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1902 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:1904 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1905 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1907 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:1908 lbl11b: success++
|
|
p8l_lbl11b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1909 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:1911 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_225_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1912 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_225_afterif
|
|
; source: test_uword_equalities.p8:1915 if x!=cx16.r4+30464-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$7700
|
|
tax
|
|
tya
|
|
adc #>$7700
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_227_else
|
|
+
|
|
; source: test_uword_equalities.p8:1916 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_226_afterif
|
|
label_asm_227_else
|
|
; source: test_uword_equalities.p8:1918 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_226_afterif
|
|
; source: test_uword_equalities.p8:1921 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne p8l_lbl12a
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
bne p8l_lbl12a
|
|
; source: test_uword_equalities.p8:1923 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:1924 lbl12a: fail_uword(141,65535)
|
|
p8l_lbl12a
|
|
lda #<$8d
|
|
ldy #>$8d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1925 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:1927 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1928 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1930 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:1931 lbl12b: fail_uword(142,65535)
|
|
p8l_lbl12b
|
|
lda #<$8e
|
|
ldy #>$8e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1932 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:1934 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_228_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:1935 fail_uword(143,65535)
|
|
lda #<$8f
|
|
ldy #>$8f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_228_afterif
|
|
; source: test_uword_equalities.p8:1938 if x!=cx16.r4+65535-cx16.r5
|
|
lda cx16.r4
|
|
ldy cx16.r4+1
|
|
clc
|
|
adc #<$ffff
|
|
tax
|
|
tya
|
|
adc #>$ffff
|
|
tay
|
|
txa
|
|
sec
|
|
sbc cx16.r5
|
|
tax
|
|
tya
|
|
sbc cx16.r5+1
|
|
tay
|
|
txa
|
|
cmp p8b_main.p8s_test_not_expr.p8v_x
|
|
bne +
|
|
cpy p8b_main.p8s_test_not_expr.p8v_x+1
|
|
beq label_asm_230_else
|
|
+
|
|
; source: test_uword_equalities.p8:1939 fail_uword(144,65535)
|
|
lda #<$90
|
|
ldy #>$90
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_229_afterif
|
|
label_asm_230_else
|
|
; source: test_uword_equalities.p8:1941 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_229_afterif
|
|
; source: test_uword_equalities.p8:1943 verify_success(36)
|
|
lda #$24
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:1656 sub test_not_expr() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_f4 .fill 5
|
|
p8v_f5 .fill 5
|
|
p8v_x .word ?
|
|
.send BSS
|
|
.pend
|
|
; source: test_uword_equalities.p8:1945 sub test_is_array() {
|
|
|
|
p8s_test_is_array .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:1946 uword @shared x
|
|
; source: test_uword_equalities.p8:1947 uword[] values = [0, 0]
|
|
; source: test_uword_equalities.p8:1948 uword[] sources = [0, 0]
|
|
; source: test_uword_equalities.p8:1946 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1949 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:1950 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:1951 sources[1]=0
|
|
ldy #2
|
|
lda #0
|
|
sta p8v_sources,y
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:1952 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:1954 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl1a
|
|
+
|
|
; source: test_uword_equalities.p8:1956 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:1957 lbl1a: fail_uword(145,0)
|
|
p8l_lbl1a
|
|
lda #<$91
|
|
ldy #>$91
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1958 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:1960 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1961 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1963 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:1964 lbl1b: fail_uword(146,0)
|
|
p8l_lbl1b
|
|
lda #<$92
|
|
ldy #>$92
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1965 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:1967 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_231_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_231_afterif
|
|
; source: test_uword_equalities.p8:1968 fail_uword(147,0)
|
|
lda #<$93
|
|
ldy #>$93
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_231_afterif
|
|
; source: test_uword_equalities.p8:1971 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_233_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_233_else
|
|
; source: test_uword_equalities.p8:1972 fail_uword(148,0)
|
|
lda #<$94
|
|
ldy #>$94
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_232_afterif
|
|
label_asm_233_else
|
|
; source: test_uword_equalities.p8:1974 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_232_afterif
|
|
; source: test_uword_equalities.p8:1977 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl1c
|
|
+
|
|
; source: test_uword_equalities.p8:1979 goto skip1c
|
|
bra p8l_skip1c
|
|
; source: test_uword_equalities.p8:1980 lbl1c: fail_uword(149,0)
|
|
p8l_lbl1c
|
|
lda #<$95
|
|
ldy #>$95
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1981 skip1c:
|
|
p8l_skip1c
|
|
; source: test_uword_equalities.p8:1983 cx16.r3 = &lbl1d
|
|
lda #<p8l_lbl1d
|
|
ldy #>p8l_lbl1d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:1984 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:1986 goto skip1d
|
|
bra p8l_skip1d
|
|
; source: test_uword_equalities.p8:1987 lbl1d: fail_uword(150,0)
|
|
p8l_lbl1d
|
|
lda #<$96
|
|
ldy #>$96
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:1988 skip1d:
|
|
p8l_skip1d
|
|
; source: test_uword_equalities.p8:1990 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_234_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_234_afterif
|
|
; source: test_uword_equalities.p8:1991 fail_uword(151,0)
|
|
lda #<$97
|
|
ldy #>$97
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_234_afterif
|
|
; source: test_uword_equalities.p8:1994 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_236_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_236_else
|
|
; source: test_uword_equalities.p8:1995 fail_uword(152,0)
|
|
lda #<$98
|
|
ldy #>$98
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_235_afterif
|
|
label_asm_236_else
|
|
; source: test_uword_equalities.p8:1997 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_235_afterif
|
|
; source: test_uword_equalities.p8:1999 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2001 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl2a
|
|
+
|
|
; source: test_uword_equalities.p8:2003 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:2004 lbl2a: fail_uword(153,0)
|
|
p8l_lbl2a
|
|
lda #<$99
|
|
ldy #>$99
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2005 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:2007 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2008 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2010 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:2011 lbl2b: fail_uword(154,0)
|
|
p8l_lbl2b
|
|
lda #<$9a
|
|
ldy #>$9a
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2012 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:2014 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_237_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_237_afterif
|
|
; source: test_uword_equalities.p8:2015 fail_uword(155,0)
|
|
lda #<$9b
|
|
ldy #>$9b
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_237_afterif
|
|
; source: test_uword_equalities.p8:2018 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_239_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_239_else
|
|
; source: test_uword_equalities.p8:2019 fail_uword(156,0)
|
|
lda #<$9c
|
|
ldy #>$9c
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_238_afterif
|
|
label_asm_239_else
|
|
; source: test_uword_equalities.p8:2021 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_238_afterif
|
|
; source: test_uword_equalities.p8:2024 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl2c
|
|
+
|
|
; source: test_uword_equalities.p8:2026 goto skip2c
|
|
bra p8l_skip2c
|
|
; source: test_uword_equalities.p8:2027 lbl2c: fail_uword(157,0)
|
|
p8l_lbl2c
|
|
lda #<$9d
|
|
ldy #>$9d
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2028 skip2c:
|
|
p8l_skip2c
|
|
; source: test_uword_equalities.p8:2030 cx16.r3 = &lbl2d
|
|
lda #<p8l_lbl2d
|
|
ldy #>p8l_lbl2d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2031 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2033 goto skip2d
|
|
bra p8l_skip2d
|
|
; source: test_uword_equalities.p8:2034 lbl2d: fail_uword(158,0)
|
|
p8l_lbl2d
|
|
lda #<$9e
|
|
ldy #>$9e
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2035 skip2d:
|
|
p8l_skip2d
|
|
; source: test_uword_equalities.p8:2037 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_240_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_240_afterif
|
|
; source: test_uword_equalities.p8:2038 fail_uword(159,0)
|
|
lda #<$9f
|
|
ldy #>$9f
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_240_afterif
|
|
; source: test_uword_equalities.p8:2041 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_242_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_242_else
|
|
; source: test_uword_equalities.p8:2042 fail_uword(160,0)
|
|
lda #<$a0
|
|
ldy #>$a0
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_241_afterif
|
|
label_asm_242_else
|
|
; source: test_uword_equalities.p8:2044 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_241_afterif
|
|
; source: test_uword_equalities.p8:2046 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2048 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl3a
|
|
+
|
|
; source: test_uword_equalities.p8:2050 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:2051 lbl3a: fail_uword(161,0)
|
|
p8l_lbl3a
|
|
lda #<$a1
|
|
ldy #>$a1
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2052 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:2054 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2055 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2057 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:2058 lbl3b: fail_uword(162,0)
|
|
p8l_lbl3b
|
|
lda #<$a2
|
|
ldy #>$a2
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2059 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:2061 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_243_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_243_afterif
|
|
; source: test_uword_equalities.p8:2062 fail_uword(163,0)
|
|
lda #<$a3
|
|
ldy #>$a3
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_243_afterif
|
|
; source: test_uword_equalities.p8:2065 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_245_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_245_else
|
|
; source: test_uword_equalities.p8:2066 fail_uword(164,0)
|
|
lda #<$a4
|
|
ldy #>$a4
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_244_afterif
|
|
label_asm_245_else
|
|
; source: test_uword_equalities.p8:2068 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_244_afterif
|
|
; source: test_uword_equalities.p8:2071 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl3c
|
|
+
|
|
; source: test_uword_equalities.p8:2073 goto skip3c
|
|
bra p8l_skip3c
|
|
; source: test_uword_equalities.p8:2074 lbl3c: fail_uword(165,0)
|
|
p8l_lbl3c
|
|
lda #<$a5
|
|
ldy #>$a5
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2075 skip3c:
|
|
p8l_skip3c
|
|
; source: test_uword_equalities.p8:2077 cx16.r3 = &lbl3d
|
|
lda #<p8l_lbl3d
|
|
ldy #>p8l_lbl3d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2078 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2080 goto skip3d
|
|
bra p8l_skip3d
|
|
; source: test_uword_equalities.p8:2081 lbl3d: fail_uword(166,0)
|
|
p8l_lbl3d
|
|
lda #<$a6
|
|
ldy #>$a6
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2082 skip3d:
|
|
p8l_skip3d
|
|
; source: test_uword_equalities.p8:2084 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_246_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_246_afterif
|
|
; source: test_uword_equalities.p8:2085 fail_uword(167,0)
|
|
lda #<$a7
|
|
ldy #>$a7
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_246_afterif
|
|
; source: test_uword_equalities.p8:2088 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_248_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_248_else
|
|
; source: test_uword_equalities.p8:2089 fail_uword(168,0)
|
|
lda #<$a8
|
|
ldy #>$a8
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
stz p8b_main.p8s_fail_uword.p8v_v1
|
|
stz p8b_main.p8s_fail_uword.p8v_v1+1
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_247_afterif
|
|
label_asm_248_else
|
|
; source: test_uword_equalities.p8:2091 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_247_afterif
|
|
; source: test_uword_equalities.p8:2093 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:2094 sources[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_sources,y
|
|
lda #>1
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2095 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2097 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl4a
|
|
+
|
|
; source: test_uword_equalities.p8:2099 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:2100 lbl4a: success++
|
|
p8l_lbl4a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2101 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:2103 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2104 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2106 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:2107 lbl4b: success++
|
|
p8l_lbl4b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2108 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:2110 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_249_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_249_afterif
|
|
; source: test_uword_equalities.p8:2111 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_249_afterif
|
|
; source: test_uword_equalities.p8:2114 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_251_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_251_else
|
|
; source: test_uword_equalities.p8:2115 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_250_afterif
|
|
label_asm_251_else
|
|
; source: test_uword_equalities.p8:2117 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_250_afterif
|
|
; source: test_uword_equalities.p8:2120 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl4c
|
|
+
|
|
; source: test_uword_equalities.p8:2122 goto skip4c
|
|
bra p8l_skip4c
|
|
; source: test_uword_equalities.p8:2123 lbl4c: success++
|
|
p8l_lbl4c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2124 skip4c:
|
|
p8l_skip4c
|
|
; source: test_uword_equalities.p8:2126 cx16.r3 = &lbl4d
|
|
lda #<p8l_lbl4d
|
|
ldy #>p8l_lbl4d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2127 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2129 goto skip4d
|
|
bra p8l_skip4d
|
|
; source: test_uword_equalities.p8:2130 lbl4d: success++
|
|
p8l_lbl4d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2131 skip4d:
|
|
p8l_skip4d
|
|
; source: test_uword_equalities.p8:2133 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_252_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_252_afterif
|
|
; source: test_uword_equalities.p8:2134 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_252_afterif
|
|
; source: test_uword_equalities.p8:2137 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_254_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_254_else
|
|
; source: test_uword_equalities.p8:2138 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_253_afterif
|
|
label_asm_254_else
|
|
; source: test_uword_equalities.p8:2140 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_253_afterif
|
|
; source: test_uword_equalities.p8:2142 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2144 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl5a
|
|
+
|
|
; source: test_uword_equalities.p8:2146 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:2147 lbl5a: fail_uword(169,1)
|
|
p8l_lbl5a
|
|
lda #<$a9
|
|
ldy #>$a9
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2148 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:2150 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2151 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2153 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:2154 lbl5b: fail_uword(170,1)
|
|
p8l_lbl5b
|
|
lda #<$aa
|
|
ldy #>$aa
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2155 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:2157 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_255_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_255_afterif
|
|
; source: test_uword_equalities.p8:2158 fail_uword(171,1)
|
|
lda #<$ab
|
|
ldy #>$ab
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_255_afterif
|
|
; source: test_uword_equalities.p8:2161 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_257_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_257_else
|
|
; source: test_uword_equalities.p8:2162 fail_uword(172,1)
|
|
lda #<$ac
|
|
ldy #>$ac
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_256_afterif
|
|
label_asm_257_else
|
|
; source: test_uword_equalities.p8:2164 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_256_afterif
|
|
; source: test_uword_equalities.p8:2167 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl5c
|
|
+
|
|
; source: test_uword_equalities.p8:2169 goto skip5c
|
|
bra p8l_skip5c
|
|
; source: test_uword_equalities.p8:2170 lbl5c: fail_uword(173,1)
|
|
p8l_lbl5c
|
|
lda #<$ad
|
|
ldy #>$ad
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2171 skip5c:
|
|
p8l_skip5c
|
|
; source: test_uword_equalities.p8:2173 cx16.r3 = &lbl5d
|
|
lda #<p8l_lbl5d
|
|
ldy #>p8l_lbl5d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2174 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2176 goto skip5d
|
|
bra p8l_skip5d
|
|
; source: test_uword_equalities.p8:2177 lbl5d: fail_uword(174,1)
|
|
p8l_lbl5d
|
|
lda #<$ae
|
|
ldy #>$ae
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2178 skip5d:
|
|
p8l_skip5d
|
|
; source: test_uword_equalities.p8:2180 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_258_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_258_afterif
|
|
; source: test_uword_equalities.p8:2181 fail_uword(175,1)
|
|
lda #<$af
|
|
ldy #>$af
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_258_afterif
|
|
; source: test_uword_equalities.p8:2184 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_260_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_260_else
|
|
; source: test_uword_equalities.p8:2185 fail_uword(176,1)
|
|
lda #<$b0
|
|
ldy #>$b0
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_259_afterif
|
|
label_asm_260_else
|
|
; source: test_uword_equalities.p8:2187 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_259_afterif
|
|
; source: test_uword_equalities.p8:2189 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2191 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl6a
|
|
+
|
|
; source: test_uword_equalities.p8:2193 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:2194 lbl6a: fail_uword(177,1)
|
|
p8l_lbl6a
|
|
lda #<$b1
|
|
ldy #>$b1
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2195 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:2197 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2198 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2200 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:2201 lbl6b: fail_uword(178,1)
|
|
p8l_lbl6b
|
|
lda #<$b2
|
|
ldy #>$b2
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2202 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:2204 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_261_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_261_afterif
|
|
; source: test_uword_equalities.p8:2205 fail_uword(179,1)
|
|
lda #<$b3
|
|
ldy #>$b3
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_261_afterif
|
|
; source: test_uword_equalities.p8:2208 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_263_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_263_else
|
|
; source: test_uword_equalities.p8:2209 fail_uword(180,1)
|
|
lda #<$b4
|
|
ldy #>$b4
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_262_afterif
|
|
label_asm_263_else
|
|
; source: test_uword_equalities.p8:2211 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_262_afterif
|
|
; source: test_uword_equalities.p8:2214 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl6c
|
|
+
|
|
; source: test_uword_equalities.p8:2216 goto skip6c
|
|
bra p8l_skip6c
|
|
; source: test_uword_equalities.p8:2217 lbl6c: fail_uword(181,1)
|
|
p8l_lbl6c
|
|
lda #<$b5
|
|
ldy #>$b5
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2218 skip6c:
|
|
p8l_skip6c
|
|
; source: test_uword_equalities.p8:2220 cx16.r3 = &lbl6d
|
|
lda #<p8l_lbl6d
|
|
ldy #>p8l_lbl6d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2221 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2223 goto skip6d
|
|
bra p8l_skip6d
|
|
; source: test_uword_equalities.p8:2224 lbl6d: fail_uword(182,1)
|
|
p8l_lbl6d
|
|
lda #<$b6
|
|
ldy #>$b6
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2225 skip6d:
|
|
p8l_skip6d
|
|
; source: test_uword_equalities.p8:2227 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_264_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_264_afterif
|
|
; source: test_uword_equalities.p8:2228 fail_uword(183,1)
|
|
lda #<$b7
|
|
ldy #>$b7
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_264_afterif
|
|
; source: test_uword_equalities.p8:2231 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_266_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_266_else
|
|
; source: test_uword_equalities.p8:2232 fail_uword(184,1)
|
|
lda #<$b8
|
|
ldy #>$b8
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_265_afterif
|
|
label_asm_266_else
|
|
; source: test_uword_equalities.p8:2234 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_265_afterif
|
|
; source: test_uword_equalities.p8:2236 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:2237 sources[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_sources,y
|
|
lda #>$7700
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2238 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2240 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl7a
|
|
+
|
|
; source: test_uword_equalities.p8:2242 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:2243 lbl7a: fail_uword(185,30464)
|
|
p8l_lbl7a
|
|
lda #<$b9
|
|
ldy #>$b9
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2244 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:2246 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2247 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2249 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:2250 lbl7b: fail_uword(186,30464)
|
|
p8l_lbl7b
|
|
lda #<$ba
|
|
ldy #>$ba
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2251 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:2253 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_267_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_267_afterif
|
|
; source: test_uword_equalities.p8:2254 fail_uword(187,30464)
|
|
lda #<$bb
|
|
ldy #>$bb
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_267_afterif
|
|
; source: test_uword_equalities.p8:2257 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_269_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_269_else
|
|
; source: test_uword_equalities.p8:2258 fail_uword(188,30464)
|
|
lda #<$bc
|
|
ldy #>$bc
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_268_afterif
|
|
label_asm_269_else
|
|
; source: test_uword_equalities.p8:2260 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_268_afterif
|
|
; source: test_uword_equalities.p8:2263 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl7c
|
|
+
|
|
; source: test_uword_equalities.p8:2265 goto skip7c
|
|
bra p8l_skip7c
|
|
; source: test_uword_equalities.p8:2266 lbl7c: fail_uword(189,30464)
|
|
p8l_lbl7c
|
|
lda #<$bd
|
|
ldy #>$bd
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2267 skip7c:
|
|
p8l_skip7c
|
|
; source: test_uword_equalities.p8:2269 cx16.r3 = &lbl7d
|
|
lda #<p8l_lbl7d
|
|
ldy #>p8l_lbl7d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2270 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2272 goto skip7d
|
|
bra p8l_skip7d
|
|
; source: test_uword_equalities.p8:2273 lbl7d: fail_uword(190,30464)
|
|
p8l_lbl7d
|
|
lda #<$be
|
|
ldy #>$be
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2274 skip7d:
|
|
p8l_skip7d
|
|
; source: test_uword_equalities.p8:2276 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_270_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_270_afterif
|
|
; source: test_uword_equalities.p8:2277 fail_uword(191,30464)
|
|
lda #<$bf
|
|
ldy #>$bf
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_270_afterif
|
|
; source: test_uword_equalities.p8:2280 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_272_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_272_else
|
|
; source: test_uword_equalities.p8:2281 fail_uword(192,30464)
|
|
lda #<$c0
|
|
ldy #>$c0
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_271_afterif
|
|
label_asm_272_else
|
|
; source: test_uword_equalities.p8:2283 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_271_afterif
|
|
; source: test_uword_equalities.p8:2285 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2287 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl8a
|
|
+
|
|
; source: test_uword_equalities.p8:2289 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:2290 lbl8a: success++
|
|
p8l_lbl8a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2291 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:2293 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2294 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2296 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:2297 lbl8b: success++
|
|
p8l_lbl8b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2298 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:2300 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_273_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_273_afterif
|
|
; source: test_uword_equalities.p8:2301 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_273_afterif
|
|
; source: test_uword_equalities.p8:2304 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_275_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_275_else
|
|
; source: test_uword_equalities.p8:2305 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_274_afterif
|
|
label_asm_275_else
|
|
; source: test_uword_equalities.p8:2307 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_274_afterif
|
|
; source: test_uword_equalities.p8:2310 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl8c
|
|
+
|
|
; source: test_uword_equalities.p8:2312 goto skip8c
|
|
bra p8l_skip8c
|
|
; source: test_uword_equalities.p8:2313 lbl8c: success++
|
|
p8l_lbl8c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2314 skip8c:
|
|
p8l_skip8c
|
|
; source: test_uword_equalities.p8:2316 cx16.r3 = &lbl8d
|
|
lda #<p8l_lbl8d
|
|
ldy #>p8l_lbl8d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2317 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2319 goto skip8d
|
|
bra p8l_skip8d
|
|
; source: test_uword_equalities.p8:2320 lbl8d: success++
|
|
p8l_lbl8d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2321 skip8d:
|
|
p8l_skip8d
|
|
; source: test_uword_equalities.p8:2323 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_276_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_276_afterif
|
|
; source: test_uword_equalities.p8:2324 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_276_afterif
|
|
; source: test_uword_equalities.p8:2327 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_278_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_278_else
|
|
; source: test_uword_equalities.p8:2328 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_277_afterif
|
|
label_asm_278_else
|
|
; source: test_uword_equalities.p8:2330 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_277_afterif
|
|
; source: test_uword_equalities.p8:2332 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2334 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl9a
|
|
+
|
|
; source: test_uword_equalities.p8:2336 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:2337 lbl9a: fail_uword(193,30464)
|
|
p8l_lbl9a
|
|
lda #<$c1
|
|
ldy #>$c1
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2338 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:2340 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2341 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2343 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:2344 lbl9b: fail_uword(194,30464)
|
|
p8l_lbl9b
|
|
lda #<$c2
|
|
ldy #>$c2
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2345 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:2347 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_279_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_279_afterif
|
|
; source: test_uword_equalities.p8:2348 fail_uword(195,30464)
|
|
lda #<$c3
|
|
ldy #>$c3
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_279_afterif
|
|
; source: test_uword_equalities.p8:2351 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_281_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_281_else
|
|
; source: test_uword_equalities.p8:2352 fail_uword(196,30464)
|
|
lda #<$c4
|
|
ldy #>$c4
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_280_afterif
|
|
label_asm_281_else
|
|
; source: test_uword_equalities.p8:2354 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_280_afterif
|
|
; source: test_uword_equalities.p8:2357 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl9c
|
|
+
|
|
; source: test_uword_equalities.p8:2359 goto skip9c
|
|
bra p8l_skip9c
|
|
; source: test_uword_equalities.p8:2360 lbl9c: fail_uword(197,30464)
|
|
p8l_lbl9c
|
|
lda #<$c5
|
|
ldy #>$c5
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2361 skip9c:
|
|
p8l_skip9c
|
|
; source: test_uword_equalities.p8:2363 cx16.r3 = &lbl9d
|
|
lda #<p8l_lbl9d
|
|
ldy #>p8l_lbl9d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2364 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2366 goto skip9d
|
|
bra p8l_skip9d
|
|
; source: test_uword_equalities.p8:2367 lbl9d: fail_uword(198,30464)
|
|
p8l_lbl9d
|
|
lda #<$c6
|
|
ldy #>$c6
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2368 skip9d:
|
|
p8l_skip9d
|
|
; source: test_uword_equalities.p8:2370 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_282_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_282_afterif
|
|
; source: test_uword_equalities.p8:2371 fail_uword(199,30464)
|
|
lda #<$c7
|
|
ldy #>$c7
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_282_afterif
|
|
; source: test_uword_equalities.p8:2374 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_284_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_284_else
|
|
; source: test_uword_equalities.p8:2375 fail_uword(200,30464)
|
|
lda #<$c8
|
|
ldy #>$c8
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_283_afterif
|
|
label_asm_284_else
|
|
; source: test_uword_equalities.p8:2377 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_283_afterif
|
|
; source: test_uword_equalities.p8:2379 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:2380 sources[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_sources,y
|
|
lda #>$ffff
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2381 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2383 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl10a
|
|
+
|
|
; source: test_uword_equalities.p8:2385 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:2386 lbl10a: fail_uword(201,65535)
|
|
p8l_lbl10a
|
|
lda #<$c9
|
|
ldy #>$c9
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2387 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:2389 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2390 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2392 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:2393 lbl10b: fail_uword(202,65535)
|
|
p8l_lbl10b
|
|
lda #<$ca
|
|
ldy #>$ca
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2394 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:2396 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_285_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_285_afterif
|
|
; source: test_uword_equalities.p8:2397 fail_uword(203,65535)
|
|
lda #<$cb
|
|
ldy #>$cb
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_285_afterif
|
|
; source: test_uword_equalities.p8:2400 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_287_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_287_else
|
|
; source: test_uword_equalities.p8:2401 fail_uword(204,65535)
|
|
lda #<$cc
|
|
ldy #>$cc
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_286_afterif
|
|
label_asm_287_else
|
|
; source: test_uword_equalities.p8:2403 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_286_afterif
|
|
; source: test_uword_equalities.p8:2406 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl10c
|
|
+
|
|
; source: test_uword_equalities.p8:2408 goto skip10c
|
|
bra p8l_skip10c
|
|
; source: test_uword_equalities.p8:2409 lbl10c: fail_uword(205,65535)
|
|
p8l_lbl10c
|
|
lda #<$cd
|
|
ldy #>$cd
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2410 skip10c:
|
|
p8l_skip10c
|
|
; source: test_uword_equalities.p8:2412 cx16.r3 = &lbl10d
|
|
lda #<p8l_lbl10d
|
|
ldy #>p8l_lbl10d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2413 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2415 goto skip10d
|
|
bra p8l_skip10d
|
|
; source: test_uword_equalities.p8:2416 lbl10d: fail_uword(206,65535)
|
|
p8l_lbl10d
|
|
lda #<$ce
|
|
ldy #>$ce
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2417 skip10d:
|
|
p8l_skip10d
|
|
; source: test_uword_equalities.p8:2419 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_288_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_288_afterif
|
|
; source: test_uword_equalities.p8:2420 fail_uword(207,65535)
|
|
lda #<$cf
|
|
ldy #>$cf
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_288_afterif
|
|
; source: test_uword_equalities.p8:2423 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_290_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_290_else
|
|
; source: test_uword_equalities.p8:2424 fail_uword(208,65535)
|
|
lda #<$d0
|
|
ldy #>$d0
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_289_afterif
|
|
label_asm_290_else
|
|
; source: test_uword_equalities.p8:2426 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_289_afterif
|
|
; source: test_uword_equalities.p8:2428 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2430 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl11a
|
|
+
|
|
; source: test_uword_equalities.p8:2432 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:2433 lbl11a: fail_uword(209,65535)
|
|
p8l_lbl11a
|
|
lda #<$d1
|
|
ldy #>$d1
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2434 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:2436 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2437 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2439 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:2440 lbl11b: fail_uword(210,65535)
|
|
p8l_lbl11b
|
|
lda #<$d2
|
|
ldy #>$d2
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2441 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:2443 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_291_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_291_afterif
|
|
; source: test_uword_equalities.p8:2444 fail_uword(211,65535)
|
|
lda #<$d3
|
|
ldy #>$d3
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_291_afterif
|
|
; source: test_uword_equalities.p8:2447 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_293_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_293_else
|
|
; source: test_uword_equalities.p8:2448 fail_uword(212,65535)
|
|
lda #<$d4
|
|
ldy #>$d4
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_292_afterif
|
|
label_asm_293_else
|
|
; source: test_uword_equalities.p8:2450 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_292_afterif
|
|
; source: test_uword_equalities.p8:2453 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl11c
|
|
+
|
|
; source: test_uword_equalities.p8:2455 goto skip11c
|
|
bra p8l_skip11c
|
|
; source: test_uword_equalities.p8:2456 lbl11c: fail_uword(213,65535)
|
|
p8l_lbl11c
|
|
lda #<$d5
|
|
ldy #>$d5
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2457 skip11c:
|
|
p8l_skip11c
|
|
; source: test_uword_equalities.p8:2459 cx16.r3 = &lbl11d
|
|
lda #<p8l_lbl11d
|
|
ldy #>p8l_lbl11d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2460 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2462 goto skip11d
|
|
bra p8l_skip11d
|
|
; source: test_uword_equalities.p8:2463 lbl11d: fail_uword(214,65535)
|
|
p8l_lbl11d
|
|
lda #<$d6
|
|
ldy #>$d6
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2464 skip11d:
|
|
p8l_skip11d
|
|
; source: test_uword_equalities.p8:2466 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_294_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_294_afterif
|
|
; source: test_uword_equalities.p8:2467 fail_uword(215,65535)
|
|
lda #<$d7
|
|
ldy #>$d7
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_294_afterif
|
|
; source: test_uword_equalities.p8:2470 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_296_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_296_else
|
|
; source: test_uword_equalities.p8:2471 fail_uword(216,65535)
|
|
lda #<$d8
|
|
ldy #>$d8
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_295_afterif
|
|
label_asm_296_else
|
|
; source: test_uword_equalities.p8:2473 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_295_afterif
|
|
; source: test_uword_equalities.p8:2475 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2477 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq p8l_lbl12a
|
|
+
|
|
; source: test_uword_equalities.p8:2479 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:2480 lbl12a: success++
|
|
p8l_lbl12a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2481 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:2483 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2484 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2486 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:2487 lbl12b: success++
|
|
p8l_lbl12b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2488 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:2490 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_297_afterif
|
|
cpy p8v_values+2+1
|
|
bne label_asm_297_afterif
|
|
; source: test_uword_equalities.p8:2491 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_297_afterif
|
|
; source: test_uword_equalities.p8:2494 if x==values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne label_asm_299_else
|
|
cpy p8v_values+2+1
|
|
bne label_asm_299_else
|
|
; source: test_uword_equalities.p8:2495 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_298_afterif
|
|
label_asm_299_else
|
|
; source: test_uword_equalities.p8:2497 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_298_afterif
|
|
; source: test_uword_equalities.p8:2500 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq p8l_lbl12c
|
|
+
|
|
; source: test_uword_equalities.p8:2502 goto skip12c
|
|
bra p8l_skip12c
|
|
; source: test_uword_equalities.p8:2503 lbl12c: success++
|
|
p8l_lbl12c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2504 skip12c:
|
|
p8l_skip12c
|
|
; source: test_uword_equalities.p8:2506 cx16.r3 = &lbl12d
|
|
lda #<p8l_lbl12d
|
|
ldy #>p8l_lbl12d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2507 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
bne +
|
|
jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2509 goto skip12d
|
|
bra p8l_skip12d
|
|
; source: test_uword_equalities.p8:2510 lbl12d: success++
|
|
p8l_lbl12d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2511 skip12d:
|
|
p8l_skip12d
|
|
; source: test_uword_equalities.p8:2513 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_300_afterif
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_300_afterif
|
|
; source: test_uword_equalities.p8:2514 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_300_afterif
|
|
; source: test_uword_equalities.p8:2517 if sources[1]==values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne label_asm_302_else
|
|
cpy p8v_sources+2+1
|
|
bne label_asm_302_else
|
|
; source: test_uword_equalities.p8:2518 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_301_afterif
|
|
label_asm_302_else
|
|
; source: test_uword_equalities.p8:2520 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_301_afterif
|
|
; source: test_uword_equalities.p8:2522 verify_success(24)
|
|
lda #$18
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:1945 sub test_is_array() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_x .word ?
|
|
.send BSS
|
|
; non-zeropage variables
|
|
p8v_sources .word $0000, $0000
|
|
p8v_values .word $0000, $0000
|
|
.pend
|
|
; source: test_uword_equalities.p8:2524 sub test_not_array() {
|
|
|
|
p8s_test_not_array .proc
|
|
; statements
|
|
; source: test_uword_equalities.p8:2525 uword @shared x
|
|
; source: test_uword_equalities.p8:2526 uword[] values = [0, 0]
|
|
; source: test_uword_equalities.p8:2527 uword[] sources = [0, 0]
|
|
; source: test_uword_equalities.p8:2525 uword @shared x
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:2528 success = 0
|
|
stz p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2529 x=0
|
|
stz p8v_x
|
|
stz p8v_x+1
|
|
; source: test_uword_equalities.p8:2530 sources[1]=0
|
|
ldy #2
|
|
lda #0
|
|
sta p8v_sources,y
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2531 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2533 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl1a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl1a
|
|
; source: test_uword_equalities.p8:2535 goto skip1a
|
|
bra p8l_skip1a
|
|
; source: test_uword_equalities.p8:2536 lbl1a: success++
|
|
p8l_lbl1a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2537 skip1a:
|
|
p8l_skip1a
|
|
; source: test_uword_equalities.p8:2539 cx16.r3 = &lbl1b
|
|
lda #<p8l_lbl1b
|
|
ldy #>p8l_lbl1b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2540 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2542 goto skip1b
|
|
bra p8l_skip1b
|
|
; source: test_uword_equalities.p8:2543 lbl1b: success++
|
|
p8l_lbl1b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2544 skip1b:
|
|
p8l_skip1b
|
|
; source: test_uword_equalities.p8:2546 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_303_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2547 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_303_afterif
|
|
; source: test_uword_equalities.p8:2550 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_305_else
|
|
+
|
|
; source: test_uword_equalities.p8:2551 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_304_afterif
|
|
label_asm_305_else
|
|
; source: test_uword_equalities.p8:2553 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_304_afterif
|
|
; source: test_uword_equalities.p8:2556 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl1c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl1c
|
|
; source: test_uword_equalities.p8:2558 goto skip1c
|
|
bra p8l_skip1c
|
|
; source: test_uword_equalities.p8:2559 lbl1c: success++
|
|
p8l_lbl1c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2560 skip1c:
|
|
p8l_skip1c
|
|
; source: test_uword_equalities.p8:2562 cx16.r3 = &lbl1d
|
|
lda #<p8l_lbl1d
|
|
ldy #>p8l_lbl1d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2563 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2565 goto skip1d
|
|
bra p8l_skip1d
|
|
; source: test_uword_equalities.p8:2566 lbl1d: success++
|
|
p8l_lbl1d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2567 skip1d:
|
|
p8l_skip1d
|
|
; source: test_uword_equalities.p8:2569 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_306_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2570 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_306_afterif
|
|
; source: test_uword_equalities.p8:2573 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_308_else
|
|
+
|
|
; source: test_uword_equalities.p8:2574 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_307_afterif
|
|
label_asm_308_else
|
|
; source: test_uword_equalities.p8:2576 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_307_afterif
|
|
; source: test_uword_equalities.p8:2578 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2580 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl2a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl2a
|
|
; source: test_uword_equalities.p8:2582 goto skip2a
|
|
bra p8l_skip2a
|
|
; source: test_uword_equalities.p8:2583 lbl2a: success++
|
|
p8l_lbl2a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2584 skip2a:
|
|
p8l_skip2a
|
|
; source: test_uword_equalities.p8:2586 cx16.r3 = &lbl2b
|
|
lda #<p8l_lbl2b
|
|
ldy #>p8l_lbl2b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2587 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2589 goto skip2b
|
|
bra p8l_skip2b
|
|
; source: test_uword_equalities.p8:2590 lbl2b: success++
|
|
p8l_lbl2b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2591 skip2b:
|
|
p8l_skip2b
|
|
; source: test_uword_equalities.p8:2593 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_309_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2594 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_309_afterif
|
|
; source: test_uword_equalities.p8:2597 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_311_else
|
|
+
|
|
; source: test_uword_equalities.p8:2598 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_310_afterif
|
|
label_asm_311_else
|
|
; source: test_uword_equalities.p8:2600 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_310_afterif
|
|
; source: test_uword_equalities.p8:2603 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl2c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl2c
|
|
; source: test_uword_equalities.p8:2605 goto skip2c
|
|
bra p8l_skip2c
|
|
; source: test_uword_equalities.p8:2606 lbl2c: success++
|
|
p8l_lbl2c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2607 skip2c:
|
|
p8l_skip2c
|
|
; source: test_uword_equalities.p8:2609 cx16.r3 = &lbl2d
|
|
lda #<p8l_lbl2d
|
|
ldy #>p8l_lbl2d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2610 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2612 goto skip2d
|
|
bra p8l_skip2d
|
|
; source: test_uword_equalities.p8:2613 lbl2d: success++
|
|
p8l_lbl2d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2614 skip2d:
|
|
p8l_skip2d
|
|
; source: test_uword_equalities.p8:2616 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_312_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2617 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_312_afterif
|
|
; source: test_uword_equalities.p8:2620 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_314_else
|
|
+
|
|
; source: test_uword_equalities.p8:2621 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_313_afterif
|
|
label_asm_314_else
|
|
; source: test_uword_equalities.p8:2623 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_313_afterif
|
|
; source: test_uword_equalities.p8:2625 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2627 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl3a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl3a
|
|
; source: test_uword_equalities.p8:2629 goto skip3a
|
|
bra p8l_skip3a
|
|
; source: test_uword_equalities.p8:2630 lbl3a: success++
|
|
p8l_lbl3a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2631 skip3a:
|
|
p8l_skip3a
|
|
; source: test_uword_equalities.p8:2633 cx16.r3 = &lbl3b
|
|
lda #<p8l_lbl3b
|
|
ldy #>p8l_lbl3b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2634 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2636 goto skip3b
|
|
bra p8l_skip3b
|
|
; source: test_uword_equalities.p8:2637 lbl3b: success++
|
|
p8l_lbl3b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2638 skip3b:
|
|
p8l_skip3b
|
|
; source: test_uword_equalities.p8:2640 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_315_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2641 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_315_afterif
|
|
; source: test_uword_equalities.p8:2644 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_317_else
|
|
+
|
|
; source: test_uword_equalities.p8:2645 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_316_afterif
|
|
label_asm_317_else
|
|
; source: test_uword_equalities.p8:2647 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_316_afterif
|
|
; source: test_uword_equalities.p8:2650 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl3c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl3c
|
|
; source: test_uword_equalities.p8:2652 goto skip3c
|
|
bra p8l_skip3c
|
|
; source: test_uword_equalities.p8:2653 lbl3c: success++
|
|
p8l_lbl3c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2654 skip3c:
|
|
p8l_skip3c
|
|
; source: test_uword_equalities.p8:2656 cx16.r3 = &lbl3d
|
|
lda #<p8l_lbl3d
|
|
ldy #>p8l_lbl3d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2657 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2659 goto skip3d
|
|
bra p8l_skip3d
|
|
; source: test_uword_equalities.p8:2660 lbl3d: success++
|
|
p8l_lbl3d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2661 skip3d:
|
|
p8l_skip3d
|
|
; source: test_uword_equalities.p8:2663 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_318_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2664 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_318_afterif
|
|
; source: test_uword_equalities.p8:2667 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_320_else
|
|
+
|
|
; source: test_uword_equalities.p8:2668 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_319_afterif
|
|
label_asm_320_else
|
|
; source: test_uword_equalities.p8:2670 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_319_afterif
|
|
; source: test_uword_equalities.p8:2672 x=1
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:2673 sources[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_sources,y
|
|
lda #>1
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2674 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2676 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl4a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl4a
|
|
; source: test_uword_equalities.p8:2678 goto skip4a
|
|
bra p8l_skip4a
|
|
; source: test_uword_equalities.p8:2679 lbl4a: fail_uword(217,1)
|
|
p8l_lbl4a
|
|
lda #<$d9
|
|
ldy #>$d9
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2680 skip4a:
|
|
p8l_skip4a
|
|
; source: test_uword_equalities.p8:2682 cx16.r3 = &lbl4b
|
|
lda #<p8l_lbl4b
|
|
ldy #>p8l_lbl4b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2683 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2685 goto skip4b
|
|
bra p8l_skip4b
|
|
; source: test_uword_equalities.p8:2686 lbl4b: fail_uword(218,1)
|
|
p8l_lbl4b
|
|
lda #<$da
|
|
ldy #>$da
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2687 skip4b:
|
|
p8l_skip4b
|
|
; source: test_uword_equalities.p8:2689 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_321_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2690 fail_uword(219,1)
|
|
lda #<$db
|
|
ldy #>$db
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_321_afterif
|
|
; source: test_uword_equalities.p8:2693 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_323_else
|
|
+
|
|
; source: test_uword_equalities.p8:2694 fail_uword(220,1)
|
|
lda #<$dc
|
|
ldy #>$dc
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_322_afterif
|
|
label_asm_323_else
|
|
; source: test_uword_equalities.p8:2696 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_322_afterif
|
|
; source: test_uword_equalities.p8:2699 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl4c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl4c
|
|
; source: test_uword_equalities.p8:2701 goto skip4c
|
|
bra p8l_skip4c
|
|
; source: test_uword_equalities.p8:2702 lbl4c: fail_uword(221,1)
|
|
p8l_lbl4c
|
|
lda #<$dd
|
|
ldy #>$dd
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2703 skip4c:
|
|
p8l_skip4c
|
|
; source: test_uword_equalities.p8:2705 cx16.r3 = &lbl4d
|
|
lda #<p8l_lbl4d
|
|
ldy #>p8l_lbl4d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2706 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2708 goto skip4d
|
|
bra p8l_skip4d
|
|
; source: test_uword_equalities.p8:2709 lbl4d: fail_uword(222,1)
|
|
p8l_lbl4d
|
|
lda #<$de
|
|
ldy #>$de
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2710 skip4d:
|
|
p8l_skip4d
|
|
; source: test_uword_equalities.p8:2712 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_324_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2713 fail_uword(223,1)
|
|
lda #<$df
|
|
ldy #>$df
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_324_afterif
|
|
; source: test_uword_equalities.p8:2716 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_326_else
|
|
+
|
|
; source: test_uword_equalities.p8:2717 fail_uword(224,1)
|
|
lda #<$e0
|
|
ldy #>$e0
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<1
|
|
ldy #>1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_325_afterif
|
|
label_asm_326_else
|
|
; source: test_uword_equalities.p8:2719 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_325_afterif
|
|
; source: test_uword_equalities.p8:2721 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2723 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl5a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl5a
|
|
; source: test_uword_equalities.p8:2725 goto skip5a
|
|
bra p8l_skip5a
|
|
; source: test_uword_equalities.p8:2726 lbl5a: success++
|
|
p8l_lbl5a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2727 skip5a:
|
|
p8l_skip5a
|
|
; source: test_uword_equalities.p8:2729 cx16.r3 = &lbl5b
|
|
lda #<p8l_lbl5b
|
|
ldy #>p8l_lbl5b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2730 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2732 goto skip5b
|
|
bra p8l_skip5b
|
|
; source: test_uword_equalities.p8:2733 lbl5b: success++
|
|
p8l_lbl5b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2734 skip5b:
|
|
p8l_skip5b
|
|
; source: test_uword_equalities.p8:2736 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_327_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2737 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_327_afterif
|
|
; source: test_uword_equalities.p8:2740 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_329_else
|
|
+
|
|
; source: test_uword_equalities.p8:2741 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_328_afterif
|
|
label_asm_329_else
|
|
; source: test_uword_equalities.p8:2743 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_328_afterif
|
|
; source: test_uword_equalities.p8:2746 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl5c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl5c
|
|
; source: test_uword_equalities.p8:2748 goto skip5c
|
|
bra p8l_skip5c
|
|
; source: test_uword_equalities.p8:2749 lbl5c: success++
|
|
p8l_lbl5c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2750 skip5c:
|
|
p8l_skip5c
|
|
; source: test_uword_equalities.p8:2752 cx16.r3 = &lbl5d
|
|
lda #<p8l_lbl5d
|
|
ldy #>p8l_lbl5d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2753 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2755 goto skip5d
|
|
bra p8l_skip5d
|
|
; source: test_uword_equalities.p8:2756 lbl5d: success++
|
|
p8l_lbl5d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2757 skip5d:
|
|
p8l_skip5d
|
|
; source: test_uword_equalities.p8:2759 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_330_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2760 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_330_afterif
|
|
; source: test_uword_equalities.p8:2763 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_332_else
|
|
+
|
|
; source: test_uword_equalities.p8:2764 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_331_afterif
|
|
label_asm_332_else
|
|
; source: test_uword_equalities.p8:2766 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_331_afterif
|
|
; source: test_uword_equalities.p8:2768 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2770 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl6a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl6a
|
|
; source: test_uword_equalities.p8:2772 goto skip6a
|
|
bra p8l_skip6a
|
|
; source: test_uword_equalities.p8:2773 lbl6a: success++
|
|
p8l_lbl6a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2774 skip6a:
|
|
p8l_skip6a
|
|
; source: test_uword_equalities.p8:2776 cx16.r3 = &lbl6b
|
|
lda #<p8l_lbl6b
|
|
ldy #>p8l_lbl6b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2777 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2779 goto skip6b
|
|
bra p8l_skip6b
|
|
; source: test_uword_equalities.p8:2780 lbl6b: success++
|
|
p8l_lbl6b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2781 skip6b:
|
|
p8l_skip6b
|
|
; source: test_uword_equalities.p8:2783 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_333_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2784 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_333_afterif
|
|
; source: test_uword_equalities.p8:2787 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_335_else
|
|
+
|
|
; source: test_uword_equalities.p8:2788 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_334_afterif
|
|
label_asm_335_else
|
|
; source: test_uword_equalities.p8:2790 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_334_afterif
|
|
; source: test_uword_equalities.p8:2793 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl6c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl6c
|
|
; source: test_uword_equalities.p8:2795 goto skip6c
|
|
bra p8l_skip6c
|
|
; source: test_uword_equalities.p8:2796 lbl6c: success++
|
|
p8l_lbl6c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2797 skip6c:
|
|
p8l_skip6c
|
|
; source: test_uword_equalities.p8:2799 cx16.r3 = &lbl6d
|
|
lda #<p8l_lbl6d
|
|
ldy #>p8l_lbl6d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2800 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2802 goto skip6d
|
|
bra p8l_skip6d
|
|
; source: test_uword_equalities.p8:2803 lbl6d: success++
|
|
p8l_lbl6d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2804 skip6d:
|
|
p8l_skip6d
|
|
; source: test_uword_equalities.p8:2806 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_336_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2807 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_336_afterif
|
|
; source: test_uword_equalities.p8:2810 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_338_else
|
|
+
|
|
; source: test_uword_equalities.p8:2811 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_337_afterif
|
|
label_asm_338_else
|
|
; source: test_uword_equalities.p8:2813 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_337_afterif
|
|
; source: test_uword_equalities.p8:2815 x=30464
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8v_x
|
|
sty p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:2816 sources[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_sources,y
|
|
lda #>$7700
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2817 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2819 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl7a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl7a
|
|
; source: test_uword_equalities.p8:2821 goto skip7a
|
|
bra p8l_skip7a
|
|
; source: test_uword_equalities.p8:2822 lbl7a: success++
|
|
p8l_lbl7a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2823 skip7a:
|
|
p8l_skip7a
|
|
; source: test_uword_equalities.p8:2825 cx16.r3 = &lbl7b
|
|
lda #<p8l_lbl7b
|
|
ldy #>p8l_lbl7b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2826 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2828 goto skip7b
|
|
bra p8l_skip7b
|
|
; source: test_uword_equalities.p8:2829 lbl7b: success++
|
|
p8l_lbl7b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2830 skip7b:
|
|
p8l_skip7b
|
|
; source: test_uword_equalities.p8:2832 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_339_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2833 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_339_afterif
|
|
; source: test_uword_equalities.p8:2836 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_341_else
|
|
+
|
|
; source: test_uword_equalities.p8:2837 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_340_afterif
|
|
label_asm_341_else
|
|
; source: test_uword_equalities.p8:2839 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_340_afterif
|
|
; source: test_uword_equalities.p8:2842 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl7c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl7c
|
|
; source: test_uword_equalities.p8:2844 goto skip7c
|
|
bra p8l_skip7c
|
|
; source: test_uword_equalities.p8:2845 lbl7c: success++
|
|
p8l_lbl7c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2846 skip7c:
|
|
p8l_skip7c
|
|
; source: test_uword_equalities.p8:2848 cx16.r3 = &lbl7d
|
|
lda #<p8l_lbl7d
|
|
ldy #>p8l_lbl7d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2849 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2851 goto skip7d
|
|
bra p8l_skip7d
|
|
; source: test_uword_equalities.p8:2852 lbl7d: success++
|
|
p8l_lbl7d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2853 skip7d:
|
|
p8l_skip7d
|
|
; source: test_uword_equalities.p8:2855 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_342_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2856 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_342_afterif
|
|
; source: test_uword_equalities.p8:2859 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_344_else
|
|
+
|
|
; source: test_uword_equalities.p8:2860 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_343_afterif
|
|
label_asm_344_else
|
|
; source: test_uword_equalities.p8:2862 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_343_afterif
|
|
; source: test_uword_equalities.p8:2864 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2866 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl8a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl8a
|
|
; source: test_uword_equalities.p8:2868 goto skip8a
|
|
bra p8l_skip8a
|
|
; source: test_uword_equalities.p8:2869 lbl8a: fail_uword(225,30464)
|
|
p8l_lbl8a
|
|
lda #<$e1
|
|
ldy #>$e1
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2870 skip8a:
|
|
p8l_skip8a
|
|
; source: test_uword_equalities.p8:2872 cx16.r3 = &lbl8b
|
|
lda #<p8l_lbl8b
|
|
ldy #>p8l_lbl8b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2873 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2875 goto skip8b
|
|
bra p8l_skip8b
|
|
; source: test_uword_equalities.p8:2876 lbl8b: fail_uword(226,30464)
|
|
p8l_lbl8b
|
|
lda #<$e2
|
|
ldy #>$e2
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2877 skip8b:
|
|
p8l_skip8b
|
|
; source: test_uword_equalities.p8:2879 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_345_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2880 fail_uword(227,30464)
|
|
lda #<$e3
|
|
ldy #>$e3
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_345_afterif
|
|
; source: test_uword_equalities.p8:2883 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_347_else
|
|
+
|
|
; source: test_uword_equalities.p8:2884 fail_uword(228,30464)
|
|
lda #<$e4
|
|
ldy #>$e4
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_346_afterif
|
|
label_asm_347_else
|
|
; source: test_uword_equalities.p8:2886 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_346_afterif
|
|
; source: test_uword_equalities.p8:2889 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl8c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl8c
|
|
; source: test_uword_equalities.p8:2891 goto skip8c
|
|
bra p8l_skip8c
|
|
; source: test_uword_equalities.p8:2892 lbl8c: fail_uword(229,30464)
|
|
p8l_lbl8c
|
|
lda #<$e5
|
|
ldy #>$e5
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2893 skip8c:
|
|
p8l_skip8c
|
|
; source: test_uword_equalities.p8:2895 cx16.r3 = &lbl8d
|
|
lda #<p8l_lbl8d
|
|
ldy #>p8l_lbl8d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2896 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2898 goto skip8d
|
|
bra p8l_skip8d
|
|
; source: test_uword_equalities.p8:2899 lbl8d: fail_uword(230,30464)
|
|
p8l_lbl8d
|
|
lda #<$e6
|
|
ldy #>$e6
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:2900 skip8d:
|
|
p8l_skip8d
|
|
; source: test_uword_equalities.p8:2902 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_348_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2903 fail_uword(231,30464)
|
|
lda #<$e7
|
|
ldy #>$e7
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_348_afterif
|
|
; source: test_uword_equalities.p8:2906 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_350_else
|
|
+
|
|
; source: test_uword_equalities.p8:2907 fail_uword(232,30464)
|
|
lda #<$e8
|
|
ldy #>$e8
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #<$7700
|
|
ldy #>$7700
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sty p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_349_afterif
|
|
label_asm_350_else
|
|
; source: test_uword_equalities.p8:2909 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_349_afterif
|
|
; source: test_uword_equalities.p8:2911 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2913 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl9a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl9a
|
|
; source: test_uword_equalities.p8:2915 goto skip9a
|
|
bra p8l_skip9a
|
|
; source: test_uword_equalities.p8:2916 lbl9a: success++
|
|
p8l_lbl9a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2917 skip9a:
|
|
p8l_skip9a
|
|
; source: test_uword_equalities.p8:2919 cx16.r3 = &lbl9b
|
|
lda #<p8l_lbl9b
|
|
ldy #>p8l_lbl9b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2920 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2922 goto skip9b
|
|
bra p8l_skip9b
|
|
; source: test_uword_equalities.p8:2923 lbl9b: success++
|
|
p8l_lbl9b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2924 skip9b:
|
|
p8l_skip9b
|
|
; source: test_uword_equalities.p8:2926 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_351_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2927 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_351_afterif
|
|
; source: test_uword_equalities.p8:2930 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_353_else
|
|
+
|
|
; source: test_uword_equalities.p8:2931 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_352_afterif
|
|
label_asm_353_else
|
|
; source: test_uword_equalities.p8:2933 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_352_afterif
|
|
; source: test_uword_equalities.p8:2936 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl9c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl9c
|
|
; source: test_uword_equalities.p8:2938 goto skip9c
|
|
bra p8l_skip9c
|
|
; source: test_uword_equalities.p8:2939 lbl9c: success++
|
|
p8l_lbl9c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2940 skip9c:
|
|
p8l_skip9c
|
|
; source: test_uword_equalities.p8:2942 cx16.r3 = &lbl9d
|
|
lda #<p8l_lbl9d
|
|
ldy #>p8l_lbl9d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2943 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2945 goto skip9d
|
|
bra p8l_skip9d
|
|
; source: test_uword_equalities.p8:2946 lbl9d: success++
|
|
p8l_lbl9d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2947 skip9d:
|
|
p8l_skip9d
|
|
; source: test_uword_equalities.p8:2949 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_354_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2950 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_354_afterif
|
|
; source: test_uword_equalities.p8:2953 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_356_else
|
|
+
|
|
; source: test_uword_equalities.p8:2954 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_355_afterif
|
|
label_asm_356_else
|
|
; source: test_uword_equalities.p8:2956 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_355_afterif
|
|
; source: test_uword_equalities.p8:2958 x=65535
|
|
lda #$ff
|
|
sta p8v_x
|
|
sta p8v_x+1
|
|
|
|
; source: test_uword_equalities.p8:2959 sources[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_sources,y
|
|
lda #>$ffff
|
|
sta p8v_sources+1,y
|
|
; source: test_uword_equalities.p8:2960 values[1]=1
|
|
ldy #2
|
|
lda #<1
|
|
sta p8v_values,y
|
|
lda #>1
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:2962 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl10a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl10a
|
|
; source: test_uword_equalities.p8:2964 goto skip10a
|
|
bra p8l_skip10a
|
|
; source: test_uword_equalities.p8:2965 lbl10a: success++
|
|
p8l_lbl10a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2966 skip10a:
|
|
p8l_skip10a
|
|
; source: test_uword_equalities.p8:2968 cx16.r3 = &lbl10b
|
|
lda #<p8l_lbl10b
|
|
ldy #>p8l_lbl10b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2969 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2971 goto skip10b
|
|
bra p8l_skip10b
|
|
; source: test_uword_equalities.p8:2972 lbl10b: success++
|
|
p8l_lbl10b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2973 skip10b:
|
|
p8l_skip10b
|
|
; source: test_uword_equalities.p8:2975 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_357_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2976 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_357_afterif
|
|
; source: test_uword_equalities.p8:2979 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_359_else
|
|
+
|
|
; source: test_uword_equalities.p8:2980 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_358_afterif
|
|
label_asm_359_else
|
|
; source: test_uword_equalities.p8:2982 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_358_afterif
|
|
; source: test_uword_equalities.p8:2985 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl10c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl10c
|
|
; source: test_uword_equalities.p8:2987 goto skip10c
|
|
bra p8l_skip10c
|
|
; source: test_uword_equalities.p8:2988 lbl10c: success++
|
|
p8l_lbl10c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2989 skip10c:
|
|
p8l_skip10c
|
|
; source: test_uword_equalities.p8:2991 cx16.r3 = &lbl10d
|
|
lda #<p8l_lbl10d
|
|
ldy #>p8l_lbl10d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:2992 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:2994 goto skip10d
|
|
bra p8l_skip10d
|
|
; source: test_uword_equalities.p8:2995 lbl10d: success++
|
|
p8l_lbl10d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:2996 skip10d:
|
|
p8l_skip10d
|
|
; source: test_uword_equalities.p8:2998 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_360_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:2999 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_360_afterif
|
|
; source: test_uword_equalities.p8:3002 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_362_else
|
|
+
|
|
; source: test_uword_equalities.p8:3003 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_361_afterif
|
|
label_asm_362_else
|
|
; source: test_uword_equalities.p8:3005 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_361_afterif
|
|
; source: test_uword_equalities.p8:3007 values[1]=30464
|
|
ldy #2
|
|
lda #<$7700
|
|
sta p8v_values,y
|
|
lda #>$7700
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:3009 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl11a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl11a
|
|
; source: test_uword_equalities.p8:3011 goto skip11a
|
|
bra p8l_skip11a
|
|
; source: test_uword_equalities.p8:3012 lbl11a: success++
|
|
p8l_lbl11a
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:3013 skip11a:
|
|
p8l_skip11a
|
|
; source: test_uword_equalities.p8:3015 cx16.r3 = &lbl11b
|
|
lda #<p8l_lbl11b
|
|
ldy #>p8l_lbl11b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:3016 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:3018 goto skip11b
|
|
bra p8l_skip11b
|
|
; source: test_uword_equalities.p8:3019 lbl11b: success++
|
|
p8l_lbl11b
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:3020 skip11b:
|
|
p8l_skip11b
|
|
; source: test_uword_equalities.p8:3022 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_363_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:3023 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_363_afterif
|
|
; source: test_uword_equalities.p8:3026 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_365_else
|
|
+
|
|
; source: test_uword_equalities.p8:3027 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_364_afterif
|
|
label_asm_365_else
|
|
; source: test_uword_equalities.p8:3029 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_364_afterif
|
|
; source: test_uword_equalities.p8:3032 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl11c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl11c
|
|
; source: test_uword_equalities.p8:3034 goto skip11c
|
|
bra p8l_skip11c
|
|
; source: test_uword_equalities.p8:3035 lbl11c: success++
|
|
p8l_lbl11c
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:3036 skip11c:
|
|
p8l_skip11c
|
|
; source: test_uword_equalities.p8:3038 cx16.r3 = &lbl11d
|
|
lda #<p8l_lbl11d
|
|
ldy #>p8l_lbl11d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:3039 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:3041 goto skip11d
|
|
bra p8l_skip11d
|
|
; source: test_uword_equalities.p8:3042 lbl11d: success++
|
|
p8l_lbl11d
|
|
inc p8b_main.p8v_success
|
|
; source: test_uword_equalities.p8:3043 skip11d:
|
|
p8l_skip11d
|
|
; source: test_uword_equalities.p8:3045 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_366_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:3046 success++
|
|
inc p8b_main.p8v_success
|
|
label_asm_366_afterif
|
|
; source: test_uword_equalities.p8:3049 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_368_else
|
|
+
|
|
; source: test_uword_equalities.p8:3050 success++
|
|
inc p8b_main.p8v_success
|
|
bra label_asm_367_afterif
|
|
label_asm_368_else
|
|
; source: test_uword_equalities.p8:3052 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_367_afterif
|
|
; source: test_uword_equalities.p8:3054 values[1]=65535
|
|
ldy #2
|
|
lda #<$ffff
|
|
sta p8v_values,y
|
|
lda #>$ffff
|
|
sta p8v_values+1,y
|
|
; source: test_uword_equalities.p8:3056 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne p8l_lbl12a
|
|
cpy p8v_values+2+1
|
|
bne p8l_lbl12a
|
|
; source: test_uword_equalities.p8:3058 goto skip12a
|
|
bra p8l_skip12a
|
|
; source: test_uword_equalities.p8:3059 lbl12a: fail_uword(233,65535)
|
|
p8l_lbl12a
|
|
lda #<$e9
|
|
ldy #>$e9
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:3060 skip12a:
|
|
p8l_skip12a
|
|
; source: test_uword_equalities.p8:3062 cx16.r3 = &lbl12b
|
|
lda #<p8l_lbl12b
|
|
ldy #>p8l_lbl12b
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:3063 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:3065 goto skip12b
|
|
bra p8l_skip12b
|
|
; source: test_uword_equalities.p8:3066 lbl12b: fail_uword(234,65535)
|
|
p8l_lbl12b
|
|
lda #<$ea
|
|
ldy #>$ea
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:3067 skip12b:
|
|
p8l_skip12b
|
|
; source: test_uword_equalities.p8:3069 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_369_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:3070 fail_uword(235,65535)
|
|
lda #<$eb
|
|
ldy #>$eb
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_369_afterif
|
|
; source: test_uword_equalities.p8:3073 if x!=values[1]
|
|
ldy p8v_x+1
|
|
lda p8v_x
|
|
cmp p8v_values+2
|
|
bne +
|
|
cpy p8v_values+2+1
|
|
beq label_asm_371_else
|
|
+
|
|
; source: test_uword_equalities.p8:3074 fail_uword(236,65535)
|
|
lda #<$ec
|
|
ldy #>$ec
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_370_afterif
|
|
label_asm_371_else
|
|
; source: test_uword_equalities.p8:3076 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_370_afterif
|
|
; source: test_uword_equalities.p8:3079 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne p8l_lbl12c
|
|
cpy p8v_sources+2+1
|
|
bne p8l_lbl12c
|
|
; source: test_uword_equalities.p8:3081 goto skip12c
|
|
bra p8l_skip12c
|
|
; source: test_uword_equalities.p8:3082 lbl12c: fail_uword(237,65535)
|
|
p8l_lbl12c
|
|
lda #<$ed
|
|
ldy #>$ed
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:3083 skip12c:
|
|
p8l_skip12c
|
|
; source: test_uword_equalities.p8:3085 cx16.r3 = &lbl12d
|
|
lda #<p8l_lbl12d
|
|
ldy #>p8l_lbl12d
|
|
sta cx16.r3
|
|
sty cx16.r3+1
|
|
; source: test_uword_equalities.p8:3086 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq ++
|
|
+ jmp (cx16.r3)
|
|
+
|
|
; source: test_uword_equalities.p8:3088 goto skip12d
|
|
bra p8l_skip12d
|
|
; source: test_uword_equalities.p8:3089 lbl12d: fail_uword(238,65535)
|
|
p8l_lbl12d
|
|
lda #<$ee
|
|
ldy #>$ee
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
; source: test_uword_equalities.p8:3090 skip12d:
|
|
p8l_skip12d
|
|
; source: test_uword_equalities.p8:3092 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_372_afterif
|
|
+
|
|
; source: test_uword_equalities.p8:3093 fail_uword(239,65535)
|
|
lda #<$ef
|
|
ldy #>$ef
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
label_asm_372_afterif
|
|
; source: test_uword_equalities.p8:3096 if sources[1]!=values[1]
|
|
lda p8v_values+2
|
|
ldy p8v_values+2+1
|
|
cmp p8v_sources+2
|
|
bne +
|
|
cpy p8v_sources+2+1
|
|
beq label_asm_374_else
|
|
+
|
|
; source: test_uword_equalities.p8:3097 fail_uword(240,65535)
|
|
lda #<$f0
|
|
ldy #>$f0
|
|
sta p8b_main.p8s_fail_uword.p8v_idx
|
|
sty p8b_main.p8s_fail_uword.p8v_idx+1
|
|
|
|
lda #$ff
|
|
sta p8b_main.p8s_fail_uword.p8v_v1
|
|
sta p8b_main.p8s_fail_uword.p8v_v1+1
|
|
|
|
jsr p8b_main.p8s_fail_uword
|
|
bra label_asm_373_afterif
|
|
label_asm_374_else
|
|
; source: test_uword_equalities.p8:3099 cx16.r0L++
|
|
inc cx16.r0L
|
|
label_asm_373_afterif
|
|
; source: test_uword_equalities.p8:3101 verify_success(72)
|
|
lda #$48
|
|
jmp p8b_main.p8s_verify_success
|
|
; source: test_uword_equalities.p8:2524 sub test_not_array() {
|
|
; variables
|
|
.section BSS
|
|
.send BSS
|
|
|
|
; non-zeropage variables without initialization value
|
|
.section BSS
|
|
p8v_x .word ?
|
|
.send BSS
|
|
; non-zeropage variables
|
|
p8v_sources .word $0000, $0000
|
|
p8v_values .word $0000, $0000
|
|
.pend
|
|
prog8_init_vars .block
|
|
rts
|
|
.bend
|
|
.pend
|
|
|
|
; ---- block: 'prog8_interned_strings' ----
|
|
prog8_interned_strings .proc
|
|
|
|
; non-zeropage variables
|
|
string_1 ; PETSCII:"\n(in)equality tests for datatype: "
|
|
.byte $0d, $28, $49, $4e, $29, $45, $51, $55, $41, $4c, $49, $54, $59, $20, $54, $45
|
|
.byte $53, $54, $53, $20, $46, $4f, $52, $20, $44, $41, $54, $41, $54, $59, $50, $45
|
|
.byte $3a, $20, $00
|
|
string_10 ; PETSCII:"\n==expr: "
|
|
.byte $0d, $3d, $3d, $45, $58, $50, $52, $3a, $20, $00
|
|
string_11 ; PETSCII:"\n!=expr: "
|
|
.byte $0d, $21, $3d, $45, $58, $50, $52, $3a, $20, $00
|
|
string_13 ; PETSCII:" **failed** "
|
|
.byte $20, $2a, $2a, $46, $41, $49, $4c, $45, $44, $2a, $2a, $20, $00
|
|
string_14 ; 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_15 ; PETSCII:" **fail#"
|
|
.byte $20, $2a, $2a, $46, $41, $49, $4c, $23, $00
|
|
string_16 ; PETSCII:" **"
|
|
.byte $20, $2a, $2a, $00
|
|
string_2 ; PETSCII:"==0: "
|
|
.byte $3d, $3d, $30, $3a, $20, $00
|
|
string_3 ; PETSCII:"\n!=0: "
|
|
.byte $0d, $21, $3d, $30, $3a, $20, $00
|
|
string_4 ; PETSCII:"\n==number: "
|
|
.byte $0d, $3d, $3d, $4e, $55, $4d, $42, $45, $52, $3a, $20, $00
|
|
string_5 ; PETSCII:"\n!=number: "
|
|
.byte $0d, $21, $3d, $4e, $55, $4d, $42, $45, $52, $3a, $20, $00
|
|
string_6 ; PETSCII:"\n==var: "
|
|
.byte $0d, $3d, $3d, $56, $41, $52, $3a, $20, $00
|
|
string_7 ; PETSCII:"\n!=var: "
|
|
.byte $0d, $21, $3d, $56, $41, $52, $3a, $20, $00
|
|
string_8 ; PETSCII:"\n==array[]: "
|
|
.byte $0d, $3d, $3d, $41, $52, $52, $41, $59, $5b, $5d, $3a, $20, $00
|
|
string_9 ; PETSCII:"\n!=array[]: "
|
|
.byte $0d, $21, $3d, $41, $52, $52, $41, $59, $5b, $5d, $3a, $20, $00
|
|
|
|
; source: test_uword_equalities.p8:14 txt.print("\n(in)equality tests for datatype: ")
|
|
; source: test_uword_equalities.p8:18 txt.print("==0: ")
|
|
; source: test_uword_equalities.p8:20 txt.print("\n!=0: ")
|
|
; source: test_uword_equalities.p8:22 txt.print("\n==number: ")
|
|
; source: test_uword_equalities.p8:24 txt.print("\n!=number: ")
|
|
; source: test_uword_equalities.p8:26 txt.print("\n==var: ")
|
|
; source: test_uword_equalities.p8:28 txt.print("\n!=var: ")
|
|
; source: test_uword_equalities.p8:30 txt.print("\n==array[]: ")
|
|
; source: test_uword_equalities.p8:32 txt.print("\n!=array[]: ")
|
|
; source: test_uword_equalities.p8:34 txt.print("\n==expr: ")
|
|
; source: test_uword_equalities.p8:36 txt.print("\n!=expr: ")
|
|
; source: test_uword_equalities.p8:45 txt.print(" **failed** ")
|
|
; source: test_uword_equalities.p8:47 txt.print(" success, expected ")
|
|
; source: test_uword_equalities.p8:53 txt.print(" **fail#")
|
|
; source: test_uword_equalities.p8:57 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()
|