[0]Ram Disk:> dex ? TurboDEX Compiler v1.2 by $#%! Usage: DEX [-opts] What: Compiler for DEX language. Generates assemblysource. Note: File must end in '.dex', outputfile will end in '.s'. Type without extension. Options: -a Invoke A68k and Blink after succesfull compilation. -c Do not comment asmsource. -f Use filerequester instead of commandline. -g Invoke GenAm instead of A68k (includes opts -ao). -l Produce list and status file. -o Generate code for assembler other than A68k. -r Run program after assembling and linking (needs -a or -g). -s Generate safe code (atleast try to do so) -t Compile testprogram [0]Ram Disk:> dex -a hello TurboDEX Compiler v1.2 by $#%! Reading sourcefile :HELLO.DEX Scanning sourcecode ... Compiling ... All compiled without errors! Bufferspace left from 100k : 77066 Invoking A68K and BLINK ... 68000 Assembler - version 2.71 (April 16, 1991) Copyright 1985 by Brian R. Anderson AmigaDOS conversion copyright 1991 by Charlie Gibbs. Assembling HELLO.S PASS 1 line 68 PASS 2 line 68 End of assembly - no errors were found. Heap usage: -w2047,60 Total hunk sizes: c4 code, 0 data, 3e8 BSS Blink - Version 6.7 - 15 October 1986 Copyright © 1986 The Software Distillery. All Rights Reserved. 235 Trillingham Lane, Cary NC 27511 - BBS: (919)-471-6436 BLINK Complete - Maximum code size = 1196 ($000004ac) bytes [0]Ram Disk:> ls -l -----rwed 97-11-15 22:59:23 1 308 HELLO -----rw-d 97-11-15 22:58:20 1 46 hello.dex -----rwed 97-11-15 22:59:23 1 320 HELLO.o -----rwed 97-11-15 22:59:22 2 1308 HELLO.S [0]Ram Disk:> hello Hello, World! [0]Ram Disk:> cat hello.dex PROC main() WRITE 'Hello, World!\n' ENDPROC [0]Ram Disk:> cat hello.s SECTION dex,CODE MOVE.L 4,A6 ; init + open libs LEA dosname,A1 MOVEQ #33,D0 ; we need atleast kick 1.2 JSR -552(A6) ; open dos.library MOVE.L D0,mainvardosbase BEQ backwherewecamefrom MOVE.L A6,A5 MOVE.L D0,A6 ; get std output JSR -60(A6) MOVE.L A5,A6 MOVE.L D0,mainvarstdout MOVE.L A7,savestack ; save stack BSR proglabmain ; get going ... leaveprog: MOVE.L savestack,A7 ; close down MOVE.L D0,D7 MOVE.L 4,A6 MOVE.L mainvardosbase,A1 JSR -414(a6) ; close dos.library MOVE.L D7,D0 backwherewecamefrom: RTS savestack: DC.L 0 rdfdump: MOVE.B D0,(A3)+ ADDQ.L #1,rdflenght RTS rdflenght: DC.L 0 printf: MOVE.L D1,A0 LEA rdfdump(pc),A2 MOVE.L 4,A6 MOVE.L #printbuf,A3 MOVE.L A3,A4 CLR.L rdflenght JSR -522(A6) MOVE.L mainvarstdout(pc),D1 MOVE.L A4,D2 MOVE.L rdflenght(pc),D3 MOVE.L mainvardosbase(pc),a6 JSR -48(a6) RTS proglabmain: ; PROC main() LEA directtextlab0(pc),A0 MOVE.L A0,D0 MOVE.L D0,D1 MOVE.L A7,A1 BSR printf LEA 0(A7),A7 MOVEQ #0,D0 ; ENDPROC RTS mainvarstdout: DC.L 0 ; WRITE 'Hello, World!\n' directtextlab0: DC.B 'Hello, World!',10,13,0 EVEN dosname: DC.B "dos.library",0 EVEN mainvardosbase: DC.L 0 SECTION DEXPRINTF,BSS printbuf: DS.B 1000 END [0]Ram Disk:>