Module cpclib_asm::preamble
source · [−]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