~amaurycarvalho/msxbas2asm/trunk

« back to all changes in this revision

Viewing changes to symbols.h

  • Committer: Amaury Carvalho
  • Date: 2020-05-13 21:57:30 UTC
  • Revision ID: amauryspires@gmail.com-20200513215730-sp0b3zws0kzltulp
Commit on 13/05/2020 06:57:30  -03 by amaury

Show diffs side-by-side

added added

removed removed

Lines of Context:
136
136
        R"(
137
137
            pop.parm                    ; get parameter (array variable)
138
138
            ld (BIOS_TEMP), hl
139
 
            pop.parm                    ; get parameter (dimension size)
 
139
            pop.parm                    ; get parameter (dimension x size)
140
140
            call CAST_TO.INT            ;
141
141
            call GET_INT.VALUE          ; output BC with integer value
142
 
            ld hl, (BIOS_TEMP)
143
 
            ld a, 1
 
142
            ld hl, (BIOS_TEMP)          ; array variable
 
143
            ld a, 1                     ; 2nd dimension size
 
144
            inc bc                      ; bc = elements count
144
145
            jp ARRAY.DIM
145
146
        )"
146
147
    },
150
151
        R"(
151
152
            pop.parm                    ; get parameter (array variable)
152
153
            ld (BIOS_TEMP), hl
153
 
            pop.parm                    ; get parameter (dimension size)
 
154
            pop.parm                    ; get parameter (dimension x size)
154
155
            call CAST_TO.INT            ;
155
156
            call GET_INT.VALUE          ; output BC with integer value
156
157
            ld (BIOS_TEMP2), bc
157
 
            pop.parm                    ; get parameter (dimension size)
 
158
            pop.parm                    ; get parameter (dimension y size)
158
159
            call CAST_TO.INT            ;
159
160
            call GET_INT.VALUE          ; output BC with integer value
160
 
            ld b, c
161
 
            ld a, (BIOS_TEMP2)
162
 
            ld c, a
163
 
            ld hl, (BIOS_TEMP)
164
 
            ld a, 2
 
161
            ld (BIOS_TEMP3), bc
 
162
 
 
163
            ; bc = (x+1) * (y+1) = elements count
 
164
            ld hl, (BIOS_TEMP2)
 
165
            inc hl
 
166
            ;ld bc, (BIOS_TEMP3)
 
167
            inc bc
 
168
            call MATH.MULT.16     ; hl = hl * bc
 
169
 
 
170
            ld a, (BIOS_TEMP3)          ; 2nd dimension size
 
171
            inc a
 
172
            ld c, l
 
173
            ld b, h                     ; elements count
 
174
            ld hl, (BIOS_TEMP)          ; array variable
165
175
            jp ARRAY.DIM
166
176
        )"
167
177
    },
174
184
            pop.parm                    ; get parameter (dimension size)
175
185
            call CAST_TO.INT            ;
176
186
            call GET_INT.VALUE          ; output BC with integer value
177
 
            ld hl, (BIOS_TEMP)
178
 
            ld a, 1
 
187
            ld hl, (BIOS_TEMP)          ; array variable
 
188
            ld a, 1                     ; 2nd dimension size
 
189
            inc bc                      ; bc = elements count
179
190
            jp ARRAY.REDIM
180
191
        )"
181
192
    },
185
196
        R"(
186
197
            pop.parm                    ; get parameter (array variable)
187
198
            ld (BIOS_TEMP), hl
188
 
            pop.parm                    ; get parameter (dimension size)
 
199
            pop.parm                    ; get parameter (dimension x size)
189
200
            call CAST_TO.INT            ;
190
201
            call GET_INT.VALUE          ; output BC with integer value
191
202
            ld (BIOS_TEMP2), bc
192
 
            pop.parm                    ; get parameter (dimension size)
 
203
            pop.parm                    ; get parameter (dimension y size)
193
204
            call CAST_TO.INT            ;
194
205
            call GET_INT.VALUE          ; output BC with integer value
195
 
            ld b, c
196
 
            ld a, (BIOS_TEMP2)
197
 
            ld c, a
198
 
            ld hl, (BIOS_TEMP)
199
 
            ld a, 2
 
206
 
 
207
            ; bc = (x+1) * (y+1) = elements count
 
208
            ld hl, (BIOS_TEMP2)
 
209
            inc hl
 
210
            ;ld bc, (BIOS_TEMP3)
 
211
            inc bc
 
212
            call MATH.MULT.16     ; hl = hl * bc
 
213
 
 
214
            ld a, (BIOS_TEMP3)          ; 2nd dimension size
 
215
            inc a
 
216
            ld c, l
 
217
            ld b, h                     ; elements count
 
218
            ld hl, (BIOS_TEMP)          ; array variable
200
219
            jp ARRAY.REDIM
201
220
        )"
202
221
    },