EMMA 02

BASIC

  • Home
  • Download
  • Change Log
  • Help
  • Compilation
    • Windows
    • OS X
    • Linux
  • Forums
  • Tape Conversion
  • Machine Code
    • SYSTEM00
    • CDP1801
    • CDP1802
    • CDP1804
    • CDP1805
    • Differences
  • Pseudo Code
    • AMVBAS
    • AM4KBAS
    • CARDTRAN
    • Chip-8, 8X, ETI-660 & Elf
    • FEL-1
    • FPA-1
    • FPL-2
    • FPL-4
    • GPL-2
    • GPL-3
    • GPL-4
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • ST2
    • ST4
    • STK
    • Test-Word
    • Super-chip
  • BASIC
    • General Information
    • COMX BASIC V1.00
    • Floating Point BASIC 2.2
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
    • Quest Super BASIC 1.4
    • Quest Super BASIC 3.0
    • Quest Super BASIC 5.0
    • Quest Super BASIC 6.0
    • RCA BASIC3 V1.1
    • Telmac SBASIC v24.3
    • Error Messages
  • CDP18S020
    • General Information
    • I/O Map
  • Cidelsa
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
  • COMX-35
    • General Information
    • F&M
    • Did You Know...?
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Expansion Box
    • Disk
    • Printers
    • Thermal
    • PL-80
    • 32K RAM
    • 80 Column
    • F&M EPROM
    • F&M Joy Card
    • Super Board
    • COMX BASIC V1.00
  • COMIX-35
  • Cosmac Elf
    • General Information
    • I/O Map
  • Cosmac Elf 2000
    • General Information
    • I/O Map
    • Memory
    • Video
  • Cosmac Vip
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • STK
    • Chip-8 and 8X
    • Test-Word
    • Floating Point BASIC 2.2
  • Cosmac Vip II
    • General Information
    • I/O Map
    • Floating Point BASIC 2.2
  • Cosmicos
    • General Information
    • I/O Map
  • ETI 660
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Chip-8 ETI-660
  • FRED 1
    • General Information
    • I/O Map
    • Cassette
    • CARDTRAN Syntax
  • FRED 1.5
    • General Information
    • I/O Map
    • Cassette
    • FPL-2
    • FPL-4
    • FEL-1
  • Infinite
    • General Information
    • I/O Map
  • MCDS
    • General Information
    • I/O Map
  • Membership Card
    • General Information
    • I/O Map
  • Microboard
    • General Information
    • I/O Map
  • Microtutor
    • General Information
    • I/O Map
  • Microtutor II
    • General Information
    • I/O Map
  • MS2000
    • General Information
    • I/O Map
  • Netronics Elf II
    • General Information
    • I/O Map
    • Keyboard
  • Oscom Nano
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
  • Pecom 32 and 64
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
  • Pico/Elf V2
    • General Information
    • I/O Map
  • Quest Super Elf
    • General Information
    • I/O Map
  • RCA Coin Arcade
    • General Information
    • I/O Map
    • Memory
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • GPL-2
    • GPL-3
    • GPL-4
  • RCA Studio II
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST2
  • RCA Studio III
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
  • RCA Studio IV
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST4 Syntax
  • Telmac TMC-600
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Telmac SBASIC v24.3
  • Telmac 1800
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cassette
  • Telmac 2000
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
  • VELF
    • General Information
    • I/O Map
    • BIOS
    • Video
    • Keyboard
  • VIP2K MC
    • General Information
    • I/O Map
    • Memory
    • Video
    • Chip 8
  • Visicom COM-100
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard

 

 

 

 

 

 

 

 

 

 

 

 

CALL

Format:
CALL (expr1)
CALL (expr1, expr2)
CALL (expr1, expr2, expr3)

Supported by: COMX BASIC V1.00, Floating Point BASIC 2.2, Pecom 32 BASIC, Pecom 64 BASIC 1.0 and 4.0, Quest Super BASIC 3.0, 5.0 and 6.0, RCA BASIC3 V1.1, Telmac SBASIC v 24.3

Similar commands:
Quest Super BASIC 1.4: CALL

The machine language subroutine statement is CALL.

This statement provides the link between BASIC and machine language programming. It serves as a machine language subroutine call. It transfers execution to a machine language subroutine, the address of which is determined by expr1. The machine language routine should be written with the following rules in mind.

  1. The program counter upon entry into the subroutine is R3.
  2. Transfer is made back to BASIC by means of a D5 (SEP R5) instruction.
  3. The machine language routines have free use of R8, RA, RC, RD, and RE. If any other registers are to be used, they should be saved first on the stack and restored before returning to BASIC.
    Note: The standard call and return technique (SCRT) is not used because it destroys the upper part of register F (RF.1).
  4. Call and return conventions have been established by BASIC and no further initialization is required by the machine language
  5. The stack is available for use (point to by R2) so long as it returns as it was left.

Any of the expressions (expr1, expr2, expr3) may be expressed in either integer or floating point. BASIC will automatically convert them to integer. The value of expr2, if used, is then passed to the machine in R8. A second piece of data may also be passed to the machine language subroutine in register RA. The value will be that of expr3. RD is initialized to timing constant for utility program.