cdc:nos2.source:opl.opl871:deck:keyutil
Deck KEYUTIL
1 Modification
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.keyutil +++| IDENT KEYUTIL 00002 M01S00002.keyutil +++| MACHINE Z80 00003 M01S00003.keyutil +++| TITLE KEYUTIL - KEY UTILITY HOST LOADED CONTROLWARE. 00004 M01S00004.keyutil +++|*COMMENT KEYUTIL - KEY UTILITY HOST LOADED CONTROLWARE.
Line S00005 Modification History | |
---|---|
M01 (Added by) | keyutil |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00005 M02S00005.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1984. 00006 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00007 M01S00006.keyutil +++| KYU SPACE 4,10 00008 M01S00007.keyutil +++|*** KEYUTIL - KEY UTILITY HOST LOADED CONTROLWARE. 00009 M01S00008.keyutil +++|* 00010 M01S00009.keyutil +++|* W. F. ANSLEY. 83/06/01. 00011 M01S00010.keyutil +++|* M. L. SWANSON. 85/01/03. 00012 M01S00011.keyutil +++| KYU SPACE 4,10 00013 M01S00012.keyutil +++|*** *KEYUTIL* IS THE SOURCE CODE FOR THE Z80 PROGRAM THAT 00014 M01S00013.keyutil +++|* IS LOADED INTO THE 721 TERMINAL BY THE *KEY* UTILITY. 00015 M01S00014.keyutil +++|* THE PROGRAM *KEYEX* ACTUALLY HAS THE BINARY FOR THIS 00016 M01S00015.keyutil +++|* PROGRAM HARDCODED WITHIN ITSELF; THIS PROGRAM IS INCLUDED 00017 M01S00016.keyutil +++|* ON THE OPL FOR DOCUMENTATION PURPOSES ONLY. IF ANY 00018 M01S00017.keyutil +++|* CHANGES ARE MADE TO THIS PROGRAM, CORRESPONDING CHANGES 00019 M01S00018.keyutil +++|* MUST BE MADE TO THE HARDCODED VALUES WITHIN *KEYEX*. 00020 M01S00019.keyutil +++| KYU SPACE 4,10 00021 M01S00020.keyutil +++|*** ASSEMBLY CONSTANTS. 00022 M01S00021.keyutil +++| 00023 M01S00022.keyutil +++|SENDB EQU #0087 SEND CHARACTER IN B 00024 M01S00023.keyutil +++|OBYTE2 EQU #E047 00025 M01S00024.keyutil +++|DLMENA EQU #E0B9 00026 M01S00025.keyutil +++|KYT EQU #D7E0 KEY TABLE ADDRESS 00027 M01S00026.keyutil +++|KTL EQU #F0 KEY TABLE LENGTH 00028 M01S00027.keyutil +++|DEFB EQU #C000 DEFINITION BUFFER 00029 M01S00028.keyutil +++|DFBE EQU #CAFF DEFINITION BUFFER END 00030 M01S00029.keyutil +++| 00031 M01S00030.keyutil +++| ORG #D100 00032 M01S00031.keyutil +++| 00033 M01S00032.keyutil +++| KYU SPACE 4,25 00034 M01S00033.keyutil +++|*** PUSH - PUSH FUNCTION KEY DEFINITIONS. 00035 M01S00034.keyutil +++|* 00036 M01S00035.keyutil +++|* *PUSH* COPIES THE IMAGE OF THE CURRENT KEY DEFINITIONS 00037 M01S00036.keyutil +++|* AND COPIES IT TO A BUFFER WITHIN THE TERMINAL. 00038 M01S00037.keyutil +++|* 00039 M01S00038.keyutil +++|* CALLS RESET. 00040 M01S00039.keyutil +++| 00041 M01S00040.keyutil +++|PUSH BSS 0 PUSH ROUTINE 00042 M01S00041.keyutil +++| LD DE,SKTB GET KEY TABLE ADDRESS 00043 M01S00042.keyutil +++| LD BC,KTL GET BYTE COUNTER 00044 M01S00043.keyutil +++| LD HL,KYT GET KEY TABLE SAVE AREA 00045 M01S00044.keyutil +++| LDIR PUSH KEY TABLE 00046 M01S00045.keyutil +++| LD A,(OBYTE2) 00047 M01S00046.keyutil +++| LD (OBS2),A SAVE SETUP CHARACTERISTICS 00048 M01S00047.keyutil +++| LD A,(DLMENA) 00049 M01S00048.keyutil +++| LD (DLMS),A SAVE DELIMITER FLAG 00050 M01S00049.keyutil +++| SCF CARRIAGE RETURN AFTER FUNCTION KEY 00051 M01S00050.keyutil +++| CCF CLEAR CARRY FLAG 00052 M01S00051.keyutil +++| LD A,(DEFB) GET LENGTH OF KEY DEFINITIONS 00053 M01S00052.keyutil +++| LD D,A 00054 M01S00053.keyutil +++| LD A,(DEFB+1) 00055 M01S00054.keyutil +++| LD E,A 00056 M01S00055.keyutil +++| INC DE 00057 M01S00056.keyutil +++| INC DE SET DE TO LENGTH+2 00058 M01S00057.keyutil +++| LD (DFLS),DE SAVE TOTAL LENGTH 00059 M01S00058.keyutil +++| LD HL,DFBE MOVE HL TO END OF DEF BUFF 00060 M01S00059.keyutil +++| SBC HL,DE SET HL TO START OF PUSH AREA 00061 M01S00060.keyutil +++| LD (DFSA),HL SAVE WHERE MOVED 00062 M01S00061.keyutil +++| EX DE,HL MOVE DE TO LOCATION MOVED 00063 M01S00062.keyutil +++| LD HL,DEFB SET HL TO KEY DEFINITION BUFFER 00064 M01S00063.keyutil +++| LD BC,(DFLS) SET NUMBER OF BYTES TO MOVE 00065 M01S00064.keyutil +++| LDIR PUSH DEFINITIONS 00066 M01S00065.keyutil +++| CALL RESET RESET DEFINITION TABLE 00067 M01S00066.keyutil +++| RET RETURN 00068 M01S00067.keyutil +++| 00069 M01S00068.keyutil +++| KYU SPACE 4,25 00070 M01S00069.keyutil +++|*** POP - POP FUNCTION KEY DEFINITIONS. 00071 M01S00070.keyutil +++|* 00072 M01S00071.keyutil +++|* *POP* COPIES THE STORED FUNCTION KEY DEFINITIONS 00073 M01S00072.keyutil +++|* FROM THE BUFFER WITHIN THE TERMINAL TO THE 00074 M01S00073.keyutil +++|* RESIDENT FUNCTION KEY DEFINITION AREA. 00075 M01S00074.keyutil +++| 00076 M01S00075.keyutil +++|POP BSS 0 ENTRY 00077 M01S00076.keyutil +++| LD HL,SKTB RESTORE KEY TABLE BUFFER ADDRESS 00078 M01S00077.keyutil +++| LD BC,KTL RESTORE KEY TABLE LENGTH 00079 M01S00078.keyutil +++| LD DE,KYT RESTORE KEY TABLE AREA 00080 M01S00079.keyutil +++| LDIR RETURN USERS DEFINITIONS 00081 M01S00080.keyutil +++| LD A,(OBS2) 00082 M01S00081.keyutil +++| LD (OBYTE2),A RESTORE OBYTE2 00083 M01S00082.keyutil +++| LD A,(DLMS) 00084 M01S00083.keyutil +++| LD (DLMENA),A RESTORE DELIMITER FLAG 00085 M01S00084.keyutil +++| LD HL,(DFSA) DEF SAVED ADDRESS 00086 M01S00085.keyutil +++| LD A,H 00087 M01S00086.keyutil +++| OR L 00088 M01S00087.keyutil +++| RET Z IF NONE 00089 M01S00088.keyutil +++| 00090 M01S00089.keyutil +++| LD DE,DEFB RESTORE DEFINITION BUFFER 00091 M01S00090.keyutil +++| LD BC,(DFLS) NUMBER OF BYTES TO MOVE 00092 M01S00091.keyutil +++| LDIR RESTORE DEFINITIONS 00093 M01S00092.keyutil +++| RET RETURN 00094 M01S00093.keyutil +++| 00095 M01S00094.keyutil +++| KYU SPACE 4,25 00096 M01S00095.keyutil +++|*** RESET - RESET DEFINITION TABLE. 00097 M01S00096.keyutil +++|* 00098 M01S00097.keyutil +++|* *RESET* INITIALIZES THE RESIDENT KEY DEFINITION TABLE 00099 M01S00098.keyutil +++|* WITHIN THE TERMINAL. 00100 M01S00099.keyutil +++| 00101 M01S00100.keyutil +++|RESET BSS 0 ENTRY 00102 M01S00101.keyutil +++| LD A,(OBYTE2) GET OBYTE2 00103 M01S00102.keyutil +++| OR 2 SET NUMERIC PAD SHIFTED 00104 M01S00103.keyutil +++| LD (OBYTE2),A REPLACE OBYTE2 00105 M01S00104.keyutil +++| LD A,0 00106 M01S00105.keyutil +++| LD (DLMENA),A SET DELIMITER FLAG FALSE 00107 M01S00106.keyutil +++| LD BC,KTL+3 00108 M01S00107.keyutil +++|RESET1 BSS 0 00109 M01S00108.keyutil +++| DEC BC 00110 M01S00109.keyutil +++| DEC BC 00111 M01S00110.keyutil +++| DEC BC 00112 M01S00111.keyutil +++| LD A,B 00113 M01S00112.keyutil +++| OR C 00114 M01S00113.keyutil +++| RET Z UNTIL DONE WITH TABLE 00115 M01S00114.keyutil +++| 00116 M01S00115.keyutil +++| LD HL,KYT-3 SET HL TO KEY TABLE-3 00117 M01S00116.keyutil +++| ADD HL,BC SET HL TO DEFINITION BYTE 00118 M01S00117.keyutil +++| LD (HL),#30 UNDEFINE KEY 00119 M01S00118.keyutil +++| JR RESET1 00120 M01S00119.keyutil +++| 00121 M01S00120.keyutil +++| KYU SPACE 4,25 00122 M01S00121.keyutil +++|*** LABEL - GET LABELS FROM MEMORY. 00123 M01S00122.keyutil +++|* 00124 M01S00123.keyutil +++|* *LABEL* RETRIEVES THE STORED FUNCTION KEY LABELS 00125 M01S00124.keyutil +++|* FROM WITHIN THE TERMINAL MEMORY. 00126 M01S00125.keyutil +++|* 00127 M01S00126.keyutil +++|* CALLS POP, PUSH, SENDB. 00128 M01S00127.keyutil +++| 00129 M01S00128.keyutil +++|LABEL BSS 0 ENTRY 00130 M01S00129.keyutil +++| LD A,(#D8DD) 00131 M01S00130.keyutil +++| LD H,A 00132 M01S00131.keyutil +++| LD A,(#D8DE) 00133 M01S00132.keyutil +++| LD L,A 00134 M01S00133.keyutil +++|LABEL1 BSS 0 00135 M01S00134.keyutil +++| LD B,(HL) 00136 M01S00135.keyutil +++| LD A,B 00137 M01S00136.keyutil +++| CP #FF 00138 M01S00137.keyutil +++| JP Z,LABEL2 UNTIL REACH LAST BYTE 00139 M01S00138.keyutil +++| 00140 M01S00139.keyutil +++| PUSH HL 00141 M01S00140.keyutil +++| CALL SENDB SEND CHARACTER TO HOST 00142 M01S00141.keyutil +++| POP HL 00143 M01S00142.keyutil +++| INC HL TO NEXT CHARACTER 00144 M01S00143.keyutil +++| JR LABEL1 00145 M01S00144.keyutil +++|LABEL2 BSS 0 00146 M01S00145.keyutil +++| LD B,#0D 00147 M01S00146.keyutil +++| CALL SENDB SEND CARRIAGE RETURN 00148 M01S00147.keyutil +++| RET RETURN 00149 M01S00148.keyutil +++| 00150 M01S00149.keyutil +++|DFSA BSS 2 DEFINITIONS SAVED ADDRESS 00151 M01S00150.keyutil +++|SKTB BSS KTL SAVE KEY TABLE BUFFER 00152 M01S00151.keyutil +++|OBS2 CON 0 OBYTE2 SAVE AREA 00153 M01S00152.keyutil +++|DLMS CON 0 DELMENA SAVE AREA 00154 M01S00153.keyutil +++|DFLS CON 0 DEF LENGTH SAVE AREA 00155 M01S00154.keyutil +++| 00156 M01S00155.keyutil +++| END
cdc/nos2.source/opl.opl871/deck/keyutil.txt ยท Last modified: by 127.0.0.1