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.
|Published (Last):||18 December 2004|
|PDF File Size:||19.43 Mb|
|ePub File Size:||16.78 Mb|
|Price:||Free* [*Free Regsitration Required]|
Normally, the first directive in a program is org, to set the starting address. It takes one or two arguments, num and val. This can be used to put some comments at the end. Parts of the code can be omitted using these conditional statements. 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.
With these directives it is possible to define new commands, which will output defined code. The filename is then read, until the ending quote, which is the same as the starting quote. Code which is not assembled is checked for a correct command. The argument is given in the same way as for include.
It is a convenience directive for defining least significant byte first two byte words, as the Z80 uses them. It allows the included binary to be “patched”. All definitions should be separated by commas. Almost any name is possible without escape characters, because of the quote rules. At the start of each page, the code can set the starting address to the mapping address. This sets the assembler’s idea of the current address. After this definition, it is possible to use the macro, like this: This is what seek is for.
People have requested to be able to overwrite the generated output. Org only changes the assembler’s idea of “where” it is. As in C but without thethis includes an other source file.
Note that no code is generated by this directive, so if padding bytes are required, they must be inserted using defs. Multiple expressions, separated by commas, may be specified.
In the following example, the output contains 4 bytes: It allows any binary data to be included verbatim into the output. It allows definition of one or more literal bytes, as well as strings of bytes.
At the end of the program, it is allowed to use the “end” directive. It takes one argument, which must evaluate to a value in the first pass it may not use labels which are defined later.
Using this directive more than once can be useful to create code which is to be executed at the same address, for example when assemvleur memory is mapped. It will seek in the output file and start overwriting previous output. Strings of bytes should be between double quotes. If val is omitted, it defaults to 0. This is mostly useful in combination with incbin.
assembleur z80 pour cpc © _prototype_ (19??)
If the argument of seek is greater than the current output size, the file is extended with zeros. At the start, the current address is set to 0. There is no need to do this.
Incbin stands for “include binary”. Everything after this directive is ignored. It reserves num bytes of space and initializes them to val. The previously defined pages are not overwritten.