avra: add TOC and instructions list
This commit is contained in:
parent
74e211eeda
commit
1ac7038863
17
blk/650
17
blk/650
@ -1,16 +1,5 @@
|
|||||||
AVR assembler
|
AVR assembler
|
||||||
|
|
||||||
This assembler works very much like Z80 assembler (B200) so
|
651 Guide 655 Instructions list
|
||||||
refer to this documentation first. Here, we document specifici-
|
660 Loader 661-672 Code
|
||||||
ties.
|
672 Common AVR consts
|
||||||
|
|
||||||
All mnemonics in AVR have a single signature. Therefore, we
|
|
||||||
don't need any "argtype" suffixes.
|
|
||||||
|
|
||||||
Registers are referred to with consts R0-R31. There is
|
|
||||||
X, Y, Z, X+, Y+, Z+, X-, Y-, Z- for appropriate ops (LD, ST).
|
|
||||||
XL, XH, YL, YH, ZL, ZH are simple aliases to R26-R31.
|
|
||||||
|
|
||||||
Branching works differently. Instead of expecting a byte to be
|
|
||||||
written after the naked op, branching words expect a displace-
|
|
||||||
ment argument. (cont.)
|
|
||||||
|
21
blk/651
21
blk/651
@ -1,9 +1,16 @@
|
|||||||
This is because there's bitwise ORing involved in the creation
|
This assembler works very much like Z80 assembler (B200) so
|
||||||
of the final opcode, which makes z80a's approach impractical.
|
refer to this documentation first. Here, we document specifici-
|
||||||
|
ties.
|
||||||
|
|
||||||
This makes labelling a bit different too. Instead of expecting
|
All mnemonics in AVR have a single signature. Therefore, we
|
||||||
label words after the naked branching op, we rather have label
|
don't need any "argtype" suffixes.
|
||||||
words expecting branching wordref as an argument. Examples:
|
|
||||||
|
|
||||||
L2 ' BRTS FLBL! ( branch forward to L2 )
|
Registers are referred to with consts R0-R31. There is
|
||||||
L1 ' RJMP LBL, ( branch backward to L1 )
|
X, Y, Z, X+, Y+, Z+, X-, Y-, Z- for appropriate ops (LD, ST).
|
||||||
|
XL, XH, YL, YH, ZL, ZH are simple aliases to R26-R31.
|
||||||
|
|
||||||
|
Branching works differently. Instead of expecting a byte to be
|
||||||
|
written after the naked op, branching words expect a displace-
|
||||||
|
ment argument.
|
||||||
|
|
||||||
|
(cont.)
|
||||||
|
9
blk/652
Normal file
9
blk/652
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
This is because there's bitwise ORing involved in the creation
|
||||||
|
of the final opcode, which makes z80a's approach impractical.
|
||||||
|
|
||||||
|
This makes labelling a bit different too. Instead of expecting
|
||||||
|
label words after the naked branching op, we rather have label
|
||||||
|
words expecting branching wordref as an argument. Examples:
|
||||||
|
|
||||||
|
L2 ' BRTS FLBL! ( branch forward to L2 )
|
||||||
|
L1 ' RJMP LBL, ( branch backward to L1 )
|
16
blk/655
Normal file
16
blk/655
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
AVR instructions list
|
||||||
|
|
||||||
|
OPRd (B663)
|
||||||
|
ASR COM DEC INC LAC LAS LAT LSR NEG POP PUSH
|
||||||
|
ROR SWAP XCH
|
||||||
|
|
||||||
|
OPRdRr (B664)
|
||||||
|
ADC ADD AND CP CPC CPSE EOR MOV MUL OR SBC
|
||||||
|
SUB
|
||||||
|
|
||||||
|
OPRdA (B664)
|
||||||
|
IN OUT
|
||||||
|
|
||||||
|
OPRdK (B665)
|
||||||
|
ANDI CPI LDI ORI SBCI SBR SUBI
|
||||||
|
(cont.)
|
16
blk/656
Normal file
16
blk/656
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
OPAb (B665)
|
||||||
|
CBI SBI SBIC SBIS
|
||||||
|
|
||||||
|
OPNA (B666)
|
||||||
|
BREAK CL[C,H,I,N,S,T,V,Z] SE[C,H,I,N,S,T,V,Z] EIJMP ICALL
|
||||||
|
EICALL IJMP NOP RET RETI SLEEP WDR
|
||||||
|
|
||||||
|
OPb (B667)
|
||||||
|
BCLR BSET
|
||||||
|
|
||||||
|
OPRdb (B667)
|
||||||
|
BLD BST SBRC SBRS
|
||||||
|
|
||||||
|
Special (B667,B670)
|
||||||
|
CLR TST LSL LD ST
|
||||||
|
(cont.)
|
Loading…
Reference in New Issue
Block a user