Previous Page Single Page Next Page  

* NAME: AB16-CCT4 DOC 70180658000 REV H PAGE 65

3079 05433 101400 SMI IS NUMERATOR LARGEST NEGATIVE NUMBER 3080 05434 0 01 05436 JMP *+2 NO CONTINUE , NORMAL 3081 05435 0 01 05453 JMP DIVZ ERROR EXIT ILLEGAL DIVIDE 3082 05436 0 04 05525 STA COMN+1 3083 05437 -0 02 05417 LDA* DIV CHECK SIGN OF DIVISOR 3084 05440 101400 SMI 3085 05441 0 01 05462 JMP DIVC 3086 05442 140407 TCA TWO'S COMPLEMENT DIVISOR 3087 05443 101400 SMI TEST FOR LARGEST NEGATIVE NUMBER 3088 05444 0 01 05450 JMP DIVA DIVIDE DIVIDEND , DIVISOR SAME SIGN 3089 05445 0 02 05525 LDA COMN+1 3090 05446 000201 IAB 3091 05447 0 01 05451 JMP DIVX 3092 05450 0 10 05475 DIVA JST DIVS DIVIDE IF DIVISOR AND DIV SAME SIGN 3093 05451 0 12 05417 DIVX IRS DIV INCREMENT FOP NORMAL RETURN 3094 05452 000201 IAB QUOTIENT IN A REG, REMAINDER IN B 3095 05453 0 12 05417 DIVZ IRS DIV ERROR EXIT 3096 05454 -0 01 05417 JMP* DIV EXIT 3097 * 3098 05455 0 04 05525 DIVB STA COMN+1 STORE MOST SIGNIF. HALF OF DIVIDEND 3099 05456 -0 02 05417 LDA* DIV CHECK SIGN OF DIVISOR 3100 05457 101400 SMI COMPLEMENT ON NEGATIVE 3101 05460 0 01 05450 JMP DIVA DIVIDE OPERANDS ARE OF SAME SIGN 3102 05461 140407 TCA TWOS COMPLEMENT 3103 05462 101400 DIVC SMI CHECK DENOMINATOR FOR LARGEST NEGATIVE NO. 3104 05463 0 01 05467 JMP DIVN NOT LNN 3105 05464 0 02 05525 LDA COMN+1 RESULT SIGN WILL BE NEGATIVE 3106 05465 000201 IAB RESULT IS NUMERATOR 3107 05466 0 01 05470 JMP *+2 BY PASS DIVIDE COMPLEMENT RESULT 3108 05467 0 10 05475 DIVN JST DIVS DIVIDE 3109 * RETURN HERE ON NEGATIVE RESULT 3110 05470 000201 IAB COMPLEMENT QUOTIENT AND REMAINDER 3111 05471 140407 TCA 3112 05472 000201 IAB 3113 05473 140407 TCA 3114 05474 0 01 05451 JMP DIVX EXIT 3115 * 3116 * DIVIDE ROUTINE WITH HIGH ORDER DIVIDEND IN 3117 * COMMON +1,LOW ORDER DIVIDEND IN B REG AND 3118 * DIVISOR IN A REGISTER 3119 * 3120 05475 000000 DIVS HLT 3121 05476 0 04 05524 STA COMN A SAVE DIVISOR 3122 05477 0 02 05755 LDA =-15 3123 05500 0 04 05526 STA COMN+2 LOOP COUNTER 3124 05501 0410 77 LLL 1 MOVE LOW ORDER LEFT 1 3125 05502 0 02 05525 LDA COMN+1 LOAD HI ORDER 3126 05503 0 11 05524 CAS COMN COMPARE DIVIDEND AND DIVISOR 3127 05504 0 01 05453 JMP DIVZ DIVIDEND GTR THAN OR 3128 05505 0 01 05453 JMP DIVZ EQUAL TO GO TO ERROR RETURN
  Previous Page Single Page Next Page