Previous Page Single Page Next Page  

* FIG FORTH FOR SERIES-16 MACHINES PAGE 103

4448 ENDC 4449 * SOFTWARE SIGNED DIVIDE 4450 04607 0 000000 SSDV DAC ** 4451 04610 1 02 00002 LDA 2,1 MS WORD OF DIVIDEND 4452 04611 0 04 00107 STA T4 4453 04612 101400 SMI NEGATIVE? 4454 04613 0 01 04627 JMP SSD1 4455 04614 1 02 00003 LDA 3,1 LS WORD OF DIVIDEND 4456 04615 140407 TCA NEGATE 4457 04616 1 04 00003 STA 3,1 4458 04617 140200 RCB 4459 04620 0 05 00713 ERA ='100000 MIN. INT VALUE? 4460 04621 101040 SNZ NO 4461 04622 140600 SCB YES - SET CARRY 4462 04623 1 02 00002 LDA 2,1 MS WORD OF DIVIDEND 4463 04624 0 05 00715 ERA =-1 COMPLEMENT 4464 04625 141216 ACA ADD ANY CARRY IN 4465 04626 1 04 00002 STA 2,1 4466 04627 1 02 00001 SSD1 LDA 1,1 DIVISOR 4467 04630 0 04 00110 STA T5 4468 04631 100400 SPL NEGATIVE? 4469 04632 140407 TCA YES - NEGATE 4470 04633 1 04 00001 STA 1,1 4471 04634 0 10 01210 JST DIVU UNSIGNED DIVIDE 4472 04635 0 02 00107 LDA T4 ORIGINAL SIGN OF DIVIDEND 4473 04636 101400 SMI 4474 04637 0 01 04643 JMP SSD2 4475 04640 1 02 00002 LDA 2,1 REMAINDER 4476 04641 140407 TCA 4477 04642 1 04 00002 STA 2,1 4478 04643 0 02 00107 SSD2 LDA T4 ORIGINAL SIGN OF DIVIDEND 4479 04644 0 05 00110 ERA T5 ORIGINAL SIGN OF DIVISOR 4480 04645 101400 SMI 4481 04646 -0 01 04607 JMP* SSDV 4482 04647 1 02 00001 LDA 1,1 QUOTIENT 4483 04650 140407 TCA 4484 04651 1 04 00001 STA 1,1 4485 04652 -0 01 04607 JMP* SSDV 4486 EJCT
  Previous Page Single Page Next Page