83Plus:BCALLs:4E70

From WikiTI
Revision as of 23:42, 22 February 2013 by Geekboy (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Synopsis

Official Name: CreateVar

BCALL Address: 4E70

Creates a variable of a specified type.

Inputs

  • A: type of variable to create (05h for programs, 06h for protected programs, etc.)
  • HL: length in bytes
  • OP1+1 = name of variable

Outputs

  • HL points to symbol table entry
  • DE points to data section
  • OP4 contains the name as inputted in OP1

Registers Destroyed

Comments

If the length of name is shorter than 8 characters it must be zero-terminated. If there isn't enough RAM a memory error will be generated. Contents of the program are random.

This Seems to leak memory when creating variables. ~ Geekboy1011

Example

Create an unprotected program of size 10:

ld hl,progName-1
RST rMov9ToOP1
ld hl,10
ld a,05h
B_CALL CreateVar

progName: db "PROGNAME"