title Z80 Assembler name ('M80KERN') maclib m80 ; File : M80KERN.MAC ; ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; ; Z80 Assembler Project - M80 compatible ; ; Kernel file for the Z80 assembler ; ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; ; ************************************************************ ; ; SHORT MANUAL ; ; ************************************************************ ; ; Call it: ; ; M80 {-M | command_line} ; ; The command_line may be: ; ; 1) obj,prn=src Generating obj.REL and prn.PRN ; (or prn.CRF) from src.MAC or src.ASM ; ; 2) obj,=src Generating obj.REL only ; =src ; ; 3) ,prn=src Generating prn.PRN only ; ; 4) ,=src Generating no file ; ; Any file name may be a standard CP/M device: ; ; CON: Input from console ; LST: Output to list device ; AUX: Input from auxiliary device ; (Such as paper tape reader) ; ; The command line may my closed by "/" followed by ; a legal option: ; ; /O Octal listing ; /H Normal hex listing (DEFAULT) ; /R Force .REL file without regard to command_line ; /L Force .PRN file without regard to command_line ; /Y Build symbols only into .PRN file ; /C Output cross-reference prn.CRF file instead ; of prn.PRN ; /Z Assemble ZILOG Z80 code (DEFAULT) ; /I Assemble INTEL 8080 code ; /P Allocate one extra stack page ; /M Initialize DS generated block data areas ; /X Suppress listing of FALSE conditionals ; /D Insert date and time on print file ; /E Error log to file src.ERR (or M80$$.ERR) ; /W Give warning summary only ; /G Forces all labels to be set global ; /U Forces all unknown labels to be set external ; /S Allow strange MICROSOFT LINK-80 code ; /B Build .COM file via LINK or L(D)80 ; /V Be verbose on file opening ; /Q Be quiet on .PRINTX ; ; The special option -M enters the command line mode. ; M80 will display an asterisk (*) to indicate that it is ; ready to accept a command line as described above. ; An empty line exits M80. ; ; Note that this options shortens the available memory ; In this mode the option /B will be disabled ; ; ************************************************************ ; ===== From IO module ===== ext iniM80,Heap,LNKchn,exitM80 ext Copt,Eopt,Iopt,Gopt,Mopt ext Oopt,Qopt,Sopt,Uopt,Xopt ext getINC,getMAC ext putPRN,putREL,putERR ext clsINC,clsMAC,clsPRN,clsREL,clsERR ext PRNdev,MACdev,gtfINC,iniMAC ext String,ConOut,GetDate,CompTi ; ===== From version module ===== ext $head1,$head2 ; ===== To IO module ===== entry M80go ; ===== To DATE module ===== entry usgdiv,mult,dev.flag,cnv.htd ; ===== To CMD module ===== entry UpCase include m80kern.001 include m80kern.002 include m80kern.003 include m80kern.004 include m80kern.005 include m80kern.006 end