home *** CD-ROM | disk | FTP | other *** search
-
- [SORCIM.CNV]
-
- [[Turn a Sorcim ACT86 file into a Digital Research ASM86 file.]]
-
-
-
- [read line, write line]
- (()()(0 1 2)(
- ((PWS)(or),);
- (<-->(^Z),);
- (<>,(%W,<9>.A86,(%|))(R)):
- (<0>;<1>!<2>,<0>;<1>[exclm]<2>):
- (;<0>,(%W,<9>.A86,;<0>(%|))(R)):
- (<0>;<1>,(%W,<9>.A86,(b,<0>);<1>(%|))(R)):
- (<0>,(%W,<9>.A86,(b,<0>)(%|))(R)):
- )) a
-
- [remove trailing tabs, spaces]
- (()()(0 1)(
- (<0> <>,(b,<0>) );
- (<0>(^I)<>,(b,<0>)(^I));
- ((and,<-->(^I)(or,rep,repz,repnz)<--><>,<0>),(c,<0>(R)));
- (<0>,(c,<0>));
- )) b
-
- [transform]
- (()()(0 1 2 3)(
- (<0>ld(^I)<1><,><2>,<0>mov(^I)<1>,<2>):
- (<0>stob(^I)<1><,><2>,<0>mov(^I)byte ptr <2>,<1>):
- (<0>sto(^I)<1><,><2>,<0>mov(^I)<2>,<1>):
- (<0>(and,<:s:>,<1>)(^I)[<2>]<3>,<0><1>(^I)word ptr [<2>]<3>):
- (<0>(and,<:t:>,<1>b<>)(^I)[<2>]<3>,<0><1>(^I)byte ptr [<2>]<3>):
- (<0>(^I)[<1>]<>,<0>(^I)word ptr [<1>]):
- (<0>[<1>+(and,<:p:>,<2>)]<3>,<0><2>[<1>]<3>):
- (<0>[<1>-(and,<:p:>,<2>)]<3>,<0>-<2>[<1>]<3>):
- (<0>#(and,(or,-,)<:p:>,<1>)<2>,<0><1><2>);
- (<0>#(and,<[1]>SIZ,<1>)<2>,<0><1><2>);
- (<0>#(and,<:r:>,<1>)<2>,<0><(>offset <1><)><2>);
- (<0>#<1>,<0><1>);
- (<0>rep(^I)<1>,<0>repnz(^I)<1>):
- (<0>cmpsb<1>,<0>cmps(^I)byte [di],[si]<1>);
- (<0>lodsb<1>,<0>lods(^I)byte [si]<1>);
- (<0>movsb<1>,<0>movs(^I)byte [di],[si]<1>);
- (<0>scasb<1>,<0>scas(^I)byte [di]<1>);
- (<0>stosb<1>,<0>stos(^I)byte [di]<1>);
- (<0>stos<1>,<0>stos(^I)word [di]<1>);
- (<0>jc(^I)<1>,<0>jb(^I)<1>);
- (<0>jnc<1>,<0>jnb<1>);
- (<0>ror(^I)<1>,<0>ror(^I)<1>,1);
- (<0>rol(^I)<1>,<0>rol(^I)<1>,1);
- (<0>:(^I)(or,DB,db)(^I)<1>,<0>(^I)db(^I)<1>);
- (<0>:(^I)(or,DW,dw)(^I)<1>,<0>(^I)dw(^I)<1>);
- (<0>:(^I)(or,DS,ds)(^I)<1>,<0>(^I)rw(^I)<1>);
- ((and,<[1]>SIZ(^I)equ(^I)<--><>,<0>),<0>);
- (<0>(^I)equ(^I)0<1>,<0>(^I)equ(^I).0<1>);
- (<-->LINK,(^I)END);
- ((^I)(or,END,end),(^I)end);
- )) c
-
- [main program]
- ((
- ((IVL,0,9,)(ITR,(IVL,0,9,))) p
- ((or,(IVL,A,Z,),(IVL,a,z,),@,_)) q
- (<:q:>(ITR,(or,(IVL,0,9,),<:q:>))) r
- ((or,add,adc,sub,sbb,cmp)) s
- ((or,cmpb,notb)) t
- )(
- ((%R,<9>.ASM)) R
- )(9)(
- ((PWS)(or),);
- (<9>(or, ,.,<>),(%Or,<9>.ASM)(%Ow,<9>.A86)(a,(R))(%E));
- ))
-
- [end]
-