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: Doumuro Yot
Country: Trinidad & Tobago
Language: English (Spanish)
Genre: Science
Published (Last): 10 April 2014
Pages: 165
PDF File Size: 15.71 Mb
ePub File Size: 14.51 Mb
ISBN: 408-7-94912-340-8
Downloads: 16825
Price: Free* [*Free Regsitration Required]
Uploader: Doucage

The previously defined pages are not overwritten. Parts of the code can be omitted using these conditional statements.

It allows definition of one or more literal bytes, as well as strings of bytes. It takes one argument, which must evaluate to a value in assembleut first pass it may not z880 labels which are defined later. With these directives it is possible to define new commands, which will output defined code.

In the following example, the output contains 4 bytes: It will seek in the output file and start overwriting previous output. Incbin stands for “include binary”.

Everything after this directive is ignored. This is mostly useful in combination with incbin.


.BYTE/.DB – z80 Heaven

It reserves num bytes of space and initializes them to val. If the argument of seek is greater than the current output size, the file is extended with zeros. Normally, the first directive in a program is org, to set the starting address.

At the end of the program, it is allowed to use the “end” directive. After this definition, it is possible to use the macro, like this: It allows the included binary to be “patched”. It takes one or two arguments, num and val.

Assembler directives

This sets the assembler’s idea of the current address. If val is omitted, it defaults to 0. Multiple expressions, separated by commas, may be specified.

This is what seek is for. As in C but without thethis includes an other source file.

Code which is not assembled is checked for a correct command. The filename is then read, until the ending quote, which is assembbleur same as the starting 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.

People have requested to be able to overwrite the generated output. Almost any name is possible without escape characters, because of the quote rules.

Org only changes the assembler’s idea of “where” it is. Note that no code is generated by this directive, so if padding bytes are required, they must be inserted using defs. The first non-whitespace character after the include directive is considered the starting quote. There is no need to do this. Strings of bytes should be between double quotes.


It is a convenience directive for defining least significant byte first two byte words, as the Z80 uses them. At the start, the current address is set to 0. It allows any binary data to be included verbatim into the output. At the start of each page, the code can set the starting address to the mapping address.

The argument is given in the same way as for include.

The official ZASM homepage

All definitions should be separated by commas. This can be used to put some comments at the end. 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.