It is a convenience directive for defining least significant byte first two byte words, as the Z80 uses them. Multiple expressions, separated by commas, may be. ZASM is a compiler/assembler and monitor (including disassembler and debugger) for the Z80 CPU. It runs under Linux (probably also. Uses. The easiest way to put data directly into your program. Note that since the z80 processor is little-endian, loading into a bit register from.

Author: Gugore Gataxe
Country: Timor Leste
Language: English (Spanish)
Genre: Software
Published (Last): 10 November 2006
Pages: 412
PDF File Size: 11.64 Mb
ePub File Size: 17.63 Mb
ISBN: 371-6-36500-333-7
Downloads: 2199
Price: Free* [*Free Regsitration Required]
Uploader: Zologul

The first non-whitespace character after the include directive is considered the starting quote. Strings of bytes should be between double quotes. Almost any name is possible without escape characters, because of the quote rules. It allows any binary data to be included verbatim into the output. As in C but without thethis includes an other source file.

With these directives it is possible to define new commands, which will output defined code. This can be used to put some comments at the assemvleur.

This is what seek is for.

Assembler directives

xssembleur It allows the included binary to be “patched”. Normally, the first directive in a program is org, to set the starting address. People have requested to be able to overwrite the generated output. Code which is not assembled is checked for a correct command. It takes one or two arguments, num and val.


It will assembldur in the output file and start overwriting previous output. Org only changes the assembler’s idea of “where” it is. It reserves num bytes of space and initializes them to val.

Multiple expressions, separated by commas, may be specified. All definitions should be separated by commas. If val is omitted, it defaults to 0.

There is no need to do this. The previously defined pages are not overwritten. Incbin stands qssembleur “include binary”. At the start of sasembleur page, the code can set the starting address to the mapping address. Using this directive more than once can be useful to create code which is to be executed at the same address, for example when the memory is mapped.

The filename is then read, until the ending quote, which is the same as the assekbleur quote. Otherwise it is not touched, which means that if you use these directives, a successfull assembler execution does not imply that all the code is correct.

It allows definition of one or more literal bytes, as well as strings of bytes. Everything after this directive is ignored.


It is a convenience directive for defining least significant byte first two byte words, as the Z80 uses them. After this x80, it is possible to use the macro, like this: It takes one argument, which must evaluate to a value in the first pass it may not use labels which are defined later.

This is mostly useful in combination with incbin.

Z80 Assembler Syntax

At the start, the current address is set to 0. Note that no code is generated by this directive, so if padding bytes are required, they must be inserted using defs. At the end of the program, it is allowed to use the “end” directive. This sets the assembler’s idea of the current address. Parts of the code can be omitted using these conditional statements. If the argument of seek is greater than the current output size, the file is extended with zeros.

The argument is given in the same way as for include. In the following example, the output contains 4 bytes: