8200 ;RUTIN DIV 8201 ; 32/32 BITS DIVISION. VARJE 8202 ; TAL 16 BIT HELTAL 16 BIT DECIMALTAL 8203 ; ENDAST POSSITIVA HEXADECIMALA TAL 8204 ; IN VARIABLER DVD 4 BYTE 8205 ; DVS 4 BYTE 8206 ; UT DVD/DVS= DD 4 BYTE 8207 ; 8208 DVD EQU 3024H 8209 DVS EQU 3028H 8210 DD EQU 302CH 8211 ; 8212 ORG 2F8FH 8213 DIV PUSH AF 8214 PUSH BC 8215 PUSH DE 8216 PUSH HL 8217 EXX 8218 PUSH BC 8219 PUSH DE 8220 PUSH HL 8221 EXX 8222 ; 8223 LD A,(DVD+2) 8224 LD C,A 8225 LD A,(DVD+3) ; DVDhigh i AC 8226 LD HL,0H ; RESTlow i HL 8227 LD DE,(DVS) ; DVSlow i DE 8228 EXX 8229 LD HL,0H ; RESThigh i HL' 8230 LD DE,(DVS+2) ; DVShigh i DE' 8231 EXX 8232 CALL DSUB ; DDextrahigh SKIPPAS 8233 LD A,(DVD) 8234 LD C,A 8235 LD A,(DVD+1) 8236 CALL DSUB ; DDhigh LAGRAS 8237 LD (DD+3),A 8238 LD A,C 8239 LD (DD+2),A 8240 LD A,0H 8241 LD C,0H 8242 CALL DSUB ; DDlow LAGRAS 8243 LD (DD+1),A 8244 LD A,C 8245 LD (DD),A 8246 ; 8247 EXX 8248 POP HL 8249 POP DE 8250 POP BC 8251 EXX 8252 POP HL 8253 POP DE 8254 POP BC 8255 POP AF 8256 RET 8257 ; 8258 ; 8259 DSUB LD B,10H 8260 ; 8261 D1 RL C ; CARRY IN CARRY UT 8262 RLA 8263 ADC HL,HL 8264 EXX 8265 ADC HL,HL ; REST SKIFTAD 8266 EXX 8267 ; 8268 SBC HL,DE 8269 EXX 8270 SBC HL,DE ; REST-DVS 8271 EXX 8272 JR NC,D2 8273 ADD HL,DE ; RESTORE ??? 8274 EXX 8275 ADC HL,DE 8276 EXX 8277 SCF 8278 CCF 8279 DJNZ D1 8280 JR D3 8281 ; 8282 D2 SCF 8283 DJNZ D1 8284 ; 8285 D3 RL C 8286 RLA 8287 RET