10.07.2015 Views

1130 Commercial Subroutine Package - All about the IBM 1130 ...

1130 Commercial Subroutine Package - All about the IBM 1130 ...

1130 Commercial Subroutine Package - All about the IBM 1130 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ADDA1A3// ASM** DPACK/DUNPK SUBROUTINES FOR <strong>1130</strong> COMMERCIAL SUBROUTINE PACKAGE 11D)CSP08210CSP08220• NAME DUNPK(ID) CSP08230* LISTCSP08240A1DEC0000 04915502 ENT DUNPK DUNPK SUBROUTINE ENTRY POINT CSP08250• CALL DUNPK(JCARDoJtJLASToKCARD,K) CSP08260•THE WORDS JCARDIJ) THROUGHCSP08270A3A1*JCAROULASTI IN D4 FORMAT ARECSP08280• UNPACKED INTO KCARD IN DI FORMAT. CSP08290CARRY 0006 045C1002ENT DPACK ()PACK SUBROUTINE ENTRY POINT CSP08300*CALL DPACKIJCARD,JIJLASTACARD.K) CSP08310DECA1*THE WORDS JCARD1J) THROUGHCSP08320DIV* JCARD1JLAST) IN DI FORMAT ARE PACKED CSP083300000 0000•DUNPKINTO KCARD IN D4 FORMAT.DC *..* ARGUMENT ADDRESS COMES IN HERECSP08340CSP08350DPACK 0002 D020STO SWTCH STORE NOP AT SWITCHCSP083700001 0003LD 5W2 LOAD NOP INSTRUCTIONCSP083600003 7007MD% START COMPUTINGCSP083800004 7027 SW1 MDX X ELSE-SWTCH-1 BRANCH TO ELSECSP083900005 7000SW2 MD% X 0 NOP INSTRUCTIONCSP084000006 0000DPACK DC •* ARGUMENT ADDRESS COMES IN HERE CSP084100007 COFELD DPACK PICK UP ARGUMENT ADDRESSCSP08420DUNPKEDITFILLGET00080009D0F7COFASTO DUNPK AND STORE IT IN DUNPKLD SW1 LOAD BRANCH TO ELSECSP08430CSP08440000A 0018STO SWTCH STORE BRANCH AT SWITCHCSP084500008 6952 START STX 1 SAVE1+1 SAVE IR1CSP08460000C 6A53 STX 2 SAVE2+1 SAVE IR2 CSPOB470ICOMP 0000 1 65800000 LOX Il DUNPK PUT ARGUMENT ADDRESS IN IR1 CSP08480000F C100 LD 1 0 GET JCARD ADDRESS CSP084900010 8001A ONE+1 ADD CONSTANT OF 1CSP08500IOND0011 0 95800001 ONE S 11 1 SUBTRACT J VALUECSP08510KEYBD 0013 DOORSTO JCARD+1 CREATE JCARDIA ADDRESSCSP085200014 C103LD 1 3 GET KCARD ADDRESSCSP085300015 80FCA ONE+1 ADD CONSTANT OF 1CSP08540MOVE0 FOUR0016 95800004 S 11 4 SUBTRACT K VALUECSP08550MPY0018 D006 STO KCARD+1 CREATE KCARD1K) ADDRESS CSP085600019 C100 LD 1 0 GET JCARD ADDRESS CSP08570001A 80F7 A ONE+1 ADD CONSTANT OF 1 CSPOS5800016 0 95800002S 11 2 SUBTRACT JLAST VALUECSP08590NCOMP 001D DOE8STO DPACK CREATE JCARDWLASI) ADDRESS CSP08600001E 0 65000000 KCARD LDX LI *—* PUT KCARD ADDRESS IN IR1CSP08610NSIGN 0020 0 C4000000 JCARD LD L 41...* PICK UP JCARD(J)CSP086200022 6204 LDX 2 4 LOAD IR2 WITH 4, DIGITS/WORD CSP08630NZONE 0023 7000 SWTCH MDX X 0 SWITCH BETWEEN DPACK AND DUNPK CSP086400024 1890 SRI 16 TEMPORARILY SAVE ACCUM IN EXTNTN CSP08650* CHECK FOR JCARD1JLAST1CSP08660PACK0025 COFBLD JCARD+1 PICK UP CURRENT JCARD ADDR CSP006700026 90DFS DPACK SUBTRACT JCARDWLAST)CSP08680PRINT 0027 1 4C080059BSC L ALL0011+ IF ZERO. ALL DONE ALLDO CSP086900029 1810AGAIN SRA 16 NOT DONE — CLEAR ACCUMULATOR CSP08700PUNCH 002A 1084SLT 4 GET FIRST DIGIT OF WORDCSP08710PUT0028 FOOA FOR HOOOF IS IT FILLER CSP08720002C 1 4C180031BSC L NEXT.+ — YES — GO TO NEXTCSP08730002E F007FOR HOOOF NO — RESTORE TO ORIGINALCSP08740002E D100STO 1 0 STORE IN KCARDCSP08750P14030030 71FFMDX 1 — 1 GO TO NEXT WORD OF KCARDCSP087600031 72FF NEXT MDX 2 — 1 DECREMENT DIGITS/WORD CSP08770P1442READR2501SKIPSTACKSUBS1403TYPERUNPACWHOLEPAGE 20032 0 70F6 MOX AGAIN MORE IN THIS WORD — GO BACK CSP087800033 01 74FF0021MD% L JCARD+11,1 THIS WORD DONECSP08790*GET NEXT WORD IN JCARDCSP088000035 0 70EAMDX JCARD GO BACKCSP088100036 0 000F HOOOF DC /000F CONSTANT OF 15 TO DETECT FILLER CSP088200037 01 74010021 EN MDX L JCARD+1,1 BACK UP JCARD FOR SIGN CSP088300039 0 6AE5SIX 2 KCARD+1 IF DIGITS/WORD IS FOUR,CSP08840003A 0 COE4 LD KCARD+1 ALL DONE EXCEPT FOR SIGN CSP088500038 0 90DB S FOUR+1 SUBTRACT FOUR FROM DIGITS/WORD CSP08860003C 01 4C180046 BSC L LASTg+-. IF ZERO ALL DONE ■ GO LAST CSP08870003E 0 1884 SRT 4 NOT DONE TAKE OUT SIGN C5P08880003F 0 CO23 BACK LD HF000 PUT IN FILLER CSP088900040 0 180C RTE 28 SET FILLER IN LOW ORDER OF EXTN CSP089000041 0 72FF MD% 2 — 1 DECREMENT DIGITS/WORD CSP089100042 0 70FC MD% BACK MORE .. GO BACK C5P089200043 0 1090 SLT 16 DONE .. PUT EXTENSION IN ACCUM CSP089300044 0 D100 STO 1 0 STORE IN KCARD CSP089400045 0 71FF MDX 1 -. I GET NEXT WORD OF KCARD FOR SIGN CSP089500046 01 C4800021 LAST LD I JCARD+1 PICK UP SIGN OF JCARD CSP089600048 0 7011 MDX ALLDO+1 GO TO INSTRUCTION AFTER ALLDO CSP089700049 01 C4800021 OVR LD I JCARD+1 PICK UP NEXT JCARD DIGIT CSP089000046 0 100C ELSE SLA 12 PUT DIGIT IN HIGH ORDER OF ACC CSP08990004C 0 18DC RTE 28 SET DIGIT IN LOW ORDER OF EXTN CSP09000004D 01 74FF0021 MD% L JCARD+10 ■ 1 GET NEXT JCARD WORD CSP09010* CHECK FOR JCARDWLAST) CSP09020004F 0 0001 LD JCARD+1 PICK UP CURRENT JCARD ADDR CSP090300050 0 9085 S DPACK SUBTRACT JCARD1JLAST) CSP090400051 01 4C280037 BSC L EN.+Z IF ZERO,ALL DONE ■ GO TO EN CSP090500053 0 72FF MD% 2 — 1 NOT DONE-DECREMENT DIGITS/WORD CSP090600054 0 70F4 MDX OVR GO BACK FOR NEXT DIGIT CSP090700055 0 1090 SLT 16 WORD FULL —PUT EXTN IN ACCUM CSP090800056 0 D100 STO 1 0 STORE IN KCARD CSP090900057 0 71FF MDX 1 .. I GET NEXT KCARD WORD CSP091000058 0 7007 MDX JCARD GO BACK CSP091100059 0 1090 ALLDO SLT 16 DONE-PUT EXTENSION IN ACCUMULTR CSP09120005A 0 D100 STO 1 0 STORE SIGN IN KCARD CSP091300056 01 74050000 MDX L DUNPK,5 CREATE RETURN ADDRESS CSP091400050 00 65000000 SAVE1 LDX LI •.. RESTORE IR1 CSP09150005F 00 66000000 SAVE2 LDX L2 if .* RESTORE IR2 CSP091600061 01 4C800000 BSC I DUNPK RETURN TO CALLING PROGRAM CSP091700063 0 F000 HF000 DC /F000 CONSTANT OF 15 FOR FILLER CSP091800064 END CSP09190NO ERRORS IN ABOVE ASSEMBLY.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!