Previous File Previous Page Single Page Next Page Next File

* NAME BASIC-MTHPAK DOC. 70181832000 REV. A PAGE 13

0382 * 0383 * 0384 * DOUBLE WORD ADDITION ROUTINE 0385 * 0386 * CALLING SEQUENCE: 0387 * 0388 * JST DADD FIRST ARGUMENT IN A AND 8 REGISTERS, SECOND 0389 * ARGUMENT IN SPECIFIED TEMPORARY STORAGE 0390 * LOCATIONS 0391 * ......RETURN RESULT IN A AND B REGISTERS 0392 * 0393 * 0394 * THIS ROUTINE ASSUMES THE ARGUMENTS ARE IN DOUBLE WORD FIXED 0395 * POINT FORMAT. THE LOW PARTS OF THE ARGUMENTS ARE ADDED, AND BIT 0396 * ONE IS COPIED INTO THE C BIT AND THEN SET TO ZERO. THE C BIT AND 0397 * THE HIGH PARTS OF THE TWO ARGUMENTS ARE ADDED TOGETHRR. IF THERE 0398 * IS NO OVERFLOW THE ROUTINE EXITS. OIHERWISE, THE RESULT IS SHIFTED 0399 * RIGHT AND THE EXPONENT IS INCREMENTED. 0400 * 0401 * 0402 00155 0 000000 DADD DAC ** DOUBLE ADDITION ROUTINE ENTRY 0403 00156 000201 IAB LOAD LOW X 0404 00157 0 06 00201 ADD LOW ADD LOW Y 0405 00160 140320 CSA CARRY INTO C 0406 00161 000201 IAB LOAD HIGH X 0407 00162 141216 ACA ADD CARRY 0408 00163 100001 SRC SKIP IF NO OVERFLOW 0409 00164 0 01 00174 JMP DA01 JUMP IF OVERFLOW 0410 00165 0 06 00200 ADD HIGH ADD HIGH Y 0411 00166 101001 SSC CHECK FOR OVERFLOW 0412 00167 -0 01 00155 JMP* DADD NO OVERFLOW - RETURN 0413 * 0414 * HERE IF OVERFLOW 0415 * 0416 00170 0401 77 DA02 LRS 1 OVERFLOW - SHIFT RIGHT 0417 00171 140024 CHS RESTORE THE SIGN 0418 00172 0 12 00152 IRS EXPT STEP THE EXPONENT 0419 00173 -0 01 00155 JMP* DADD RETURN 0420 * 0421 * CHECK HERE FOR COMPENSATING OVERFLOW 0422 * 0423 00174 0 06 00200 DA01 ADD HIGH ADD HIGH Y 0424 00175 100001 SRC CHECK FOR COMPENSATING OVERFLOW 0425 00176 -0 01 00155 JMP* DADD YES - RETURN 0426 00177 0 01 00170 JMP DA02 NO - OVERFLOW 0427 * 0428 * 0429 00200 000000 HIGH BSZ 1 0430 00201 000000 LOW BSZ 1 0431 EJCT
Previous File Previous Page Single Page Next Page Next File