{{htmlmetatags>metatag-robots=()
metatag-title=(DECLARE FUNCTION | ugBASIC User Manual)
metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum)
metatag-description=(Manual page for DECLARE FUNCTION)
metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png)
metatag-og:title=(DECLARE FUNCTION | ugBASIC User Manual)
metatag-og:description=(Manual page for DECLARE FUNCTION)
}}
====== ugBASIC User Manual ======
===== DECLARE FUNCTION ✓ =====
===== 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 (,)
==== PURPOSE ====
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[]'''
==== EXAMPLE ====
DECLARE SYSTEM FUNCTION test ON CPC, ZX
See also the following example files:
* ''[[https://github.com/spotlessmind1975/ugbasic/tree/main/examples/extern_example_11.bas|extern_example_11.bas]]''
==== ABBREVIATION ====
DecFu
==== AVAILABLE ON ====
*
* Atari (400/800)
* Atari XL/XE
* Commodore 128 (MOS 8502)
* Commodore 128 (Zilog Z80)
* Commodore 64
* Commodore 64+REU
* TRS-80 Color Computer
* TRS-80 Color Computer 3
* ColecoVision
* Amstrad CPC 664
* Dragon 32
* Dragon 64
* Thomson MO5
* Thomson MO5
* Olivetti Prodest PC128
* Commodore PLUS/4
* SEGA SC-3000
* SEGA SG-1000
*
* VG-5000
* Commodore VIC-20
* ZX Spectrum 48
==== SEE ALSO ====
[[DECLARE PROCEDURE]]
==== ANY PROBLEM? ====
If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=ISSUE ON DECLARE FUNCTION|open an issue]] for this keyword on GitHub. Thank you!===== POWERED BY =====
[[:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]