****************************************** * * * SYSTEM MENU FOR ACCOUNTING PACKAGE * * SYS.COM by Dennis E. Baker 6/03/82 * * * ****************************************** B6A3 = ACC EQU 0B6A3H ;FIXED POINT ACCUMULATOR B5A4 = CHAIN EQU 0B5A4H ;ROUTINE CHAINS PROGRAMS B56C = CLR79 EQU 0B56CH ;CLEAR 79 COLUMNS B527 = CLSCRN EQU 0B527H ;CLEAR CONSOLE DISPLAY B58C = CRLF EQU 0B58CH ;CARRIAGE RETURN ROUTINE B26A = CURSOR EQU 0B26AH ;ROUTINE SETS CRT CURSOR B589 = DBCRLF EQU 0B589H ;DOUBLE CRLF B19D = EVALUE EQU 0B19DH ;STRING NUMERICAL CONVERT B0BB = HIZCHK EQU 0B0BBH ;CHECK FOR ACCUM < 256 B4B8 = INPUT EQU 0B4B8H ;KEYBOARD INPUT ROUTINE B6BC = IOADDR EQU 0B6BCH ;I/O ADDRESS POINTER B55B = MVPRNT EQU 0B55BH ;MOVE AND PRINT BUFFER B52A = OUTROW EQU 0B52AH ;STRING OUTPUT ROUTINE B6BF = PBUFER EQU 0B6BFH ;PRINT BUFFER B55E = PRNTBF EQU 0B55EH ;OUTPUT BUFFER TO SCREEN B59E = SETCON EQU 0B59EH ;SET CONSOLE OUTPUT 00FF = T EQU 0FFH ;TERMINATOR CHARACTER 0100 ORG 100H ;COM FILE START 0100 CD9EB5 SYSTEM: CALL SETCON ;SET CONSOLE DEVICE 0103 CD27B5 SCLR: CALL CLSCRN ;CLEAR SCREEN 0106 CD89B5 CALL DBCRLF 0109 3E0E MVI A,14 ;LINE COUNT 010B 32DA02 STA LCNTR ;TO COUNTER 010E CD6CB5 CALL CLR79 0111 212323 LXI H,2323H ;## 0114 22C9B6 SHLD PBUFER+10 0117 11C9B6 LXI D,PBUFER+10 011A 21CCB6 LXI H,PBUFER+13 011D 0638 MVI B,56 011F CD5BB5 CALL MVPRNT 0122 217701 LXI H,SYSMEN ;MENU LOCATION 0125 CD2AB5 MENLP: CALL OUTROW ;OUTPUT LINE 0128 CD8CB5 CALL CRLF ;CARR RET & LINE FEED 012B 21DA02 LXI H,LCNTR ;CNTR LOC 012E 35 DCR M ;CNTR-1 012F 2ABCB6 LHLD IOADDR ;RECALL LAST ADDRESS 0132 C22501 JNZ MENLP ;IF NOT LAST LINE 0135 CD5EB5 CALL PRNTBF 0138 211510 LXI H,1015H 013B CD6AB2 CALL CURSOR 013E 21B402 LXI H,SYSPRM ;GET PROMPT LOC 0141 CDB8B4 CALL INPUT ;INPUT CHOICE 0144 CD9DB1 CALL EVALUE ;GET NUMBER 0147 CD89B5 CALL DBCRLF 014A CDBBB0 CALL HIZCHK ;TEST FOR <256 014D C20301 JNZ SCLR ;TOO MUCH 0150 3AA3B6 LDA ACC 0153 B7 ORA A ;STATUS 0154 CA0301 JZ SCLR ;NO ZERO 0157 FA0301 JM SCLR ;OR NEG 015A FE0A CPI 10 ;COMPARE 10 015C F20301 JP SCLR ;>9 NO 015F 87 ADD A ;X2 0160 5F1600 MOV E,A! MVI D,0 0163 21BE02 LXI H,ABBREV-2 0166 19 DAD D 0167 5E23 MOV E,M! INX H 0169 56EB MOV D,M! XCHG 016B 22D302 SHLD FNAMES+1 016E 21D202 LXI H,FNAMES ;FILE NAMES LOC 0171 CDA4B5 CALL CHAIN ;CALL PROGRAM 0174 C30301 JMP SCLR ;IF NOT FOUND ON DISK 0177 8A2323B723SYSMEN: DB 138,35,35,183,35,35,T 017E 8A23239053 DB 138,35,35,144,'SOUTHERN OFFICE SYSTEMS' 0199 902323FF DB 144,35,35,T 019D 8A2323964D DB 138,35,35,150,'MASTER MENU',150,35,35,T 01B0 8A2323B723 DB 138,35,35,183,35,35,T 01B7 8A23238531 DB 138,35,35,133,'1. JOURNAL DATA ENTRY' 01D0 84352E2050 DB 132,'5. PERSONNEL/PAYROLL',133,35,35,T 01E9 8A2323B723 DB 138,35,35,183,35,35,T 01F0 8A23238532 DB 138,35,35,133,'2. ACCOUNTS RECEIVABLE' 020A 83362E2053 DB 131,'6. SPECIAL EDUCATION',133,35,35,T 0223 8A2323B723 DB 138,35,35,183,35,35,T 022A 8A23238533 DB 138,35,35,133,'3. ACCOUNTS PAYABLE' 0241 86372E2046 DB 134,'7. FUND ACCOUNTING',135,35,35,T 0258 8A2323B723 DB 138,35,35,183,35,35,T 025F 8A23238534 DB 138,35,35,133,'4. INVENTORY CONTROL' 0277 85382E2047 DB 133,'8. GENERAL LEDGER',136,35,35,T 028D 8A2323B723 DB 138,35,35,183,35,35,T 0294 8A23239E39 DB 138,35,35,158,'9. WORD PROCESSOR' 02A9 882323FF DB 136,35,35,T 02AD 8A2323B723 DB 138,35,35,183,35,35,T 02B4 594F555220SYSPRM: DB 'YOUR CHOICE',T 02C0 4A52415241ABBREV: DB 'JRARAPINPRSEFAGLWP' 02D2 004A523120FNAMES: DB 0,'JR1 ' 02DA 00 LCNTR: DB 0 ;MENU LINE COUNTER 02DB END RESULT:  138,35,35,158,'9. WORD PROCESSOR' 02A9 882323FF DB 136,35,35,T 02AD 8A2323B723 DB 138