~rabbits/drifblim

4276dc3b589a57071dda8d1342205f1ff236c9e6 — Devine Lu Linvega 2 months ago b07f231
Added pass2 flag
3 files changed, 41 insertions(+), 2 deletions(-)

M examples/hello.tal
A old-build.sh
M src/symbols.tal
M examples/hello.tal => examples/hello.tal +2 -0
@@ 15,4 15,6 @@ BRK

@string "hello! $1

123c

~examples/include.tal

A old-build.sh => old-build.sh +31 -0
@@ 0,0 1,31 @@
#!/bin/sh -e

echo "Cleaning.."
rm -rf bin
mkdir bin

if [ -e "$HOME/roms/uxnlin.rom" ]
then
	echo "Linting.."
	# uxncli $HOME/roms/uxnlin.rom src/drifblim.tal
	# uxncli $HOME/roms/uxnlin.rom etc/bh.tal
fi

uxnasm src/drifblim.tal bin/drifblim-seed.rom

if [ -d "$HOME/roms" ] && [ -e bin/drifblim-seed.rom ]
then
	cp bin/drifblim-seed.rom $HOME/roms/drifblim.rom
    echo "Installed in $HOME/roms" 
fi

# Running hello.tal

uxncli bin/drifblim-seed.rom src/drifblim.tal bin/drifblim.rom
uxncli bin/drifblim.rom examples/hello.tal bin/hello.rom
uxncli bin/hello.rom

# Pack

uxncli bin/drifblim.rom etc/bh.tal bin/bh.rom
uxncli bin/bh.rom bin/drifblim.rom > bin/bh.log

M src/symbols.tal => src/symbols.tal +8 -2
@@ 9,7 9,7 @@
	@src $30
	@dst $30
	@include $30
	@program &head $2
	@program &head $2 &write $1

|0100 ( -> )



@@ 26,7 26,10 @@ BRK
@on-ready ( -> )

	#0a18 DEO
	( pass1 )
	;src ;handle-file JSR2
	( pass2 )

	( debug ) #010e DEO
	( halt ) #010f DEO



@@ 173,7 176,6 @@ JMP2

JMP2


@set-scope ( t* -- name* )

	;scope OVR2 SWP2 ;scpy ( .. )


@@ 191,6 193,9 @@ JMP2r

@get-ref ( token* -- <label*> )

	.program/write LDZ ,&no-write JCN
		POP2 ;&fill JMP2r
		&no-write
	LDAk LIT "& NEQ ,&no-sub JCN
		INC2 ;make-sublabel JSR2
		&no-sub


@@ 202,6 207,7 @@ JMP2r
	( count ) INC2k INC2 LDAk INC ROT ROT STA

JMP2r
	&fill ffff

@create-label ( name* -- )