Available on: all targets
See also: DECLARE PROCEDURE

DECLARE FUNCTION

The DECLARE FUNCTION is a way to define and call external procedures written in machine language and to insert assembly into the sources. The procedures defined in this way can be called as if they were an integral part of the language, and any result value can be retrieved by calling it as a function:

value = test[]

SYNTAX

 DECLARE [SYSTEM] FUNCTION name AT address [ ( par1 [, par2 [, ... ] ] ) ] RETURN ret [ ON targets ]
 par : name AS type ON register
 par : name AS type ON STACK(width)
 ret : register AS type | STACK(width) AS type
 width: BYTE | WORD | DWORD
 targets : name of targets, separated by comma (,)


Legend
  • id : identifier
  • type : datatype
  • v : value
  • "..." : string
  • [...] : optional

EXAMPLE

 DECLARE SYSTEM FUNCTION test ON CPC, ZX


Used in:

ABBREVIATION: DecFu

Join BASIC 10Liner Contest with ugBASIC!

An interesting competition is held at the beginning of each year: the BASIC 10Liner Contest. It is possible to use ugBASIC to participate in the next "BASIC10Liner" competition, in the following categories:

  • PUR-120 - A game in 10 lines of max 120 characters (w/abbrev.)
  • EXTREME-256 - A game in 10 lines of max 256 characters (w/abbrev.)
  • SCHAU - Any program in 10 lines of max 256 characters (w/abbrev.)
In order to reduce space you can use this abbreviation for this instruction:

DECLARE FUNCTION ↔ DecFu

Any problem?

If you have found a problem with this keyword, if you think there is a bug or, more simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!

open an issue BACK TO KEYWORDS