Re-exports

pub use crate::assembler::*;
pub use crate::error::*;
pub use crate::implementation::expression::*;
pub use crate::implementation::instructions::*;
pub use crate::implementation::listing::*;
pub use crate::implementation::tokens::*;
pub use crate::parser::*;
pub use crate::assemble;
pub use crate::assemble_to_amsdos_file;
pub use crate::AssemblingOptions;

Modules

Wrappers for total order on Floats. See the OrderedFloat and NotNan docs for details.

Code function that generate Listing instead of Tokens

Structs

A listing is simply a list of things similar to token

Structure that ease the addresses manipulation to read/write at the right place

Encode the data for the structure directive

Wrapper around the Values table in order to easily manage the fact that the assembler is case dependent or independant

Enums

Function with two arguments

List of transformations that can be applied to an imported binary file

Define characters encoding

Encode the way mnemonics access to data

Expression nodes.

Format to represent an expression Stolen documentation of rasm Write text, variables or the result of evaluation of an expression during assembly. By default, numerical values are formatted as this behaviour:  fhexg Display in hexadecimal format. If the value is less than #FF two digits will be displayed. If less than #FFFF, the display will be forced to 4 digits.  fhex2g, fhex4g, fhex8g to force hex display with 2, 4 or 8 digits.  fbing Display a binary value. If the value is less than #FF 8 bits will be displayed. Otherwise if it is less than #FFFF 16 bits will be printed. Any negative 32 bits value with all 16 upper bits set to 1 will be displayed as a 16 bits value.  fbin8g,fbin16g,fbin32g Force binary display with 8, 16 or 32 bits.  fintg Display value as integer.

The successful result of an evaluation. Embeds a real, an integer or a string

Expression for a print expression

Represents a prefix that provides information related to banks for a label

This structures encode the parameters of macros. The usual parameter is a string. However, it can be a list of parameters to allows nested structs

Stable ticker serves to count nops with the assembler !

Encode the kind of test done in if/elif/else cases

The embeded Listing can be of several kind (with the token or with decorated version of the token)

Represent a function with one argument

Traits

All methods are unchecked

The ListingElement trait contains the public method any memeber of a listing should contain ATM there is nothing really usefull

Public signature of symbols functions TODO add all the other methods

Functions

Generate an ASSERT token from the string description of the expression

Call opcode

Generate a call

Generate defw directive with one argument

Generate defb directive from a slice of expression

Generate defs directive

Generate defs directive

Generate defw directive with one argument

DJNZ opcode

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode inc $reg

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

Generate the opcode LD $reg, expr

I have clear doubt that this exists really

NOP instruction

Generate org directive

Ret token

Build a token that represents a mnemonic with only one argument BUT positionned in the last position (for jp for example)

Build a token that represents a mnemonic without any argument

Build a token that represents a mnemonic with only one argument

Build a token that represents a mnemonic with two arguments

Type Definitions

TODO use a more complete type that can use a subset of functions to generate a string

Standard listing is a specific implementation