CpcAlive is a
programming
environment
Amstrad CPC
compatible
for graphics
 animations
creation.





Cpc Online

Cpc basic key words
( English - Español )

Cpc basic error messages

The memory

The Cpc system vectors

Diskettes management

Z80 processor opcodes and
operation

CpcAlive installer for Windows
and for DosBox

CpcAlive Documentation

SmallAsm is a Z80 assembler
for Dos






INTERRUPTION 018H MANAGEMENT

The AH values to transmit to acced of the various functions of this interruption are:

0 = Read the byte pointed by SI (bank 0 Cpc) and put it in AL
1 = Write the value of the register AL in the byte pointed by DI
(bank 0 Cpc)
2 = Read the value pointed by SI (bank 0 Cpc) and put it in the register indicated by AL:

AL value 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Register to load AH BL BH CL CH DL DH AX BX CX DX SI DI BP
AL value 14 15 16 17 18 19 20
Register to load EAX EBX ECX EDX ESI EDI EBP

3 = Write the value of the register indicated by AL in the memory adress pointed by DI (bank 0 Cpc) :

AL value - 1 2 3 4 5 6 - 8 9 10 11 - 13
Register to write - BL BH CL CH DL DH - BX CX DX SI - BP
AL value - 15 16 17 18 - 20
Register to write - EBX ECX EDX ESI - EBP

4 = memory blocks connection depending of values in the corresponding fields.

5 = data block transfer from Bank 0 of the Cpc to the connected X86 module.
Input conditions: SI=
Cpc source address, DI=X86 destination address, CX=size block in bytes

6 = 
data block transfer from the X86 module to the Cpc Bank 0.
Input conditions: SI=address source X86, DI
=Cpc destination adress, CX=size block in bytes

7 = 
data block transfer from the Cpc memory (State before call module) to the connected X86 module.
Input conditions: SI=
Cpc source address, DI=X86 destination address, CX=size block in bytes

8 = 
data block transfer from the X86 module connected to the Cpc memory (State before call module).
Input conditions: SI=address source X86, DI=Cpc destination adress, CX=size block in bytes

9 = data block transfer from the Cpc Bank 0 to buffer.
Input conditions: SI=Cpc source address, CX=size block in bytes (0200h maxi)
Output: ES:BX points to the beginning of the area wich have received data

10 = 
data block transfer from the Cpc memory (State before call module) to buffer.
Input conditions: SI=Cpc source address, CX=size block in bytes (0200h maxi)
Output: ES:BX points to the beginning of the area wich have received data