ASMB
      NAM SIZE,7 92069-16210 REV.1912 031579
* 
* 
******************************************************************
* (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS RESERVED 
* NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR
* TRANSLATED TO ANOTHER PROGRAM LANGUAGE WIOTH OUT THE PRIOR
* WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. 
******************************************************************* 
* 
* 
*     SOURCE:    92069-18210
*     RELOC:     92069-16210
* 
* 
*****************************************************************:
* 
* 
* 
* 
* 
      ENT SIZE
      EXT .ENTR 
* 
* 
* 
* 
* 
NREC  NOP 
RECLN NOP 
IERR  NOP 
SIZE  NOP 
      JSB .ENTR 
      DEF NREC
* 
      LDA NREC,I    DO LONG HAND DIVISION CREATING A 3 WORD RESULT
      MPY RECLN,I   MULTIPLY THE HIGH ORDER WORD
      DST TEMP      TEMP+1 = UPPER, TEMP = MIDDLE1
* 
      ISZ NREC      ADVANCE TO SECOND HALF OF NREC
* 
      LDA NREC,I    MULTIPLY LOWER HALF OF NREC 
      MPY RECLN,I   B = MIDDLE2,  A = LOWER 
* 
      SSB           IF BIT15 OF NREC(2) IS SET THEN TURN THE RESULT 
      ADB RECLN,I   BACK INTO A UNSIGNED INTEGER. 
* 
      CLE           ADD THE MIDDLE TWO VALUES PROPAGATING THE OVERFLOW
      ADB TEMP        TO THE THIRD OR UPPER WORD. 
      STB TEMP
* 
      SEZ           PROPAGATE THE OVERFLOW
      ISZ TEMP+1
* 
* 
*                   THE OVERFLOW IS DONE, LEAVING THE THREE WORD RESULT 
*                   IN THE FOLLOWING MEMORY LOCATIONS:
*                      TEMP+1, B, A 
*                          AND ALSO IN: 
*                      TEMP+1, TEMP, A
* 
* 
* 
      LSR 7         DIVID BY 128
      STA RES       SAVE THE LOWER WORD 
      DLD TEMP      PICK UP THE HIGH AND MIDDLE WORD
      LSR 7 
* 
      ASL 16        CHECK FOR OVERFLOW RESULT AFTER DIVID 
      CLA             SET THE ERROR INDICATOR 
      SOC 
      CCA 
      STA IERR,I
* 
      LDA B 
      LDB RES 
* 
      JMP SIZE,I
RES   NOP 
TEMP  BSS 2 
A     EQU 0 
B     EQU 1 
      END 
                                                                                                                                                                                                                  