pigmeo-compiler

Pigmeo.Compiler.BackendPIC14 Namespace

Namespace

To be added.

Type Description
__CONFIG To be added.
ADDLW Add literal to W
ADDWF Add the contents of the W register with register "f"
ANDLW The contents of W register are AND’ed with the eight-bit literal "k". The result is placed in the W register
ANDWF AND the W register with register "f"
Asm Objects instantiated from this class contains a full or partial application written in assembly language for 8-bit PICs
AsmInstruction Represents ONE instruction written in assembly language
Backend Converts a .NET assembly to assembly language for a 8-bit Microchip PIC microcontroller
BCF Bit "b" in register "f" is cleared.
BSF Bit "b" in register "f" is set
BTFSC If bit "b" in register "f" is "1", the next instruction is executed. If bit "b", in register "f", is "0", the next instruction is discarded, and a NOP is executed instead, making this a two-cycle instruction
BTFSS If bit "b" in register "f" is "0", the next instruction is executed. If bit "b" is "1", then the next instruction is discarded and a NOP is executed instead, making this a two-cycle instruction
CALL Call Subroutine. First, return address (PC + 1) is pushed onto the stack. The eleven-bit immediate address is loaded into PC bits 10:0. The upper bits ofthe PC are loaded from PCLATH. CALL is a two-cycle instruction
CBLOCK It is used to give values to named constants
CLRF The contents of register "f" are cleared and the Z bit is set.
CLRW W register is cleared. Zero bit (Z) is set
CLRWDT Resets the Watchdog Timer. It also resets the prescaler of the WDT. Status bits TO and PD are set
COMF The contents of register "f" are complemented
CompileToAsm To be added.
CompileToAsm.CompiledStaticFunction Represents a function/method already compiled into assembly language
CompileToAsm.CompiledStaticVariable To be added.
CompileToAsm.MemoryManager To be added.
CONSTANT Each time that ConstantName appears in program, it will be replaced with ConstantValue
DB Reserves a byte in program memory. When there are more terms which need to be assigned a byte each, they will be assigned one after another
DE It is used for defining EEPROM memory byte. Even though it was first intended only for EEPROM memory, it could be used for any other location in any memory
DECF Decrement register "f" by 1
DECFSZ The contents of register "f" are decremented. If the result is "1", the next instruction is executed. If the result is "0", then a NOP is executed instead, making it a two-cycle instruction
DEFINE Each time FirstValue appears in the program, it will be exchanged for SecondValue
Destination Specifies if the result of the operation of some byte oriented instructions will be stored in W or in a file/register
Directive Available directive names, such as DEFINE, INCLUDE, EQU, ORG...
DT Generates RETLW series of instructions, one instruction per each term
ELSE Used with IF directive as an alternative serie of instructions
END Specifies the end of the assembly language file. No instructions after END will be executed
ENDC Ends a CBLOCK
ENDIF Ends the conditional block of code
ENDW Ends the conditional loop started by the WHILE directive
EQU ConstantValue is assigned to ConstantName
GOTO GOTO is an unconditional branch. The eleven-bit immediate value is loaded into PC bits 10:0. The upper bits of PC are loaded from PCLATH[4:3]. GOTO is a two-cycle instruction
IF Begins a conditional block of code comparing two values
IFDEF If designation FirstValue was previously defined (most commonly by DEFINE directive), instructions which follow would be executed until ELSE or ENDIF directives would be reached
IFNDEF If designation FirstValue was not previously defined, or if its definition was erased with directive UNDEFINE, instructions which follow would be executed until ELSE or ENDIF directives would be reached
INCF The contents of register "f" are incremented by 1
INCFSZ The contents of register "f" are incremented. If the result is "1", the next instruction is executed. If the result is "0", a NOP is executed instead, making it a two-cycle instruction
INCLUDE An application of this directive has the effect as though the entire file was copied to a place where the "include" directive was found
InstructionType Available instruction types, such as Directive, Byte Orientes Instruction, just a label, a Control Instruction...
IORLW The contents of the W register are OR’ed with the eight-bit literal "k". The result is placed in the W register
IORWF Inclusive OR the W register with register "f"
Label Just a label, no instruction
MOVF The contents of register f is moved to a destination dependent upon the status of d. d = F is useful to test a file register since status flag Z is affected
MOVLW The eight-bit literal "k" is loaded into W register
MOVWF Move data from W register to register "f"
NOP No operation. Useful for wasting a cycle doing nothing
OpCode Available instruction names, such as ADDWF, ANDWF, NOP...
ORG Specifies the location in the memory program where the next instruction will be stored
PROCESSOR Specifies the branch of the target microcontroller
RETFIE Return from Interrupt. Stack is POPed and Top-of-Stack (TOS) is loaded in the PC. Interrupts are enabled by setting Global Interrupt Enable bit, GIE (INTCON[7]). This is a two-cycle instruction
RETLW The W register is loaded with the eight bit literal "k". The program counter is loaded from the top of the stack (the return address). This is a two-cycle instruction
RETURN Return from subroutine. The stack is POPed and the top of the stack (TOS) is loaded into the program counter. This is a two-cycle instruction
RLF The contents of register "f" are rotated one bit to the left through the Carry flag
RRF The contents of register "f" are rotated one bit to the right through the Carry flag
SET To the variable VariableName is added expression VariableValue. SET directive is similar to EQU, but with SET directive name of the variable can be redefined following a definition
SUBLW The W register is subtracted (2’s complement method) from the eight-bit literal "k". The result is placed in the W register
SUBWF Subtract (2’s complement method) W register from register "f"
SWAPF The upper and lower nibbles of register "f" are exchanged
UNDEFINE End the definition set by the DEFINE directive
VARIABLE Each time that VariableName appears in program, it will be replaced with VariableValue. It can be changed
WHILE Program lines between WHILE and ENDW would be executed as long as condition was met. If a condition stopped being valid, program would continue executing instructions following ENDW line. Number of instructions between WHILE and ENDW can be 100 at the most, and number of executions 256
XORLW The contents of the W register are XOR’ed with the eight-bit literal "k"
XORWF Exclusive OR the contents of the W register with register "f"