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: Vudojin Bragami
Country: South Sudan
Language: English (Spanish)
Genre: Business
Published (Last): 16 May 2010
Pages: 494
PDF File Size: 4.24 Mb
ePub File Size: 7.63 Mb
ISBN: 179-9-67860-404-6
Downloads: 20353
Price: Free* [*Free Regsitration Required]
Uploader: Keramar

Z80 assembler – Assembler directives

Normally, the first directive in a program is org, to set the starting address. It will seek in the output file and start overwriting assmebleur output.

Parts of the code can be omitted using these conditional statements. Multiple expressions, separated by commas, may be specified.

It reserves num bytes of space and initializes them to val. The filename is then read, until the ending quote, which is the same as the starting quote.

All definitions should be separated by commas. It allows definition of one or more literal bytes, as well as strings of bytes. 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. If val is omitted, it defaults to 0. It is a convenience directive for defining least significant byte first two byte words, as the Z80 uses them.


After this definition, it is possible to use the macro, like this: There is no need to do this. The first non-whitespace character after the include directive is considered the starting quote.

The official ZASM homepage

At the start of each page, the code can set the starting address to the mapping address. In the following example, the output contains 4 bytes: People have requested to be able to overwrite the generated output.

As in C but without theassemboeur includes an other source file. It takes one or two arguments, num and val.

It allows the included binary to be “patched”. Strings of bytes should be between double quotes.

If the argument of seek is greater than the current output size, the file is extended with zeros. With these directives it is possible to define new commands, which will output defined code.

This sets the assembler’s idea of the current address. Org only changes the assembler’s idea of “where” it is. At the start, the current address is set to 0. The previously defined pages are not overwritten. 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. This can be used to put some comments at the end. At the end of the program, it is allowed to use the “end” directive. Incbin stands assembleug “include binary”.


Code which is not assembled is awsembleur for a correct command. This is mostly useful in combination with incbin.

Assembler directives

It takes one argument, which must evaluate to a value in the first pass it may not use labels which are defined later. Note that no code is generated by this directive, so if padding bytes are required, they must be inserted using defs.

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. Everything after this directive is ignored. The argument is given in the same way as for include.

This is what seek is for.