var searchIndex={}; searchIndex["lasm"] = {"doc":"lasm, a minimal and portable assembly langauge","i":[[5,"assemble","lasm","assemble takes an assembly target, and the assembly code…",null,[[],[["result",["string"]],["string"]]]],[0,"asm","","asm, the module that provides structures that represent…",null,null],[4,"Register","lasm::asm","The Register enum represents a register in an assembly…",null,null],[13,"StackPointer","","The register that points to where the next item on the…",0,null],[13,"Accumulator","","The register that stores temporary values in several…",0,null],[13,"Named","","A register defined by the user. Each register's address…",0,null],[12,"name","lasm::asm::Register","the name of the user defined register",0,null],[12,"size","","the number of cells that the register occupies",0,null],[12,"addr","","the address of the register",0,null],[4,"Literal","lasm::asm","The Literal enum represents a literal in an assembly…",null,null],[13,"Character","","A character literal",1,null],[13,"Number","","A double precision float literal",1,null],[4,"Instruct","","This enum represents a single instruction that can be…",null,null],[13,"Refer","","The `refer` instruction takes a register and pushes a…",2,null],[13,"DerefLoad","","The `deref_ld` instruction takes no arguments. This…",2,null],[13,"DerefStore","","The `deref_st` instruction takes no arguments. This…",2,null],[13,"Load","","The `ld` instruction takes a register as an argument. This…",2,null],[13,"Store","","The `st` instruction takes a register as an argument. This…",2,null],[13,"Push","","The `push` instruction takes either a literal as an…",2,null],[13,"Pop","","The `pop` instruction pops a value off of the stack and…",2,null],[13,"Alloc","","The `alloc` instruction takes a register as an argument,…",2,null],[13,"Free","","The `free` instruction takes a register as an argument,…",2,null],[13,"Duplicate","","The `dup` instruction takes no argument, and simply…",2,null],[13,"Add","","The `add` instruction pops two cells off the stack and…",2,null],[13,"Subtract","","The `sub` instruction pops two cells off the stack and…",2,null],[13,"Multiply","","The `mul` instruction pops two cells off the stack and…",2,null],[13,"Divide","","The `div` instruction pops two cells off the stack and…",2,null],[13,"OutputChar","","The `outc` instruction pops a cell off the stack and…",2,null],[13,"OutputNumber","","The `outn` instruction pops a cell off the stack and…",2,null],[13,"InputChar","","The `inc` instruction pushes a character from STDIN onto…",2,null],[13,"InputNumber","","The `inn` instruction pushes a double precision float from…",2,null],[13,"Compare","","The `cmp` instruction compares two cells on the stack. If…",2,null],[13,"WhileNotZero","","The `loop` instruction the start of a loop. At the start…",2,null],[13,"EndWhile","","The `endloop` instruction marks the end of a loop",2,null],[17,"DEFAULT_STACK_SIZE","","This is the stack size that is used if the assembly file…",null,null],[17,"PREDEFINED_REGISTERS","","This specifies the number of predefined registers. This is…",null,null],[11,"named","","Get a user defined register by its name. The register MUST…",0,[[],["option"]]],[11,"define","","Define a Register with a given name and size. This will…",0,[[["usize"]],["self"]]],[11,"get_addr","","Get the address where this register is stored. This is…",0,[[["self"]],["usize"]]],[11,"get_size","","Get the number of cells this register occupies. Both the…",0,[[["self"]],["usize"]]],[11,"ch","","Create a character literal from a character",1,[[["char"]],["self"]]],[11,"num","","Create a number literal from a double precision float",1,[[["f64"]],["self"]]],[11,"get","","Get the value of this literal as a double precision float",1,[[["self"]],["f64"]]],[0,"target","lasm","target, the module responsible for providing common…",null,null],[3,"C","lasm::target","C is a target",null,null],[8,"Target","","This trait should be implemented for a struct that…",null,null],[10,"assemble","","This function assembles a list of instructions with a…",3,[[["vec",["instruct"]],["usize"],["instruct"],["self"]],["string"]]],[0,"error","lasm","error, the module that provides basic structures for error…",null,null],[4,"Error","lasm::error","The Error type is used when assembling and parsing an…",null,null],[13,"ProcedureNotDefined","","When a procedure that doesn't exist is called, this error…",4,null],[13,"RegisterNotDefined","","Using a register that has not been declared with the…",4,null],[13,"InvalidLoadArg","","This is returned when an invalid argument to the `ld`…",4,null],[13,"InvalidPushArg","","This is returned when an invalid argument to the `push`…",4,null],[13,"InvalidStoreArg","","This is returned when an invalid argument to the `st`…",4,null],[13,"InvalidReferArg","","This is returned when an invalid argument to the `refer`…",4,null],[13,"InvalidFreeArg","","This is returned when an invalid argument to the `free`…",4,null],[13,"InvalidAllocArg","","This is returned when an invalid argument to the `alloc`…",4,null],[13,"InvalidIdentifer","","This is returned when an identifier is expected, but the…",4,null],[13,"InvalidProcedure","","This is returned when a valid procedure is expected, but…",4,null],[13,"NoProcedureName","","This is returned when the `proc` keyword is not followed…",4,null],[13,"InvalidSize","","This is returned when an integer is expected but not found",4,null],[13,"Unknown","","This is returned when an unknown parser error is returned",4,null],[13,"NoProcedureFound","","This is returned when no procedures are found in the…",4,null],[13,"UnmatchedLoop","","This is returned when there are an odd number of `loop`…",4,null],[6,"Result","","The Result type is shorthand for a result that uses the…",null,null],[18,"REGISTER_NOT_DEFINED","","",4,null],[18,"INVALID_FREE_ARG","","",4,null],[18,"INVALID_LOAD_ARG","","",4,null],[18,"INVALID_PUSH_ARG","","",4,null],[18,"INVALID_STORE_ARG","","",4,null],[18,"INVALID_ALLOC_ARG","","",4,null],[18,"INVALID_REFER_ARG","","",4,null],[18,"INVALID_IDENTIFIER","","",4,null],[18,"INVALID_PROCEDURE","","",4,null],[18,"INVALID_SIZE","","",4,null],[18,"NO_PROC_NAME","","",4,null],[18,"NO_PROC_FOUND","","",4,null],[11,"from","lasm::asm","",0,[[["t"]],["t"]]],[11,"try_from","","",0,[[["u"]],["result"]]],[11,"into","","",0,[[],["u"]]],[11,"try_into","","",0,[[],["result"]]],[11,"borrow","","",0,[[["self"]],["t"]]],[11,"borrow_mut","","",0,[[["self"]],["t"]]],[11,"type_id","","",0,[[["self"]],["typeid"]]],[11,"to_owned","","",0,[[["self"]],["t"]]],[11,"clone_into","","",0,[[["self"],["t"]]]],[11,"from","","",1,[[["t"]],["t"]]],[11,"try_from","","",1,[[["u"]],["result"]]],[11,"into","","",1,[[],["u"]]],[11,"try_into","","",1,[[],["result"]]],[11,"borrow","","",1,[[["self"]],["t"]]],[11,"borrow_mut","","",1,[[["self"]],["t"]]],[11,"type_id","","",1,[[["self"]],["typeid"]]],[11,"to_owned","","",1,[[["self"]],["t"]]],[11,"clone_into","","",1,[[["self"],["t"]]]],[11,"from","","",2,[[["t"]],["t"]]],[11,"try_from","","",2,[[["u"]],["result"]]],[11,"into","","",2,[[],["u"]]],[11,"try_into","","",2,[[],["result"]]],[11,"borrow","","",2,[[["self"]],["t"]]],[11,"borrow_mut","","",2,[[["self"]],["t"]]],[11,"type_id","","",2,[[["self"]],["typeid"]]],[11,"to_owned","","",2,[[["self"]],["t"]]],[11,"clone_into","","",2,[[["self"],["t"]]]],[11,"from","lasm::target","",5,[[["t"]],["t"]]],[11,"try_from","","",5,[[["u"]],["result"]]],[11,"into","","",5,[[],["u"]]],[11,"try_into","","",5,[[],["result"]]],[11,"borrow","","",5,[[["self"]],["t"]]],[11,"borrow_mut","","",5,[[["self"]],["t"]]],[11,"type_id","","",5,[[["self"]],["typeid"]]],[11,"from","lasm::error","",4,[[["t"]],["t"]]],[11,"try_from","","",4,[[["u"]],["result"]]],[11,"into","","",4,[[],["u"]]],[11,"try_into","","",4,[[],["result"]]],[11,"borrow","","",4,[[["self"]],["t"]]],[11,"borrow_mut","","",4,[[["self"]],["t"]]],[11,"type_id","","",4,[[["self"]],["typeid"]]],[11,"to_owned","","",4,[[["self"]],["t"]]],[11,"clone_into","","",4,[[["self"],["t"]]]],[11,"to_string","","",4,[[["self"]],["string"]]],[11,"assemble","lasm::target","",5,[[["vec",["instruct"]],["usize"],["instruct"],["self"]],["string"]]],[11,"from","lasm::error","",4,[[["verboseerror",["str"]],["str"]],["self"]]],[11,"fmt","lasm::asm","",0,[[["self"],["formatter"]],["result"]]],[11,"fmt","","",1,[[["self"],["formatter"]],["result"]]],[11,"fmt","","",2,[[["self"],["formatter"]],["result"]]],[11,"fmt","lasm::error","",4,[[["self"],["formatter"]],["result"]]],[11,"fmt","","",4,[[["self"],["formatter"]],[["error"],["result",["error"]]]]],[11,"eq","lasm::asm","",0,[[["self"],["register"]],["bool"]]],[11,"ne","","",0,[[["self"],["register"]],["bool"]]],[11,"eq","","",1,[[["self"],["literal"]],["bool"]]],[11,"ne","","",1,[[["self"],["literal"]],["bool"]]],[11,"eq","","",2,[[["instruct"],["self"]],["bool"]]],[11,"ne","","",2,[[["instruct"],["self"]],["bool"]]],[11,"eq","lasm::error","",4,[[["error"],["self"]],["bool"]]],[11,"ne","","",4,[[["error"],["self"]],["bool"]]],[11,"partial_cmp","lasm::asm","",0,[[["self"],["register"]],[["option",["ordering"]],["ordering"]]]],[11,"lt","","",0,[[["self"],["register"]],["bool"]]],[11,"le","","",0,[[["self"],["register"]],["bool"]]],[11,"gt","","",0,[[["self"],["register"]],["bool"]]],[11,"ge","","",0,[[["self"],["register"]],["bool"]]],[11,"partial_cmp","","",1,[[["self"],["literal"]],[["option",["ordering"]],["ordering"]]]],[11,"lt","","",1,[[["self"],["literal"]],["bool"]]],[11,"le","","",1,[[["self"],["literal"]],["bool"]]],[11,"gt","","",1,[[["self"],["literal"]],["bool"]]],[11,"ge","","",1,[[["self"],["literal"]],["bool"]]],[11,"partial_cmp","","",2,[[["instruct"],["self"]],[["option",["ordering"]],["ordering"]]]],[11,"lt","","",2,[[["instruct"],["self"]],["bool"]]],[11,"le","","",2,[[["instruct"],["self"]],["bool"]]],[11,"gt","","",2,[[["instruct"],["self"]],["bool"]]],[11,"ge","","",2,[[["instruct"],["self"]],["bool"]]],[11,"clone","","",0,[[["self"]],["register"]]],[11,"clone","","",1,[[["self"]],["literal"]]],[11,"clone","","",2,[[["self"]],["instruct"]]],[11,"clone","lasm::error","",4,[[["self"]],["error"]]]],"p":[[4,"Register"],[4,"Literal"],[4,"Instruct"],[8,"Target"],[4,"Error"],[3,"C"]]}; addSearchOptions(searchIndex);initSearch(searchIndex);