dumpfloppy 1: 17/01/2013 20:29:49 (PF handwriting) ZASM & ZSID (MASTER)   @EAA@AA__((  vv[[{@@@@@@  ``` ` ???   __xh    0 0  README ZASM COM^PATCH1 ZSM LINK COM{ LINK DOCLINK TXTZSID COMP   19/2/86 Dear P.F contained on the disk are 5 other files. 1 - ZASM.COM - a working version of ZASM for Alphatronic PC 2 - PATCH1.ZSM - the patch used to make RMLZASM.COM work - this contains instructions how to install it 3 - LINK.COM - a linker 4 - LINK.DOC - how to use LINK.COM 5 - LINK.TXT - text version of (4) Hope they are useful Richard. ZTEST2 ZSMZTEST2 COM'ZASM2 COM^ !"#$%README .ZASM3 COM^()*+,-README $$$ALPHZASMCOM^/1234;LINK BAK <LINK DOC>?README <PATCH1 ZSM=/_ZASM RELOCATING MACRO Z80 ASS. V 4.1 J Copyright (c)1983 by Research Machines -=B8*R"N-!`-!$-'6/606 {'6 >22{'f'[i)~ ~ :%:%:%0)N&)C0) > > > Ɛ'@'@(^#V# y (  ~W( >>zF(*T-~W F(/*R-|}F(>=!1>0W(~#F(~~:ZG!1~# (  y x0+6 $1*N&B( ~ݦ( >?N&&(W4$"F#F6# :XG~$:T( (> :Yݾ$(4$:U6$:V$~& ~% 4$:W~%<'w%>ݎ&'w& RML Z80 Ass V 4.1 J 08-Nov-83 Page ͼF(8~Fw  ~~F(= HF6H ~G!J4$6~6~~IJͶ 9~<'w>ݎ'w*P-"R-6!1"V-6666#Ͷ <(7~1ݶ4(/64>:~1G!-~~_#D61*P-t2u364_41~142sD̎Ͷ >(9*P-[kR"k0OR0 #| 0F*P-|(O60!%6C#6O#6M!"k######+F(x 4$!:[G^#V##N>G "n(>X~>C(v>' ~>" > z{#":\DO$(!\y O( +~+#(:x 4$!:\DO :[G~+~+~+ng### m^#V#|<##9+V+^|<ͼ'F!m":*|>!$4$+F("4$!$:\=DO $4$:\ O:Z+F(0x2[<>Symbols: Val NameDefn Refs ~#Ͷ45w~ <'w >ݎ!'w!>s2]4!5! ~ $U 2]~! ~ $W$_4$No errors detected ~ ݶ!(>2*N-[R|}$ͼ( ! bytes free  '*.5-Ͷ  ~.6-Ňx}|~(# yA~#ɷx };|;[7 :(y2ͅ[͹ȯ[͹~ ###>>!->[͹#^#V#>> > *[> > *  @[>~-(>6-Ͱ !""2/F͝tͲͰ_  *|p S:<######^#V#N#F#H> h(˨z(>[* K(q#p# C(K q#p#S K q#p#" 4F6H* +F+NC +F+NC +F+NC(" 5F6H[ S  DG[ ( - - ͣ " ɯw#V p(S'^ w#V p V p(S{   }  ] w#^ V p {(} +w#!L}'o|'gy'O#0}'o] =͉ z 60#y C z { w#w#] Oxdyͣ  p 8;(4, 6 #{ O ' / % ͪ  6# , ] 6#"  * -!@ )ZASM: macro phase error O* Ͱ q~ #" y-X ] @ 9&(! F ; ] p(X ! Nˎ ' ~w^ p(ïw,p $ 4E0 5E (> X X Ͷ* "0p yDX _ } n _ } S @ S_ ,] 6EͰ #. ͅ ͤͥS +. 8 @(>|8 ^#V#F> S !06#6 @!- 6 ,] . Ͱ  |()^#V#xH(|8 ^#V#F8  >6F6H6E!-" Ͷ - !@(*p !!uů͑z2JYPMD"\-Xx͖sn@ (g<@ (Z% (h\B(^RB0B8 B B(!!|g}o|g}o|g}o[\-z [Z-z( E!"Z- ) 5 ] [\-zKZ-SZ-xKZ-[\-SZ-xx {_zSZ-6 6  F(!_ (~ ݶ ( B!>a-!"Z- ( 4]  @(!E(*qut_ ']   H '( $(+(- !(ut4~ ( <(B4_ ) 4]  h p I4~ݖ(B&fnFNV~(~(z(4 6 V , *Z-] V|("Z-ٯ *(% *( +( J+( (,( ,!-!-O((  #(0 #~ og<^#V+z *s#rz^#V#- # -  R}!\8w*F(6'Ͷ $*ͤ~, ~~ *R-}|ͥ*-|############## # ( 8##^#V+####"##"####^#V#N#Fːˈh(" >*"Ss#rͥS*N-R!)ZASM: symbol table overflow p+q+r+s+*F( ~w+~w#+++++"*6#6*!" !1! (# ͩ(20 Fx p w 6>  6#> w#~#~(F( a8{0 ! _F_ P] @@@  -->( ] @ H V p(S' V ^ V p ^('(08 886 N!o0$ !- H(ZO(9Q(5.(=G~x(B(D(, _ $(I~(=(=( 'Y(-)Y(#))) Y(T])))Y())))>] $% } V22G*^#Vz##~(++#^#VK>*B(E:*ͤw#s#r#ͥ*"*X-"!"*X-"Ͱ!"!"Z-  6 U!CZ-SH(}' !*(o*(6 S,$ *X-"Z-*P-] ( 4 ]  6 I! @(r*p EL!*G~#((##] F#Nx y06 V!!xay)0!>B0 ?= !R4 6 ͅ 6 V!ͅ(k F(!R6 ͅͅkŷ(8{{;*Z- + ]"*]"!"6666=KZ-x([X-{_z(E"R-t=KZ-x(E[P-"P-60F /F( KX-͎!z 8 z@( S!"Z-/F( KZ-P 0F "P-͎64͎"R-66=ͪ !"Z-ͪ = !"Z-  ,  ,]  ;p ,  ,]  ;p '(S *(d _ # ]  , ' A ,  , ]  ;(p(] @  C-pS- ] H @.>( w# 6 #͠@( ͫ7 |> >]  @I¸[͹( ~#+< !ͤ!&ͥ(:%2%͠ͼ : y [:-A8T0P2%] ͼy(C 0?!%6#-6Z#6S#6M . ] ͼy( 0-ͣ{' Iͣ)L1] P +M 8" 5G4GC 8 54=͠+ 6- 6~( ͣ68 54H JͶ(ͣ͠!+V p w#V ͣ6 # "F 6"6:Yw$6#E ͠6#F 82TN 8wS 8w'W *͠p H(= | }0>8>2ZU 8w(X 2]   P H 6,N 6,w*ݶ+w+P͠1 Ͱ(Xͣ2 Ͷ G= FͶ(ͣ͠+_ P Eͣ͝$ |}6͠> +!X2PV p w# ͣw!$X2 R 8wPass 1: = >22w6w^4!~w!~w5!~!~!6!6~ v  ͣ;= |(66!~)ZASM: COND/ENDC too deeply nested )(2(C D~/w~ C@_ : ]  ,p%!-( (w#6# @ S- @Ͱ ''(h 7[͹(()!ͤͥ' Uh(Mx ,]  @' ͅ!  x? (M ,]  @!-ͩ ,] KX-[P-!xO s#r*#N#F+[yxs#r*Þ*@Þ*Þ / ]  /( /(S] !-6 #6[͹( ###($!ͤS:<2ͥ"~O!CX-"P-!""""}2"P-/F(!@"X-/F*P-|(S6/!%6R#6E#6L CZ-KP-B+ͽ |(=( !B! }d zSͣ_z @@@_̀ z@ ͔ ك_@(-!z(( 2!>d  >d ͽ yd z ( ̀ 2!> -!H2! d z 2!>&z 2!>z (̀ 2!-!P2! d z@2! z (=̀ ('2!̀ (z 2!z( (  >d -!H2! ك_z@2!{d z 2!>d z@2!ͪ 66A66@̀ 2!z @2!-! ݆d 2!z2!~d ͪ z 2!z@2!|2!}2!}d _z (̀ 2!z2!z@ >ƃd ͪ >d ( >d ͽ @2!-!>d 6J6Bz (6 z "x ̀ 2!z  X̀ 2!-! z h2!p2!-!y݆d _z 2!-!x `2! yd ̀ 2!-!x(  z z>(z2!> 2!z 2!>d _z 2!z(( X(( -! y/>_@ z( ( 2!>0 >0d ͽ -! d ̀ 2!@(yw0w66z&@$ w66 z@ ~d ͪ ~((@( ݆@d ~@d ͽ z2!z(( ~0d y݆ (2! ~d z 6$ ͩqm666 >!tttttGww'6t6%t&tt t!t"t#t*t+t,w("^- ~E(z G] P pY;V45 V* G"@qE RV : ~=( dv] ] !"= ] ! @( (-k G*ͬ ( GNR '!G`(/H(}~$ ~:  v*Z p ;(IͣP&Fg~(  ͣ~ !/F(P 0F"P-͎64͎11_ p] !-$~~ redefined at line 6' ͅ*P-KX-[P-R *X-BͰ̮P *P-KX-;6)6)6!"T-'(W(/ͅ= "T-KZ-h( E)F(="T-R *Z-BM'( "T-6ͣ͢ͅKZ-ʹ>:i(!-ͩ(w# (6 !-] = KZ-h$Bad input, try again*P-#"P-*V-w#"V-4/F_ KZ-hR Ͱ(2|(* F+N+V+^[P-KX-s#r#q#p˨CC}|}d |/F(;0F~ ~ KZ-xE| } ͆ }V|(<(V͆ }d |( < }(} z> >>d z Oy*X-KZ-B(E z *6-!z(X( yC x2! >"݆8zz ( ( >d @2!z -!X x2! y6d ͽ >6d ͪ ZSMPRNHEX!%w_#~ (A:%  !@&j*ZASM: aborted _\ ?'w# | !&j*ZASM: cannot close files !&j*ZASM: directory full :%&:%&:%&:%:] '2%2%!\~="'2%6!d&2%&2%#~+ >&2%!%]&&(!%]&&Ͷ&ͼ&!%]&:%&%Ͷ&ͼ&!("(!"%2%2%&%n&:%A2'!%'''!'j*ZASM: cannot open ?:????????.ZSM ~#!'j*Usage: ZASM sourcefile[.ddd] z{ 0͍&6#!I(j*ZASM: read error on source file !6 !4^6 !"*("(!("(*~#" *("(ì(*%( &!"%!2%(2*%#"%~ *^-|>()*^-S^-s#r#!  %$!2*^-^6#V6#S^-%$2_:%(  {[)[%!4wS%!(&!"%!4% !)I*ZASM: write error, files closed )[&!6wS&!(&!"&!6%Á):% ! | E$~( > 0)>0)&(*%}(>0):%(*&}(>)&( &%͍&:%( &%͍&>2MO SHSHEVNOGEG>LHL;ANeOmXOu*/+)-1=V>E!SR"!^/Alphatronic PC version. RPA190286 $!":#2!"!":6o:6/!6ڝ/!6ک/o&ͮ!W "<É/h):6!6IJ06͓:6G:=5O*,6|!6/6:6!6ᠡ/6W s04(%:&6!7LRRIMFIMVIM^OR6ENĔCO@MCAL!PUSȏ#DJNڷ!CAL!RLCRRCHALvLDIҰLDDҸCPIұCPDҹRETMRETEINIҲOUTɣOTIҳINDҺOUTīOTDһDEFDEFDEFADEF^RAD"RAD'RAD,RAD1NAMASEDSECSECONMELSŠENDûMACR EN(3) ld (iovec),a ld hl,respat-respat+reloc ld (6),hl ; store new call 5 vector ld hl,jmp0vec-respat+reloc ld (1),hl ld hl,023eh ;3e 02 backward - device adress 2 = console ld (0da85h),hl ;all values of iovec point to console output  ld hl,respat ; actualy movepatch ld de,reloc ld bc,07fh ldir ret msg: 'Alphatronic PC version. RPA190286',0dh,0ah,'$' respat: ;org reloc push ix ; call 5 patch preserves IX defb 0cdh ; call nnnn vec5: defw 0 pop ix ret  jmp0vec: ; jmp 0 patch - depatches system (run at end of Zasm) defb 21h ;ld hl,nnnn vec0: defw 0 ; restore proper jp 0 vector ld (1),hl ld a,(iovec-respat+reloc);restore iobyte ld (3),a ld hl,06e6h ; e6 06 backward ( allow device selection) ld (0da85h ),hl ; restore iobyte pointer in bios ld hl,vec5-respat+reloc ld (6),hl ; restore call5 vector jp 0 ; jump to correct 0 iovec: defb 00 ; store for (0003h) during Zasm end   çCOPYRIGHT (C) 1980 DIGITAL RESEARCH ? OVL LINKING $ $ 1L9M9!96w:o9!9D:!""!""!"9*9^#V"9"q::u9 ͥ6**=;"`:"b:q:b:͞8.96`:q:͞8"9|!96wj1:9R,v!!]:ڤ*]:&f;) N#F͋41!]:4:u92:2:2;2E;2u;2;2;2;!D:6+6!E:6!"p9!"m9}2o9!z962v92x92w9!t96X!"y:"{:"}:":":":":":":":":":":":":":"i:"k:"m:"o:}2:!:6#6#6*9"q:2C:2D:2E:2R:!"X:o&"Z:|!"s:!"p;";";";":":";"7;*+":*+":*+" ;*+"9;!":":";"?;!":":";"A;:9*b::9=o&))9  ^#V!!<4*<&^<) <6͸ !\6͊ !!%<6͊> :%<5 !͸ ͵" :<:„ :\:%<Hb !:]A<2\O>v !*%<&\ 6 ô !%<6:<.° ͵͊ڰ :%< ڧ !͸ ͵Ô ! :%<<2% :<02<> : :>!"&<͵͊6 - *&<))))*<& "&<0 D͵ *&<:/͵: W :ZD͵:ڎ :!Q: D*Q:&J: :D:9=29D:9ڗ*9&))9 ^#V"p9  ^#V"`:*`:DM!96#~ͬ . ":\ -:+: .+: -:9":5*.:~=ͬ :9('*.:~(*.:~)H^*.:~,NDͬ :9['(:9vC()!o96>5!B".:ͬ . ":\ -ˆ*.:~=Ÿͬ ï.+: -§:9ҹ'*.:~*.:~(H*.:~,Dͬ :9'ù:w92y9:9F:9(C(͆7:9):o9:o9H4!"p9>:o929*p9"95*.:~(*.:~ʐn*.:~)p̀^*.:~*.:~(HҍDO:9ʛD*Ͳ!6~̈́6*& 6:[],()?$! : @: <_2 <: !#<ڲ*#<& :<«>!#<4>*.:#".:*.:N2<&õ͵:< ͵!<6 !%<6+6:%< :%<  !:DM9͏5*:@ ~ !92(< !92)<7 :)<ր2) >!:*!^:6+":^:$t 8'> *0< ~L*0< DMB5*0< 6*0w#6!4w#6*0<##N#F*.< ~O`i~8p8!6Ͷ8ikS*0< DMv5*0< DMd5*0< *0<##N#Fq#pä*0<##q#p*u:#^#V*u: ^#V*u: ^#V*u:~*u:~*u:>*u:~*u: ^#V*w: ^#V!8:=<Hw!>:><Hw!?:?<Hw!@:@<Hw!B͔8>ͥG<  8'*u:"w:*E<#"E<ͺ"u:>͔8$>ͥG<ͮ8!TJ<ͫ8:P<Hr:Q<ҁ!U<6 Æ!U<6:U<q:ͫ8+s#r!`:͹8ң96:T<Һ*JE<ͫ8*P<&i:) N#F,DM,*LE<ͫ8F*P<&i:) *q:s#rN*q:DMͷ!V<6>!V<ڷ!"Y<*V<&i:) ^#V"u:>u:ͫ8ʝͺ"W<*Y![<,*[<&i:) ^#V"u:*[<&<) N#F.>u:ͫ8%OkͥDMͪͮDMͪDMͪͺ"u:![<4!"i:"k:"m:"o:*d:##6*d: 6*d:^#V!`=p+q*d:*_=s#r*d: >!a=q*d: :a=w*d:##>?!b=q*d:##:b=w*d:##~*d:##>w*d:##~*d:##>w*d: ~!c=q*d: >:c=Hẅ́d:8++"\<*\<^#V!e=p+q̈́d:8++"\<*\<*d=s#r*d: ^#V!g=p+q*d: *f=s#r*d: ~!h=q*d: >:h=Hw!k=s+p+q!^=6:k==2k=ʱ*i=:^=2^=*i=#"i=Ñ:^=2^=!n=s+p+qͽ"d:`:d:͞8͹h!n=*l=*d: DM*n=>*>*p9"::D:*H:":8*:*:"::r98*:)8":*:*:":Z:X:͞8_X:Z:͞8#"y:e!"y:!:6*X:":!=6>!=ڞ*=&y:) >Ͷ8Ҕͥ:=<2=v!":::2=!=6:=#w:==2= *=&:) *=&: N!: ͠8*=&: ~2=*=& :=w:=2=:=<2=õ*=&: :=w::<2:*b:"d:`:d:͞8q͜/!9H`2UO!: 8DM>ͪ̈́d:8+s#r&!]:6>!]:7*]:&f;) N#F͋4:*]:&<) N#F.B2=:="="=:=O>"=n2=ð-*]:&i:) ^#V"u:>u:ͫ8-2=ͥ"=ͮ"=!"=nͺ"u::]:<2]:w!=r+s+p+q*=}*=_DM͘4*=#*=|_͘4!=p+q*="d:2:=2=:=O>Ґ*=DM^"=ã*=&:) =8"=:=O>:=O>==͞8UO!: ͹8"=*=*="=*=DM*=8*d: ~*d: :!z9/H!"=ͽ"d:`:d:͞8HҴ>=08>͔8S6!~=6U`/wUp/>=08 \8 M`͹ҖÞ2DM_   *=#"=̈́d:8+s#r >!=Ͷ86!=6>#w#62~=ͽ"d:`:d:͞8N/=:=̈́d:8+s#r!r=s+q+p+q*o=DM*q=̈́*^=&^<) ^#V"d:>d:ͫ8ʆh!q=}*o=*d: DM*q=>*}U!r=}>M"d:<>!|=r+s+q+q+q+p+q+q+p+q:u=2}=:z=Һ!}=44*`:"d:*}=& "`:q:ͮ896<*s=DM*u=̈́*^=&^<) N#FU*^=&^<) *d:s#r*}=M͍*v=DM>*y=M*u=Ms*x=Mf*u=*d: *s=DM -B:z=Y*{=DM*d: ~#k!{96 MODULE TOP $UNDEFINED START SYMBOL: $YY???? $$$XX???? $$$RQST$ UNDEFINED SYMBOLS: $ABSOLUTE $CODE SIZE $DATA SIZE $COMMON SIZE $USE FACTOR $!=q*=MͲ!~=4!=q> !=8:=0OͲC:= AOͲ!=q:=O:=O!=p+q!=̈́8MD>=08MD:;!t;!;!;:u;2\. ] -Ÿ\ͩ6!t;6!;6!;6!;6!=6+6>!=*=&f;) ^#V"= *= ~ *= DMv5 *= 6!=6:=<2=:=7::2\. ] -)\ͩ6*p9###H:ͮ8!D:U!\:6*p9###F:ͮ8!C:r!\:6*p9###X:ͮ8҉!\:6:R:>S:ͫ8:U:H:C:/HҼ!\:6!\:6:E:!C:!\:6!\:6:C:*F:"::\:*p9###":!=6>=08>͔8'6!~=6w*=#"=>&8)))M`̈́d:8+s#r>!=Ͷ8\66!=q!=:~=v d!=6h!=ڤ:==O! *d:N:=<2=|:E:J:*Q:M2"V:!"V:|!=6:Q:!=:==O!J: NͲ:=<2=6D:R:*U:&:) S:8"V:D>!{:Ͷ81*:"V:DX:ͣ8D*X:"V:Z:X:͞8mX:Z:͞8#DM*X:v6*:DM*:6*:DM*:6*:DM*:6`:s:͞89ͮ8*9|=ͫ8 Ͳ(Ͳ*=DM_-Ͳ*=*=+DM_)Ͳl*|9DM_68f ͥOr:t9Z^E.:n~:x9ZyU/?OVLAY?OVLA0RELIRLIRLREL))O`i~8p8>!:!>6::!>:>=O!: NͲ!>4½)2:͕":)2::: !:6!>6::!>. ):>=O!: Hq!>4 *h&\8*|& "9>*7:DM\͏5*9+"9!>q:>2]:*]:&f;) N#F͋4!>q:]:!f:Ҏ *]:&y:) N#F*>͘4:]: Z:y:͞8Ҽ *y:"Z:X:y:͞8 *y:"X:*]:&y:) N#F+q#p!>s+p+q::2>O!: :8">  *>DM*>h!ͮ"!>2>:>>!>ͫ8HA!ͱ!">G!*!>">*>DM*>MC:>e!*]:M͋!*>*>*]:*>*>5:=Ҭ!ͱ!"!>>͔8ž!*!>">!>6í!!:]:2%>*>M^ *>DM4*>#DM4O`i~8p8"#>*%>M^ *#>*b:"d:`:d:͞8%"*d: ~#"*d: 6̈́d:8+s#r!!{96:*:MH"H"!^:6:*:Mi"2"g:͜2f:o"=6*:::: -y"::29:*::ͺ/Ҵ":*:͉:*:M"!:͹8"/Ͳͯ/Ͳ Ͳ=6#:*:*:*:*:͉*:*:"::*:M/I#:*:͉*d:DM :*:Mҟ#{#=ͯ6Ü#*:&:) :8DM>*:Mf#:*:*:&:) :8*:͉*]:&y:) N#F*]:*:DM5!=6#!=6*:":*:M^ :]:$$*g:*:":C$*]:&:) :8*]:&y:) q#p:]:P$!=6*]:&y:) N#F *:":>!:Ͷ8::HҲ$:R:Ҕ$=6ò$*:&:) :8"S:::2U:!R:6:0:$)$ò$!&>6>!&>%%*&>&:) *&>&:) 8*&>&:) q#p*&>&d:8+s#rI(.: -)!:6!:6^ ͽ"d:`:d:͞8)/)*{:DM>fy ^%y !":y y *d:"4>#*4>"d:!3>6>!3>)h!3>ڶ):3>=O! *d:Ny û) y :3><23>Œ)*:"::)͸*9"q:̈́d:8+s#r5)!0:4~ (*6*1:#"1:*7:{z*!"1:/ *1:!>~26>xG:6>26>G )x{_ P*#B*>ɯ`iq#zV*COMPRLRSPSPROVLSYM!;>q*5:> :;>w*5:#"5:!3:͹8ڦ*>*3:DM\͔5!"5:!<>q:8>!<>28>:7><27>*!7>6*8>Mq*!8>6!=>q*=>Mq**A:#"A:!?>p+q*>>}O**>>|O*::+:o9+h,*p9"A::\:,+**V:DM**X:":!@>6::=!@>q+*@>&: N!: p9͞8j+*@>&: N͍+!@>47+:o9:o9HҌ+ -!C>q:C>¢+*X:"D>ó+*C>&:) ^#V"D>D>A:͞8+96D>A:͞8+*+*C>&f;) N#F͋4*C>&y:) >Ͷ8,:C>,*X:DM',,',|9A:͞8&,*A:"|9!G>p+q*F>"H>*C>&y:) F>8+!H>͹8g,*H>DM4O**H>"H>3,::=O!: N!: !y: 8*p9͗8"A>**A>DM**:o9,***p9DM*,*m9DM****:r9,*:DM*,*!J>6>!J> -y:) q#p*&>&:) >w#6:&><2&>$s:q:͞87%*q:"s::G%͸*9"q:^ :_:/2^::{9]%!!)>s+p+q:)>ˆ%*g:*'>"'>:f:҅%!)>6Ý%*)>&:) '>8+s#r*]:&y:) N#F*]:%*'>DM*)>M͋%*]:&y:) N#F*'>*)>*]:5y y !*>q:*> &>!*>&:*>#&+"ÿ&:*>1&p"ÿ&:*>?&k$ÿ&:^:ҿ&:*>=O!& ^#VI"ÿ&ÿ&͈"ÿ&>ÿ&͵"ÿ&#ÿ&T#ÿ&#ÿ&#ÿ&$ÿ&$ÿ&Q$ÿ&d$ÿ&W&]&`&f&o&u&{&&&&&&&!+>6)&)2->:^:&*->My (')2,>')2+>:+> '*+>M%('͕".>:^:('*.>DM*,>^%:+>&7','!0:6&H'='!0:6!"1:"7::!:'*:͗8"1:"7:. 9\ -u')29!hʦ':92h\͕6¦'\=45)2|29!:6*7:"1:!"9"9^ :_:/2^::!:!_:' ',':e (.e -'e>*2!:\d5I'}/B(}͉ͽ"d:`:d:͞8)͹(:v92\!0>6>!0>گ(h!0>҈(*0>&\ 6 å(:0>=O! *d:*0>&\ w:0><20>g(!!:6.e -¼(\W5/(!!:6.e -(\d5*d:"1>!_:6I'*1>"d:̈́*!J>4,*p9"A::\:(-ͦ-ͦ-ͦ-!L>6::=!L>|-*L>&: ~2K>u-*K>&:) A:͠8e-ͦ-J-:r-.u--!L>4--*p9*A>A:ͮ8ҕ-ͦ-|-:7>ʥ-ͦ-Õ-!O>q*O>Mͧ**A:#"A:M>A:͞8-ͦ-ù-ͦ-*K>&i:) ^#V"u:>u:ͫ8.ͥ*K>&:) 8"M>͹-ͺ"u:-*K>&<) N#F.*0< ~R.*0< DMd5*0< *0<##N#Fq#p].*0<##q#p2P>:P>ʤ.*K>&:) 8"M>"9:P>O>Ҙ."9͹-2P>c.>5:08>͔8ʾ.q*å.>*5:DM\͔5\v5:w9Z.. \": -.:e /.*o9&\8_* DMe - /:w9#/:w92\\B5:9 A/. ~9\ -9/!"5:}28>27>*ͥ.:x9Z^/. \": -f/.en* -v/:x9ʌ/:x92\\B5!"5:}2R>ͽ"d:`:d:͞8(0͹/H02DMv0 q*!Q>6h!Q>/:Q>=O! *d:Nq*:Q><2Q>/:R><2R>0 q* q*0 q*̈́d:8+s#râ/ q* q*ͥ.!S>q> !S>O0:S>0Oq*Z0:S> AOq*!T>q:T>O60:T>O60!V>p+q*U>|O[0*U>}O[0*9>!=8"W>*W>!=8!Y>s:h0:Y>2h\͕60\>645*W>!=8!|s2*9͗8"9>. \~9 -0:9 1  *9>"9>\d5͍0C\͏5!Z>s*9>!=8C "9*9*|9s#r͍0C*Z>&\8DM\͔5:j2j\v5:9ҁ1*|9)8"|9:y9ZŠ1a9ҟ10ñ1g9ұ10!_>q.*[> :_>w*[> ~!`>q*[> :`>w*[> *[> ^#VN#FR* *[> 6*[>^#V!=8"b>?8!a>s1!a>P2*[> DMv5*a>M1*[> DM͕6P2*[> DML5*b>!=8MͲ1*[>  *[> ͞8ҍ2*[>  *[> N#Fq#p *[> ~ڮ2*[> DMB5 *[> 61*[> N#F*[> *[> N#F͔51!e>p+q*[> N#F*d>?8^8*[>q#p*[>*[> 8+*[>##q#p*[>*[> N#F^#V?8*[> s#r *[> N#F`i"h>*[> N#F `i"j>*h>"f>j>f>͞8ڐ3*f>+*[> ^#V\8DM2_2*f>"f>\3*[> ^#V*j>\8DM2*[>  *[> ͞8Ҿ31*[> N#F*[> *[> N#F͏5!n>s+p+q*[>l>͠84 *[> ~4_2*l>DM2ͦ3Ê4*[>##l>͞8Ҋ4 *[> ~34_2*l>DM2:n>j4*[>  *[> N#FPY͹8d463g4ͦ3Ê4*[>  *[> ͞8҇41Ê4ͦ3!p>p+q*o>"[>!s>s+p+q*q>DM3*[> ^#V"]>*[> N#F*q>?8*]>:s>w *[> 6!u>p+q*t>DM3*[> ^#V"]>*[> LINK 1.31 $01/04/83?MEMRY$MEMRYX MEMORY OVERFLOW, USE [A] SWITCH$INSUFFICIENT MEMORY$OVERLAPPING SEGMENTS$ XXABS $$$XXPROG $$$XXDATA $$$XXCOMM $$$::;7;YYABS $$$YYPROG $$$YYDATA $$$YYCOMM $$$n;;;; N#F*t>?8*]>~   +5{>.+55OͲ5w66ͩ6́5;6<566́5͕6<>́5͕6<>645͜6<H66! w #ˆ5>Ö5>2,6""6"$6yo`"&6!"*6͋6-66*&6|6 "&6*"6MD6*$6DM:,65ͷ6g666Ͱ66**6|6U6*$645*"6""6**6#"*6ú56**6ABORTED$NO SPACE$NO FILE: $CANNOT CLOSE$DISK READ ERROR: $DISK WRITE ERROR$YYYP   YP6YPYPYPYPYPYP Ͳ ò!>6#6͐6">*>|$7>9ͫ8"|>##*|> ~!7!>6D7*>|?7!>66"|>D7!>6:>Y7!~>6#6#6Å7*|>~2~>*|> ~2>:>z7:>2>*|> ~2>!>6>!>ڰ7*>&v> ~/*>&: w!>4‹7:72"g:^ *:"|> *g:":*9My *9My *9My *~>My *>My *>My *|>":i`N#Fog_og_{ozg_ogDM!>))덑o|gV8 =D8DM!>))k8 =c8_{ozg^#V) ~8^#V|g}o ˆ8_{ozgi`N#Fogo&og_{_z#WINDEX ERROR$MULTIPLE DEFINITION: $MAIN MODULE ERROR$FIRST COMMON NOT LARGEST$COMMON ERROR$UNRECOGNIZED ITEM $XXABS $$$XXPROG $$$XXDATA $$$XXCOMM $$$::;7;YYABS $$$YYPROG $$$YYDATA $$$YYCOMM $$$n;;;;   Usage of LINK.COM taken from 'CP/M The Software Bus' LINˠ option follo th fil specifications an ar enclose i squar brackets []. Multiple options are seperated by commas. Additiona memory Reduce buffer an䠠 writ temporary data to disk. B This is the BIOS link in banked CP/M 3.1 systems. It aligns data segments to page boundary,put lengt o cod segmen i heade an defaults to SPR type. Dnnnn Sets the memory origin to nnnn (hex) for common and data areas Gn Go. Sets start adress to label n Lnnnn Load. Changes default load adress from 100h to nnnn Mnnnn Memory size. Define free memory for MP/M modules NL rary $Od Destination of object file. d is drive A thru P or Z (no object file). Default is same drive as first file in command line $Sd Destination of symbol file. same as for $Od,but pseudo drive Y(printer) Some examples will illustrate the use of these commands (1) LINK file1,file2,file3 Thi take th thre seperatel combine files resolve thei externa references and produces a single executable command file called file1.COM (2) LINK filename=file1,file2,file3 This does the same as ex.1 but the command file is called filename.com (3) LINK B:filename[NR] Thi optio specifie n symbo table Ther mus b B:filename.RE an i will produce a file on B: called filename.com (4) LINK file1,file2[S] Th linke wil searc file fo subroutine reference i file an wil combine them wi No Listing of symbol table at console NR No symbol table file OC Output is COM file (default) OP Output is PRL (page relocatable) file for MP/M OR Output is RSP (resident system process) file for MP/M OS Output is SPR (sytem page relocatable) file for MP/M Pnnnn Changes default program origin from 100h to nnnn Q Lists all symbols with leading question mark $Cd Put console output to d,where d is X (console, default) or Y (printer,LST device) or Z (no output) $Id Source of intermediate files where d is drive A thru P, default is logged drive $Ld Source of libth file1 to produce an executable command file file1.COM (5) LINK filename[OP,Q]=file1,file2 Thi wil combin file1.RE an file2.RE producin filename.PR an listin all the symbols with leading question mark. NOTŠ LINK.CO͠ i th linke fo CP3.x i i als designe t wor fo CP/M2.x and MP/M ful descriptio o LINK-8 i supplie i t programmer utilit guid fo CP/M 3. I wil combin RE file produce b RMA ZAS͠ BASCO͠ et int COM,RSX,PR̠ fil read fo execution I i als neede t generat CPM systems. ,file3 This does the same as ex.1 but the command file is called filename.com (3) LINK B:filename[NR] Thi optio specifie n symbo table Ther mus b B:filename.RE an i will produce a file on B: called filename.com (4) LINK file1,file2[S] Th linke wil searc file fo subroutine reference i file an wil combine them wi   Usage of LINK.COM taken from 'CP/M The Software Bus' LINK options follow the file specifications, and are enclosed in square brackets []. Multiple options are seperated by commas. A Additional memory. Reduces buffers and write temporary data to disk. B This is the BIOS link in banked CP/M 3.1 systems. It aligns data segments to page boundary,puts length of code segment in header and defaults to SPR type. Dnnnn Sets the memory origin to nnnn (hex) for common and data areas Gn Go. Sets start adress to label n Lnnnn Load. Changes default load adress from 100h to nnnn Mnnnn Memory size. Define free memory for MP/M modules NL rary $Od Destination of object file. d is drive A thru P or Z (no object file). Default is same drive as first file in command line $Sd Destination of symbol file. same as for $Od,but pseudo drive Y(printer) Some examples will illustrate the use of these commands (1) LINK file1,file2,file3 This takes the three seperately combined files, resolves their external references and produces a single executable command file called file1.COM (2) LINK filename=file1,file2,file3 This does the same as ex.1 but the command file is called filename.com (3) LINK B:filename[NR] This option specifies no symbol table. There must be a B:filename.REL and it will produce a file on B: called filename.com (4) LINK file1,file2[S] The linker will search file2 for subroutines referenced in file1 and will combine them wi No Listing of symbol table at console NR No symbol table file OC Output is COM file (default) OP Output is PRL (page relocatable) file for MP/M OR Output is RSP (resident system process) file for MP/M OS Output is SPR (sytem page relocatable) file for MP/M Pnnnn Changes default program origin from 100h to nnnn Q Lists all symbols with leading question mark $Cd Put console output to d,where d is X (console, default) or Y (printer,LST device) or Z (no output) $Id Source of intermediate files where d is drive A thru P, default is logged drive $Ld Source of libth file1 to produce an executable command file file1.COM (5) LINK filename[OP,Q]=file1,file2 This will combine file1.REL and file2.REL producing filename.PRL and listing all the symbols with leading question mark. NOTE LINK.COM is the linker for CPM3.x, it is also designed to work for CP/M2.x and MP/M A full description of LINK-80 is supplied in th programmers utility guide for CP/M 3. It will combine REL files produced by RMAC , ZASM , BASCOM etc into a COM,RSX,PRL file ready for execution. It is also needed to generate CPM3 systems. ,file3 This does the same as ex.1 but the command file is called filename.com (3) LINK B:filename[NR] This option specifies no symbol table. There must be a B:filename.REL and it will produce a file on B: called filename.com (4) LINK file1,file2[S] The linker will search file2 for subroutines referenced in file1 and will combine them wi  !=COPYRIGHT (C) 1977, DIGITAL RESEARCH ZSID VERS 1.4$1/ !~=W!xe ~#Xbxʇ {z~#o}o҃i._!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*oÃø *sy͏͟+-'#.@=90Oy) ,    ͌ >^! 6 # q! w‡Ø͌>ʘ# }2 :  A ͪBx¸{{: G*w#wx͡ ͟80* {#z+++  ## ' 1>>^ 0 8 a[^ !~-i6+!w yÏaÌ^ ! y͌ >ʠ(͇ ͇ >V a!  y͟͡O*w#"͌ . a  !g  !! 0͟2!b  F>!  ®Wc͡Oi W*##yOx€y Ê y AzÙKByxy͡Ù! {/O! .{/O9OV >G>ͽÙHL{X GƐ'@'OxƐ'@'ON#5 z80O,z8UO! N#Ny ,!}ä(C)3ͱ,USPS* |} !9":!"<<2* ͞ !~5 * ͡S ͉ͤW! !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U ! 3! 3UW͒H! 3ü! 3\, ! 3\! zl z=1  3 !+ ͤ͵ ͵ !. ͤ!  ! O 3͍A,,A3͍! ́Á ! L ! ́z8O! 3~ ~ >v ! 3Uʹ,zʹzHږ 8O!n 3 C( )(͍)! 30> >z ͥ ,,ͥ ͉͉W_͕yO! 3 $% ,% !+ ͤO͉͒y !W {A !\ ͤ: ͒H)(IX+(IY+yO 3zʉ W! W3\,% ! 3! ͤAF,AF'! z> z ʽ ! ><3͈͐! 3 ͵ Z͉W{ ͇ z – z!  !G>ÙV) y*W>ưG*! ž yG VO{xʃfBGͲ G>Ù x Ͳ>Ù   Â! Q V ͵'> >3*  &! E͟(ʹN[W@GVI@zWe '3>ͽOzy Â(Mx?*z:: OzäIjG>ÙzG'vV”zOx yʏ >(ʠOxà: Ox¯>*ä>>{ IO> VyHÂͪ͟A>2Ó'>">CÏ͟XY x GV6W>6xJ  pÙ! aO y! ‰ uwͻ'‚>!  Q(ʰ_zÕz Ͳ >Oz>ʤ>ä! ͌ >! EV ͽG>Ù_V% {>*W -{ZW >{ ͵@&! VhV c >rw> V >** {zҝ*~#" 2x:U<{͉2 5 !äͤAOHL(HL)CʹA  a # zB) zO!f 3>͈C~ GK ! 3z! E ! 3@ z¾ z! u ! 3w,ͱ́r! 3z ͥ # ͍ z¯ ͉2 ͉W͇ 5 z'!k # µ !3{͒z͒S?*!9"͡"͉*" *'/7?v"*2:DEFMV^goRET EI DI EXX HALTCCF SCF CPL DAA RRA RLA RRCARLCANOP !"#)*+4569FNV^fnpqrstuw~CP OR XOR AND IN OUT JR DJNZADD ADC SUB SBC AND XOR OR CP INC DEC LD RST AF POP PUSHJP CALLRET EX I,A A,I RLD RRD IM 2IM 1RETIIM 0RETNNEG LDI CPI INI OUTILDD CPD IND OUTDLDIRCPIRINIROTIRLDDRCPDRINDROTDRSBC ADC RLC RRC RL RR SLA SRA SRL BIT RES SET LD IM NZZ NCC POPEP M B C D E H L (HL A BC DE HL SP IX IY AF (IX+(IY+(BC (DE (C (SP ??= xKàï÷ZhÐyg Æ}!"Q!*"!"!""!2V!2M!2#!2S!!" "d!"!"!!1!!++"!"O!>2  8!"9:] !÷1!į>#yh͐ !J!6-B5͐A]]_!Y^#V]8]03]]]]]!]]j]]ů2[\ͯ>2M!!""!]:J!͠=]g" ]g" =g"=]> 2]]g=!1g=-1g!WgG"d!=Wg=]b*d!}o_"f!*d!"h!#>:y:K!ʞw^#V##:ڲ …òw~#:ڲ}ž"d!:J!*h!w+:K!!L!~/www*d!}|*d!:e]ggg{z|]}$2D!2E!gg"F!g"H!DM\!D!6xf"!=x=xYP!$!~ʲ#^#V:D!ʫ*!{«z«"!!~62 !ò#w6 }1!1!*!*!!V!~4#~#F#x~#s#r#w>ʿg===]g#wᯕo>g#'d w>#y!3^#V#0}o|gg Zx~y0ʅyGÑyyÑ‘G~Sz{ <w>'y{y>'y*!##V+^+N+y#w ~+yxÐ. s#r#Ü]}w#:K!ʜ#Ü>#>2S!!"O!#P@g}]=O=]g"O!"T!2E!U # `͐ xG͐ …xÔ']͐ ]x/!*5]ʬ!:E]]͐ ]cwh=]gx|]}]#gA>Ag}|]E~!!!!pLs#r:[F_!~X![4Y\ͯX2[17>?y l!ͯ!n!"j!> _ͯ~y#Æ͜a_!m!~> ʰ5*j!~#"j! Ҽ0y7yͲò> y> y ͯ#:J! w>.y^+~y:J! >:y|}5 y>.y*f!}o|/+- ,) 0 ]^#V#͐*!Ny]*j!*l! Eʠ ʺ+º͐Ë ºHʳ͐#^#V"l!"j!~/o>g++u!.n@n^#V=n^'͜ ]'͜H']S_#B͐H@0 ])DM)) O #^Y*!^#V#͐^KZ))))o͐HB"!s#r#!]!4-ˆî+•*!Ý+«͐ Ø-͐y_xWØ͐!K!6W6͐!]!6# ,>2]!}m ͐}*  w#  *,?r# ,:J!]m!!Ow #w Eq!\ S:o@w#tG6#.ʏÃ6# ‘S6 w#ä!ex#y#*!}|"!:M!!]qg!=:J!]g!!|]"!!$!~=#~#V;z;:!w :!]!$!~e:!w#s#r R]!$!~ʛ:J!ʈ6Û~w#^#V v!ʷ=]g"!!l!~# :]?ʀ͍]>HXEͱ*!\ͯ€w# &]:Wr_rrO {Bx!<i`"!Àrrw#Er]&Z&Z\GтWx!ڐ:M!̠>ULTͱ!!\~# ¡2|:] >!v͍͆<]&>!_\_*!& & *+&  !]w{]*#^#Vr+s+6]*"s#s#rT!J*!*"!!͆*!#w*!#w*+# SYMBOLS NEXT PC END =]g#w:K!ʹ^#V#ý~wh͐ .:m!>."͜ ʜw#=]g:K! m ͐}m ]]!]!JXN~!:!~# IA_^!!L^#Vx}>ѷ>-y~y/y~y>=Ñ/y>'y¨~!!!!~[#wc#x ڹwù5!*ͱE!:ͱw *!" !6c#~O+"f!*!~~#:cwJ^#Vy6DzS_c~*!~c#^+*!~Gzx&ç@—xv&ʳx80&óx6ʳ4ʧ5¹>=y*!~*!x*!*!:J!& &&x*!~&ó&*!~9&4&&#^xCZMEIABDHSPXY!"T!2S!"!+"!!91!!91!*!~: !2D!!@!~ʨ#^#V#~ ›!V!~6=G#^#V#~xú#"!!N#FO*Q!>7U:#!”!$!~Q#~#V*!QzQ~==2#!6w6:J!6 U<!͆*!U ”|=p U*! U:D!ʔ*H!MD*F!:E!7U!"O!O2#!>*y*!ҷ" *!"d! PASS !S!~*T!+"T!|w=2#!~! ~##Z: !  *!!w2 !~C< EB ͍E *!F#!N!s!7^#V__eB B ? ? 2 B B uE ͍E ::^#V#k^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G ~_!< < "< {p? {5? B ? ͍>G ><7*O!|z !N!N*!!b z >#y> y×:S!!K!ʐ ڐ >û ʺ =_~/w/w{ʮ Ү ͍=ʺ YP× "!pCE" *!##F+N+~!/o>g{!z!<33 @ BAI $@$B$@$$@!$D  I $I $$$$ BA"$ BHB$$ !$$B$! B! $$" " A! H BBBHBBHAHD!I I I$$! $@B $!B "I   H "DI!HI $ ! B"!AI$I$I$ I$A$ I$@D! $"$ HDIDBHIBAI@AHHH"H@@D$$I ABI$I$HB@I$@$I$J $$IB@* I$$I"HI$$ @ $!$I!"@! $AI$$! "B $ "H@"! $ HD@DH"$@!$$ H  ! @AA@H@HBD@@BI@$ $HBD!B HI$$$"$ D$"HIHBI$I$DH@"A $@ ! !!HB!DHII @  ! $  B @A $!BI "@$" "$I$I! @ !D$BB$"I$  $!D$$I$I$$"A$$I  @I I$ @"H @ @@BHABIA $ @@ !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U                                                                                                            !  !  "  "  #  #  $  $  %  %  &  &  '  '