[A83] Re: assembly-83 Digest V2 #26
[Prev][Next][Index][Thread]
[A83] Re: assembly-83 Digest V2 #26
> -- Binary/unsupported file stripped by Listar --
> -- Type: application/octet-stream
> -- File: S2P.asm
> -- Desc: S2P.asm (Assembly Source File)
Now that tip of setting the file-type .txt to text/plain sure helps...
Well anyhow here is the source:
; Prog2String - by Henk Poley <>< - 01feb2002
; -----------   -----------------   ---------
; VAT_1 starts with pointer to Prog
; VAT_2 starts with pointer to String
;ROMcalls
LD_HL_MHL     equ $0033
_ZeroOP1      equ $428E
_ChkFindSym   equ $442A
_CreateProg   equ $448A
_DelVar       equ $44AA
_ErrUndefined equ $467B
_ErrBreak     equ $4684
;Memory areas
OP1           equ $8039
;Data types
StrngObj      equ   $04
;Tokens
tVarStrng     equ   $01
tStr1         equ   $00
.org 9329h
	.db	$E7,"9_[V?",5
	
	; You *might* want to add some stuff here that reads from your
	; BASIC program what to do. Untill then, we only convert Str1
	; to prgmABCDEFGH.
	; Just ask me for examples for reading back into the BASIC file
	;Create Program
	ld	hl,ProgramName
	rst	$20
	call	_Chkfindsym
	jp	nc,_ErrBreak
	ld	hl,0
	call	_CreateProg
	ld	(VAT_1),hl
	;Lookup String
	call	_ZeroOP1
	ld	hl,StringName
	ld	de,OP1
	ld	bc,3
	ldir
	call	_ChkFindSym
	jp	c,_ErrUndefined
	ld	(VAT_2),hl
	ld	(Data_2),de
	;Swap datapointers
VAT_1 = $ + 1
	ld	hl,$0000
VAT_2 = $ + 1
	ld	de,$0000
	inc	hl
	inc	de
	ld	b,(hl)
	ld	a,(de)
	ld	(hl),a
	ld	a,b
	ld	(de),a
	inc	hl
	inc	de
	ld	b,(hl)
	ld	a,(de)
	ld	(hl),a
	ld	a,b
	ld	(de),a
	;Delete VAT_2
	ld	hl,(VAT_2)
Data_2 = $ + 1
	ld	de,$0000
	jp	_DelVar
StringName:
	.db	StrngObj,tVarStrng,tStr1
ProgramName = $ - 1
	.db	"ABCDEFGH"
Follow-Ups: