ASMB,L NAM TVSET 12824-1X055 REV.2026 800506 ENT TVSET ************************************************************** * * NAME: TVSET * SOURCE: 12824-18055 * RELOC: PART OF 12824-16002 * PGMR: CG * * *********************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE * * * WITHOUT THE PRIOR CONSENT OF HEWLETT-PACKARD COMPANY. * * *********************************************************** * ************************************************************** EXT .VSET,.ENTR,$LIBR,$LIBX XIDEX EQU 1645B * IERR BSS 1 TVSET NOP JSB .ENTR GET ADDRESSES DEF IERR CLA INITIALIZE ERROR COUNT STA ERROR * ********************************************************************** * * CALL .VSET BY A NON-EMA PROGRAM * LDA XIDEX SAVE IDEX ADDR STA IDEX IN IDEX JSB $LIBR GO PRIVILEGED NOP CLA CLEAR IDEX ADDR STA XIDEX * CLA,INA SET A = 1 STA I1 SET I1 = 1 STA I2 SET I2 = 1 * JSB .VSET VECTOR SET-UP DEF RTN1 DEF VIN INPUT ADDR STRING DEF VOUT OUTPUT ADDR STRING DEF MAPS OUTPUT MAP TABLE OCT 0 NO SCALARS OCT 2 TWO VECTORS DEC 512 NMAX RTN1 JMP OK1 SHOULD RETURN HERE ISZ ERROR ERROR IF RETURNS HERE ISZ ERROR ERROR IF RETURNS HERE * OK1 CPA ASC22 TEST A REGISTER RSS OK (NO SKIP) ISZ ERROR ERROR IF SKIP CPB ASCVI TEST B REGISTER RSS OK(NO SKIP) ISZ ERROR ERROR IF SKIP * LDA IDEX RESTORE IDEX ADDR STA XIDEX JSB $LIBX GO UN-PRIVILEGED DEF *+1 DEF *+1 * ********************************************************************** SKP ********************************************************************** * * CALCULATE WHAT CORRECT OUTPUT WILL BE * ISZ IDEX POINT TO 2ND WORD OF IDEX XLA IDEX,I SET A = LOG START MSEG AND =B174000 RAR STA VANS1 1ST VECTOR LOG ADDR ADA =B5777 STA VANS2 2ND VECTOR LOG ADDR * ********************************************************************** * * EASY RETURN, IMAX = 1 * JSB EASY TEST SUBROUTINE * ********************************************************************** * * EASY RETURN, IMAX = 0 * CLA SET A = 0 STA I1 SET I1 = 0 STA I2 SET I2 = 0 JSB EASY TEST SUBROUTINE * ********************************************************************** * * HARD RETURN, I1 < 0 * CCA SET A = -1 STA I1 SET I1 = -1 LDA =D513 SET A = 513 JSB HARD TEST SUBROUTINE * ********************************************************************** * * HARD RETURN, I1 > I2 * LDA =D4 SET A = 4 STA I1 SET I1 = 4 LDA =D129 SET A = 129 JSB HARD TEST SUBROUTINE * ********************************************************************** SKP ********************************************************************** * * HARD RETURN, I2 > I1 * CLA SET A = 0 STA I1 SET I1 = 0 LDA =D4 SET A = 4 STA I2 SET I2 = 4 LDA =D129 SET A = 129 JSB HARD TEST SUBROUTINE * ********************************************************************** * LDA ERROR RETURN ERROR COUNT STA IERR,I JMP TVSET,I RETURN * ********************************************************************** SKP ********************************************************************** * EASY NOP JSB .VSET VECTOR SET-UP DEF ERTN DEF SIN INPUT ADDR STRING DEF SOUT OUTPUT ADDR STRING DEF MAPS OUTPUT MAP TABLE OCT 1 ONE SCALAR OCT 2 TWO VECTORS DEC 512 NMAX ERTN ISZ ERROR ERROR IF RETURNS HERE ISZ ERROR ERROR IF RETURNS HERE * SZA A SHOULD = 0 ISZ ERROR ERROR IF A NE 0 CPB =D4 B SHOULD = 4 RSS OK (NO SKIP) ISZ ERROR ERROR IF SKIP * LDA SIN COMPARE SCALAR ADDRESSES CPA SOUT RSS OK (NO SKIP) ISZ ERROR ERROR IF SKIP * JSB TEST TEST OUTPUT ADDR STRING, MAPS JMP EASY,I RETURN * ********************************************************************** * HARD NOP STA M SAVE A IN M JSB .VSET VECTOR SET-UP DEF HRTN DEF VIN INPUT ADDR STRING DEF VOUT OUTPUT VECTOR STRING DEF MAPS OUTPUT MAP TABLE OCT 0 NO SCALARS OCT 2 TWO VECTORS DEC 512 NMAX HRTN ISZ ERROR ERROR IF RETURNS HERE JMP HOK SHOULD RETURN HERE ISZ ERROR ERROR IF RETURNS HERE * HOK CPA M A SHOULD = M RSS OK (NO SKIP) ISZ ERROR ERROR IF SKIP * JSB TEST TEST OUTPUT STRING, MAPS JMP HARD,I RETURN * ********************************************************************** SKP ********************************************************************** * TEST NOP LDA XVOUT OUTPUT ADDR STRING LDB XVANS ANSWER ADDR STRING CMW =D5 JMP TOK SHOULD RETURN HERE ISZ ERROR ERROR IF RETURNS HERE ISZ ERROR ERROR IF RETURNS HERE * TOK LDA XMAPS OUTPUT MAP TABLE LDB XMAP1 ANSWER MAP TABLE CMW =D4 JMP TEST,I OK RETURN ISZ ERROR ERROR IF RETURNS HERE ISZ ERROR ERROR IF RETURNS HERE JMP TEST,I RETURN * ********************************************************************** SKP XVIN DEF VIN SIN OCT 1234 VIN DEF V1 DEF I1 DEF V2 DEF I2 DEF N * XVOUT DEF VOUT SOUT BSS 1 VOUT BSS 5 * XVANS DEF VANS1 VANS1 BSS 1 DEF I1 VANS2 BSS 1 DEF I2 DEF N * XMAPS DEF MAPS MAPS BSS 4 * XMAP1 DEF MAP1 MAP1 OCT 0 MAP2 OCT 1 MAP3 OCT 77 MAP4 OCT 100 * M BSS 1 * V1 OCT 0 OCT 0 I1 BSS 1 V2 OCT 177777 OCT 0 I2 BSS 1 N DEC 500 * ASC22 ASC 1,22 ASCVI ASC 1,VI * IDEX BSS 1 ERROR BSS 1 * END