ASCII CZMASCII TZT nASCIIMP1FORASCIIMP1ZZ0 k3ASCIIMP2COMpASCIIMP2Z80+8 vASCII.COM[Fred Haines, March 1988]% !@3]qX h( 1M@RA1Ri(ҁ|0,N+$ȂOFL"e \  J*Փ8F) *YdE\\Y'QҘ:VnƷ?K/"-/E莎Ύ,bHHB;"B:<@웄h((J (貎(*sB"R:#R:-#R:=DA/R"m.::5վM#H 0b:#.#b;A>M!8zŊpnʐI8| 8JLP8~ L2#2:(:#cQe7x4H7Sr11(QWh7 kYvkP:WA~[A %t@ڈ ΢Eh[@o5bZ׾B XZHy a;)O@1%,>(Ġ0eq(Ð`OVaVc.B4m`4&p pTo AT¬ `EDi$G 0Ec(Hl5Ų[.Mb$L  WD͒1X1X{5s%IA“Ȭ>B Ȭ7" BE Nz+}I̮Ӭ{%$ POq,Vxd,§ `u xs 'D,0WQblȬ t(r*oY!@`C(m \KE /W1[+Z&ڈIp QEHGdFpy ArCk,X1 #FsO!f?SHv`@NpJw+,2fj".d;Ē|RX"$HB@    #$ u*$+------------+---------------------------------------------------------------+ | binary | 0 1 2 3 4(0) 5(1) 6 7 | +------+-----+---------------------------------------------------------------+ | 0000 | 0 | NUL DLE SP 0 @ P ` p | | 0001 | 1 | SOH DC1 ! 1 A Q a q | | 0010 | 2 | STX DC2 " 2 B R b r | | 0011 | 3 | ETX DC3 # 3 C S c s | | 0100 | 4 | EOT DC4 $ 4 D T d t | | 0101 | 5 | ENQ NAK % 5 E U e u | | 0110 | 6 | ACK SYN & 6 F V f v | | 0111 | 7 | BEL ETB ' 7 G W g w | | 1000 | 8 | BS CAN ( 8 H X h x | | 1001 | 9 | HT EM ) 9 I Y i y | | 1010 | A | LF SUB * : J Z j z | | 1011 | B | VT ESC + ; K [ k { | | 1100 | C | FF FS , < L \ l | | | 1101 | D | CR GS - = M ] m } | | 1110 | E | SO RS . > N ^ n ~ | | 1111 | F | SI US / ? O - o DEL | +------+-----+---------------------------------------------------------------+ Hex code equals column/row position. Control characters - change column 4 codes to 0, column 5 codes to 1. Combine 2 binary nybbles to make a byte. $; PROGRAM: ASCIIMP2.Z80 ; AUTHOR: Fred Haines ; DATE: March 12, 1988 ; PURPOSE: Prints ASCII chart to console screen. ; ; HISTORY: March 26, 1988 - Al Heynneman ; added ORG to 100h ; removed external print call ; added BDOS print calls ; added extra ctrl char info in header ; removed extra LF at end ; restructured file ; added appropriate labels ; ;------------------------------- ; equates ;------------------------------- CR EQU 0DH LF EQU 0AH ESC EQU 1BH BDOS EQU 05H ;------------------------------- ; start ;------------------------------- ORG 100H ; LD C,09H ; DOS print string function LD DE,CLS ; load clear screen string address CALL BDOS ;------------------------------- ; print screen ;------------------------------- LD C,09H LD DE,TBL1 CALL BDOS ; LD C,02H LD E,24H CALL BDOS ; LD C,09H LD DE,TBL2 CALL BDOS ; RET ;------------------------------- ; clear screen string ;------------------------------- CLS: DB ESC,'*$' ; two bytes, terminated with $ ;------------------------------- ; ascii table ;------------------------------- TBL1: DB '+------------+---------------------------------------------------------------+',CR,LF DB '| binary | 0 1 2 3 ' DB ' 4(0) 5(1) 6 7 |',CR,LF DB '+------+-----+---------------------------------------------------------------+',CR,LF DB '| 0000 | 0 | NUL DLE SP 0 ' DB ' @ P ` p |',CR,LF DB '| 0001 | 1 | SOH DC1 ! 1 ' DB ' A Q a q |',CR,LF DB '| 0010 | 2 | STX DC2 " 2 ' DB ' B R b r |',CR,LF DB '| 0011 | 3 | ETX DC3 # 3 ' DB ' C S c s |',CR,LF DB '| 0100 | 4 | EOT DC4 $' TBL2: DB ' 4 ' DB ' D T d t |',CR,LF DB '| 0101 | 5 | ENQ NAK % 5 ' DB ' E U e u |',CR,LF DB '| 0110 | 6 | ACK SYN & 6 ' DB ' F V f v |',CR,LF DB '| 0111 | 7 | BEL ETB '' 7 ' DB ' G W g w |',CR,LF DB '| 1000 | 8 | BS CAN ( 8 ' DB ' H X h x |',CR,LF DB '| 1001 | 9 | HT EM ) 9 ' DB ' I Y i y |',CR,LF DB '| 1010 | A | LF SUB * : ' DB ' J Z j z |',CR,LF DB '| 1011 | B | VT ESC + ; ' DB ' K [ k { |',CR,LF DB '| 1100 | C | FF FS , < ' DB ' L \ l | |',CR,LF DB '| 1101 | D | CR GS - = ' DB ' M ] m } |',CR,LF DB '| 1110 | E | SO RS . > ' DB ' N ^ n ~ |',CR,LF DB '| 1111 | F | SI US / ? ' DB ' O - o DEL |',CR,LF DB '+------+-----+---------------------------------------------------------------+',CR,LF DB ' Hex code equals column/row position. Control' DB ' characters - change column 4',CR,LF DB ' codes to 0, column 5 codes to 1. Combine 2' DB ' binary nybbles to make a byte.',CR DB '$' ; END