ASMB,Q,C
*     NAME: .XSB
*     SOURCE: 92071-1X334 
*     RELOC: 92071-16334
*     PGMR:   DJN,HLC 
* 
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
* 
      NAM .XSB,6  92071-1X334 REV.2041  800731
      ENT .XSB
      EXT .A.,.B.,.ZPRV,.XST
* 
A     EQU 0 
B     EQU 1 
TEMP  NOP 
* 
* 
.XSB  NOP 
      JSB .ZPRV 
      DEF EXIT
      DST .A.       SAVE A AND B
      LDB .XSB,I    GET THE ADDRESS, MAY STILL HAVE INDIRECTS 
      ISZ .XSB      ADJUST RETURN 
* 
* THE ADDRESS OF THE STORE IS IN THE B REGISTER,
* BUT INDIRECTS STILL MUST BE RESOLVED. 
* 
BACK  SSB 
      JMP RESLV     ADDRESS IS INDIRECT 
* 
      LDA .B.       GET THE VALUE TO STORE
* 
* CHECK FOR CASES MEMORY CONTROLLER CAN'T HANDLE
* 
      SZB,RSS       ZERO CASE IS BAD
      JMP BADB
      CPB =D1       1 CASE IS ALSO BAD  
      JMP RSTR
* 
      JSB .XST      STORE THE VALUE 
      DEF B,I 
RSTR  DLD .A.       RESTORE REGISTERS 
EXIT  JMP .XSB,I    RETURN
      DEF .XSB
* 
RESLV ELB,CLE,ERB   CLEAR INDIRECT BIT (NO CHANGE TO E) 
      STB TEMP      SAVE IN CASE DEF A OR B,I 
      LDB .B.       RESTORE IN CASE DEF B,I 
      LDB TEMP,I    GET NEXT LEVEL ADDRESS
      JMP BACK
* 
BADB  LDB .B.       DO LOCAL MAP EQUIV. 
      JMP EXIT      EXIT
      END 
                                                                                                              