@@ -95,7 +95,7 @@ __MUL16NOADD:
95
95
96
96
#line 20 "array.asm"
97
97
98
- #line 24 "/zxbasic/library-asm/array.asm"
98
+ #line 24 "/home/boriel/src/zxbasic/ zxbasic/library-asm/array.asm"
99
99
100
100
__ARRAY:
101
101
PROC
@@ -115,13 +115,13 @@ __ARRAY:
115
115
inc hl ; Ready
116
116
exx
117
117
118
- ld hl , 0 ; BC = Offset "accumulator"
118
+ ld hl , 0 ; HL = Offset "accumulator"
119
119
120
120
LOOP :
121
- #line 49 "/zxbasic/library-asm/array.asm"
121
+ #line 49 "/home/boriel/src/zxbasic/ zxbasic/library-asm/array.asm"
122
122
pop bc ; Get next index (Ai) from the stack
123
123
124
- #line 59 "/zxbasic/library-asm/array.asm"
124
+ #line 59 "/home/boriel/src/zxbasic/ zxbasic/library-asm/array.asm"
125
125
126
126
add hl , bc ; Adds current index
127
127
@@ -143,25 +143,22 @@ LOOP:
143
143
jp LOOP
144
144
145
145
ARRAY_END:
146
- ld e , (hl)
146
+ ld a , (hl)
147
147
inc hl
148
- ld d , c ; C = 0 => DE = E = Element size
149
148
push hl
150
- push de
151
149
exx
152
150
153
- #line 91 " /zxbasic/library-asm/array.asm"
151
+ #line 90 "/home/boriel/src/zxbasic /zxbasic/library-asm/array.asm"
154
152
LOCAL ARRAY_SIZE_LOOP
155
153
156
154
ex de , hl
157
155
ld hl , 0
158
- pop bc
159
- ld b , c
156
+ ld b , a
160
157
ARRAY_SIZE_LOOP:
161
158
add hl , de
162
159
djnz ARRAY_SIZE_LOOP
163
160
164
- #line 102 " /zxbasic/library-asm/array.asm"
161
+ #line 100 "/home/boriel/src/zxbasic /zxbasic/library-asm/array.asm"
165
162
166
163
pop de
167
164
add hl , de ; Adds element start
@@ -174,8 +171,10 @@ RET_ADDRESS:
174
171
175
172
__FNMUL:
176
173
xor a
177
- or d
174
+ or h
178
175
jp nz , __MUL16_FAST
176
+ or l
177
+ ret z
179
178
180
179
cp 33
181
180
jp nc , __MUL16_FAST
@@ -470,9 +469,9 @@ __MEM_START:
470
469
__MEM_LOOP: ; Loads lengh at (HL, HL+). If Lenght >= BC, jump to __MEM_DONE
471
470
ld a , h ; HL = NULL (No memory available?)
472
471
or l
473
- #line 111 "/zxbasic/library-asm/alloc.asm"
472
+ #line 111 "/home/boriel/src/zxbasic/ zxbasic/library-asm/alloc.asm"
474
473
ret z ; NULL
475
- #line 113 "/zxbasic/library-asm/alloc.asm"
474
+ #line 113 "/home/boriel/src/zxbasic/ zxbasic/library-asm/alloc.asm"
476
475
; HL = Pointer to Free block
477
476
ld e , (hl)
478
477
inc hl
0 commit comments