[][src]Module cpclib_asm::preamble

Re-exports

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

Modules

builder
routines

Code function that generate Listing instead of Tokens

symbols
tokens

Structs

BaseListing

A listing is simply a list of things similar to token

SymbolsTable
SymbolsTableCaseDependent

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

Enums

BinaryFunction

Function with two arguments

BinaryTransformation

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

CrunchType
DataAccess

Encode the way mnemonics access to data

Expr

Expression nodes.

ExprFormat

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.

FlagTest
FormattedExpr

Expression for a print expression

IndexRegister8
IndexRegister16
Mnemonic
Oper
Register8
Register16
SaveType
StableTickerAction

Stable ticker serves to count nops with the assembler !

Symbol
SymbolError
TestKind

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

Token
UnaryFunction

Represent a function with one argument

Traits

ListingElement

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

Functions

assert_str

Generate an ASSERT token from the string description of the expression

breakpoint_snapshot
breakpoint_winape
call_expr

Call opcode

comment

Generate a call

defb

Generate defw directive with one argument

defb_elements

Generate defb directive from a slice of expression

defs_expr

Generate defs directive

defs_expr_expr

Generate defs directive

defw

Generate defw directive with one argument

djnz_expr

DJNZ opcode

equ
exx
inc_a

Generate the opcode inc $reg

inc_af

Generate the opcode inc $reg

inc_b

Generate the opcode inc $reg

inc_bc

Generate the opcode inc $reg

inc_c

Generate the opcode inc $reg

inc_d

Generate the opcode inc $reg

inc_de

Generate the opcode inc $reg

inc_e

Generate the opcode inc $reg

inc_h

Generate the opcode inc $reg

inc_hl

Generate the opcode inc $reg

inc_l

Generate the opcode inc $reg

incbin
jp_label
label
ld_a_expr

Generate the opcode LD $reg, expr

ld_af_expr

Generate the opcode LD $reg, expr

ld_b_expr

Generate the opcode LD $reg, expr

ld_bc_expr

Generate the opcode LD $reg, expr

ld_c_expr

Generate the opcode LD $reg, expr

ld_d_expr

Generate the opcode LD $reg, expr

ld_d_mem_hl
ld_de_expr

Generate the opcode LD $reg, expr

ld_e_expr

Generate the opcode LD $reg, expr

ld_e_mem_hl
ld_h_expr

Generate the opcode LD $reg, expr

ld_hl_expr

Generate the opcode LD $reg, expr

ld_l_expr

Generate the opcode LD $reg, expr

ld_l_mem_ix

I have clear doubt that this exists really

ld_mem_hl_b
ld_mem_hl_c
ld_mem_hl_d
ld_mem_hl_e
ld_mem_hl_h
ld_mem_hl_l
ld_mem_hl_register8
ld_register8_mem_hl
ldd
lddr
ldi
ldir
nop

NOP instruction

out_c_a
out_c_b
out_c_c
out_c_d
out_c_e
out_c_h
out_c_l
out_c_register8
pop_af
pop_bc
pop_de
pop_hl
pop_ix
pop_iy
push_af
push_bc
push_de
push_hl
push_ix
push_iy
res_d
res_reg_pos
ret

Ret token

set_d
set_reg_pos
token_for_opcode_latest_arg

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

token_for_opcode_no_arg

Build a token that represents a mnemonic without any argument

token_for_opcode_one_arg

Build a token that represents a mnemonic with only one argument

token_for_opcode_two_args

Build a token that represents a mnemonic with two arguments

Type Definitions

Listing

Standard listing is a specific implementation