83Plus:BCALLs:4C3C

From WikiTI
Jump to: navigation, search

Synopsis

Unofficial Name: ExecuteNewPrgm

BCALL Address: 4C3C

Creates a new program, fills it with data, and then executes it.

Inputs

  • A: type of variable to create (05h for programs, 06h for protected programs)
  • HL: pointer to structure (described below)

Outputs

  • None

Registers Destroyed

  • All

Comments

The structure which this routine takes as argument is shown below.

DB "NAME",0 ;zero-terminated name of program
DW wSize    ;size of program
;program data

It will execute both BASIC and assembly programs. If the variable already exists and is archived, an error is thrown. If it is type 06h (protected), ERR:RESERVED is thrown (for whatever reason). Otherwise, it is deleted.

In theory, any variable can be created from this routine and "executed", but don't.