 |
Paralax.inc include file has some macros that looks like paralax
instructions (Paralax instructions are not real instructions, but some
assemblers support them to provide easier code writing and each instructions
is represented
with one or more real instructions).
Following macros are in paralax.inc:
ARITMETIC
AddFL(freg, lit) Add Literal to FReg
AddFF(freg1, freg2) Add FReg2 to FReg2
SubFL(freg, lit) Subtract Literal from FReg
SubFF(freg1, freg2) Subtract FReg2 from FREg1
LOGIC
AndFL(freg, lit) AND Freg with Literal
AndFF(freg1, freg2) AND FReg1 and FReg2
NegF(freg) Neg FReg
OrFL(freg, lit) Or FReg with Literal
OrFF(freg1, freg2) Or FREg1 with FReg2
XorFL(freg, lit) Xor FReg with Literal
XorFF(freg1, freg2) Xor FReg1 with FReg2
JUMP
JmpFAL(freg, lit, addr) Jump if FReg above Literal
JmpFAF(freg1, freg2, addr) Jump if FReg1 Above FReg2
JmpFAEL(freg, lit, addr) Jump if FReg above or Equal Literal
JmpFAEF(freg1, freg2, addr) Jump if FReg1 above or
Equal FReg2
JmpFBL(freg, lit, addr) Jump if FReg Below Literal
JmpFBF(freg1, freg2, addr) Jump if FReg1 Below FReg2
JmpFBEL(freg1, lit, addr) Jump if FReg Below or Equal Literal
JmpFBEF(freg1, freg2, addr) Jump if FReg1 Below or Equal FReg2
JmpFEL(freg, lit, addr) Jump if FReg Equal Literal
JmpFEF(freg1, freg2, addr) Jump if FReg1 Equal FReg2
JmpFNEL(freg, lit, addr) Jump if FReg Not Equal Literal
JmpFNEF(freg1, freg2, addr) Jump if FReg1 Not Equal FReg2
JmpB(freg, bit, addr) Jump if Bit set in FReg
JmpNB(freg, bit, addr) Jump if Not Bit set in FReg
JmpC(addr) Jump if Carry set
JmpNC(addr) Jump if Not Carry set
JmpZ(addr) Jump if Zero set
JmpNZ(addr) Jump if Not Zero set
IncJmpNZ(freg, addr) Increment FReg and Jump if Not Zero
DecJmpNZ(freg, addr) Decrement FReg and Jump if Not Zero
SKIP NEXT INSTRUCTIONS IF ...
SkipFAL(freg, lit) Skip if FReg Above Literal
SkipFAF(freg1, freg2) Skip if FReg1 Above FReg2
SkipFAEL(freg, lit) Skip if FReg Above or Equal Literal
SkipFAEF(freg1, freg2) Skip if FReg1 Above or Equal FReg2
SkipFBL(freg, lit) Skip if FReg Below Literal
SkipFBF(freg1, freg2) Skip if FReg1 Below FReg2
SkipFBEL(freg, lit) Skip if FReg Below or Equal Literal
SkipFBEF(freg1, freg2) Skip if FReg1 Below or Equal FReg2
SkipFEL(freg, lit) Skip if FReg Equal Literal
SkipFEF(freg1, freg2) Skip if FReg1 Equal FReg2
SkipFNEL(freg, lit) Skip if FReg Not Equal Literal
SkipFNEF(freg1, freg2) Skip if FReg1 Not Equal FReg2
MOVE
MovFL(freg, lit) Mov Literal to FReg
MovFF(freg1, freg2) Mov FReg2 to FReg1
All macros will work correctly for all PIC10, PIC12, PIC16 and PIC17
devices. A lot macros will affect Working register and some flags. To see
detailed description for all macros look at paralax.inc file in include
directory.
|
 |