Digital PDFs
Documents
Guest
Register
Log In
DIGITAL-8-18-U
December 1967
8 pages
Original
0.3MB
view
download
Document:
digital-8-18-u-d
Order Number:
DIGITAL-8-18-U
Revision:
Pages:
8
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/digital-8-18-u/digital-8-18-u-d.pdf
OCR Text
IDENTIFICATION PRODUCT CODE: Digital-8—I8—U-Sym PRODUCT NAME: Alphanumeric Message Typeouf DATE CREATED: February 16, I967 MAINTAINER: Software Service Group POP-8 LIBRARY Digital-8-l8— U-Sym l ABSTRACT . A basic subroutine to type messages packed in computer words. packed internally in a single word. 243 and 245) can be typed. Two 6-bit characters are All ASR—33 codes from 30] to 337 and from 240 to 277 (excepting The typing of line-feed (code 2l2) and carriage-return possible by arbitrarily assigning internal codes of 43 and 45, respectively, thus preventing the output of ASCII codes 243 (#) and 245 (%) to (code 215) are made represent these characters, . REQUIREMENTS 2. Storage This subroutine occupies 48 (decimal) storage locations in core plus autoindex register l0 (octal) on page 0. Equipment Basic PDP-8 3 USAGE . 3 .l Loading This subroutine may be placed in memory by the use of the Binary Loader. supplied 3.2 The library tape is symbolic. Calling Sequence The calling sequence is designed so that the user may easily incorporate messages in his pro- gram. The tollowing example illustrates a simple usage of this program. /TEST 8-18-U /START ADDRESS IS 400 /PRINTS AB HI E.R. Dow AND HALTS AT LOC. 407 *400 /ORIGIN AT 400 JMS START, IADDR/ JMS To MESSAGE SUBR 0102 /AB 1011 /HI 0556 /E. 2255 /R. 0417 /Do 2700 /W+ END CHAR HLT END, /END OF PROGRAM MESSAGE ADDR, /ADDRESS OF MESSAGE TYPEOUT SUBROUTINE 4. RESTRICTIONS The end—of—message code consists of 008 or (0000002), of course, only an end-of—message code may appear in the most significant six bits of location at the end of the message if the message consists of an even number of characters. Digital—8-I8-U-Sym 5. DESCRIPTION The ASCII code breaks down into two main groups: first, the set of codes from 30I to 337 inclusive; and second, the set of codes From 240 to 277 inclusive. Combined, these two sets represent 63 characters. It is not necessary to store the most significant octal digit of the code For these characters, 2 or 3, internally since it may be computed from a knowledge of the least two significant digits, in other words From a "stripped" code. Codes 3XX where digits XX are greater than 37 and codes 2XX where XX is less than 40 do this scheme and must be handled by special means. Only two such codes are necessary to ac(code 2l5) which are assigned "stripped” code representations of 43 and 45, respectively, making the actual codes 243 (#) and 245 (%) illegal for this subroutine; e.g., when an internal code of 43 is found, it is discarded not fit into complish the purposes of this subroutine. These are line-Feed (code 2I2) and carriage-return and a 2I2 is sent to the ASR-33. Section 7 contains a complete table of internal and external codes legal and illegal for this subroutine. METHOD 6. Upon entry MESAGE will hold the address of the First message word. One is subtracted The main loop is then entered. from this and the result deposited in autoindex register I0. The message word is deposited in MSRGHT, then rotated six bits to the right. A iump to the minor subroutine TYPECH causes the character now contained in the six least significant bits of C(AC) to be typed. A second jump to TYPECH causes the character contained in the least significant six bits of MSRGHT to be typed. If at any time TYPECH Finds the least significant six bits of its current data word to be 0 (the end-of—message code), MESAGE will return to the calling program. After each two passes through TYPECH next message word is main picked up by an (if an end-of-message code is not encountered), the indirect TAD instruction referencing location 00I0 (octal) and the loop repeats. FORMAT 7. For this program external (ASCII) and internal core Formats may best be illustrated by the ‘ following tables. LE GAL CHARACTERS Internal Internal (Stripped) ASCII Character 01 301 A 02 302 03 ASCII Character 12 312 J B I3 3T 3 K 303 C I4 3l4 L 04 304 D l5 3T5 M 05 305 E I6 3l 6 N O (Stripped) ' 06 306 F I7 3T 7 07 307 G 20 320 P l0 310 H 2l 32I Q I I 3T I I 22 322 R Digital—8-I8-U-Sym LE GAL CHARACTERS Internal (continued) Internal (Stripped) ASCII Character (S tripped) ASCII 23 323 S 52 252 * 24 324 T 53 253 + 25 325 U 54 254 26 326 V 55 255 27 327 W 56 256 30 330 X 57 257 \ 3i 33I Y 60 260 0 32 332 Z 6I 26I I 33 333 I 62 262 2 34 334 / 63 263 3 35 335 II 64 264 4 Character , - . 36 336 I 65 265 5 37 337 " 66 266 6 40 240 space 67 267 7 4I 24I l 70 270 8 42 242 ” 7i 27I 9 43 243 line feed 72 272 : 44 244 73 273 ; 45 245 $ carriage return 74 274 < 46 246 & 75 275 = 47 247 ' 76' 276 > 50 250 77 277 ? 5I 25I ( ) Illegal codes, that is codes that will never be sent to the ASR-33 by this subroutine, are The characters represented by these ASCII codes cannot be typed by this sub- shown in the next table. routine . ILLEGAL CODES ASCII Character 300 @ 374 ACK 375 ALT MODE 377 RUB OUT 204 EOT 205 W RU 206 RU 207 BELL 243 # 245 % Reason for Illegality Stripped code 00 needed for end-of-message code Greater than 37 internally Greater than 37 internally Greater than 37 internally Less than 40 internally Less than 40 internally Less than 40 internally Less than 40 internally Arbitrarily used in stripped form for FORM FEED Arbitrarily used in stripped Form For CAR. RETURN Digital-8-l8- U-Sym Note that there are only ten illegal codes. The illegal codes are not frequently necessary Furthermore, in cases where they might be useful they can be represented by of combinations legal characters. For example @ may be represented by ”AT" while # may comsimple monly be represented by ”NO." in alphanumeric messages. EXECUTION TIME 8. This subroutine is output limited. PROGRAM LISTING /DIGITAL 8-18- U /MESSAGE TYPE-OUT /CALL WITH A JMS MESAGE /WITH DATA FOLLOWING /RETURN FOLLOWING END OF MESSAGE /CODE(DO) @299 $261 @292 @205 02D4 6285 @639 MESAGE, D 724D 120D 561% 1416 5216 1216 CLA TAD DCA TAD DCA TAD D267 D219 D211 @212 6215 6214 @215 9216 7912 7012 7012 4217 1216 4217 RTR RTR RTR JMS TAD JMS JMP @217 D22D D221 D222 D225 D224 D225 D226 DEED 0250 D206 52fl4 DDOO 745% 5413 1251 759% 5238 1252 D227 D25D D251 5243 2252 2253 5235 1254 5245 1255 7443 5242 1256 5245 D254 D235 D256 D237 D24D D241 1255 7440 MSRGHT, TYPECH, CMA MESAGE 16 I 1% MSRGHT MSRGHT /SET C(AC):-1 /ADD LOCATION /AUTO-INDEX REGISTER /FETCH FIRST WORD /SAVE IT /ROTATE 6 TYPECH /TYPE MSRGHT /GET BITS RIGHT IT D DATA AGAIN /TYPE RIGHT HALF /CONTINUE /TEMPORARY STORAGE D /TYPE TYPECH MESAGE+4 AND MASK77 SNA JMP I 1% TAD M4D SMA JMP .+3 TAD C549 JMP TAD SZA JMP TAD JMP TAD SZA JMP TAD JMP MTP M5 .+3 C212 MTP M2 .+5 C215 MTP CHARACTER IN C(AC)6-11 /IS IT END OF MESSAGE? /YES: EXIT /SUBTRACT 4B /<4D? /NO /YES: ADD 53% /TO CODES <49 /SUBTRACT 5 /IS IT ZERO? /NO /YES: CODE 45 IS /LINE-FEED (212) /SUBTRACT 2 /IS IT ZERO? /NO /YES: CODE 45 IS /CARRIAGE-RETURN (215) Digital—8—18-U-Sym C242 1257 C245 2244 C245 6246 4246 2247 7252 5617 C252 2251 2277 7742 0252 2342 C255 2254 2255 2256 C257 7775 14212 7776 C215 @245 MTP, 6C41 5244 TAD C245 TLS TSF JMP CLA JMP .-1 I TYPECH /ADD 222 TO OTHERS >43 /TRANSMIT CHARACTER /wAIT FOR FLAG /NOT SET YET /SET: CLEAR C(AC) /RETURN /CONSTANTS C212 C256 C245 C542 C257 54% -5 212 -2 215 245 2252 B259 921MB 9216 @245 @3255 13255 TYPECH (6251 {15217 10. REFERENCES M412) 77 ~42 C254 C215 MASK'I? MESSAGE MSR GHT MTP M2 MS MASK77, M42, C543, M5, C212, M2, C215, C245, Digital-8-I9-U (Teletype Output Subroutines) and Digital-8-20-U (Character String Typeout).
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies