More Instruction Implementations
This commit is contained in:
parent
4613bcddab
commit
0dee263e00
3 changed files with 406 additions and 6 deletions
|
@ -212,6 +212,174 @@
|
|||
}
|
||||
\preto\avr@test{\avr@test@SUBI}
|
||||
|
||||
\def\avr@test@CPI{%
|
||||
\avr@test@setup{CPI}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r30}}{00001111}%
|
||||
\avr@instr@CPI{1}{\csuse{avr@r30}}{00001111}%
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r30}{00001111}
|
||||
\avr@test@SREG{00000010}
|
||||
}
|
||||
\preto\avr@test{\avr@test@CPI}
|
||||
|
||||
\def\avr@test@MOVW{%
|
||||
\avr@test@setup{MOVW}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r30}}{00001111}%
|
||||
\avr@instr@LDI{1}{\csuse{avr@r31}}{11110000}%
|
||||
\avr@instr@MOVW{2}{\csuse{avr@r2}}{\csuse{avr@r30}}%
|
||||
|
||||
\avr@instr@stepn{3}%
|
||||
\avr@test@REG{r2}{00001111}
|
||||
\avr@test@REG{r3}{11110000}
|
||||
\avr@test@SREG{00000000}
|
||||
}
|
||||
\preto\avr@test{\avr@test@MOVW}
|
||||
|
||||
\def\avr@test@BSET{%
|
||||
\avr@test@setup{BSET}%
|
||||
\avr@instr@SEI{0}%
|
||||
\avr@instr@SEC{1}%
|
||||
\avr@instr@CLI{2}%
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@SREG{10000001}
|
||||
\avr@instr@stepn{1}%
|
||||
\avr@test@SREG{00000001}
|
||||
|
||||
}
|
||||
\preto\avr@test{\avr@test@BSET}
|
||||
|
||||
\def\avr@test@BST{%
|
||||
\avr@test@setup{BST}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r31}}{00010000}%
|
||||
\avr@instr@BST{1}{\csuse{avr@r31}}{100}%
|
||||
\avr@instr@BLD{2}{\csuse{avr@r31}}{000}%
|
||||
\avr@instr@CLT{3}
|
||||
\avr@instr@BLD{4}{\csuse{avr@r31}}{100}%
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@SREG{01000000}
|
||||
|
||||
\avr@instr@stepn{1}
|
||||
\avr@test@REG{r31}{00010001}
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@SREG{00000000}
|
||||
\avr@test@REG{r31}{00000001}
|
||||
}
|
||||
\preto\avr@test{\avr@test@BST}
|
||||
|
||||
\def\avr@test@NEG{%
|
||||
\avr@test@setup{NEG}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r20}}{00000001}%
|
||||
\avr@instr@NEG{1}{\csuse{avr@r20}}%
|
||||
\avr@instr@NEG{2}{\csuse{avr@r20}}%
|
||||
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{11111111}
|
||||
\avr@test@SREG{00100101}
|
||||
|
||||
\avr@instr@stepn{1}%
|
||||
\avr@test@REG{r20}{00000001}
|
||||
\avr@test@SREG{00100001}
|
||||
}
|
||||
\preto\avr@test{\avr@test@NEG}
|
||||
|
||||
\def\avr@test@COM{%
|
||||
\avr@test@setup{COM}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r20}}{00000001}%
|
||||
\avr@instr@COM{1}{\csuse{avr@r20}}%
|
||||
\avr@instr@COM{2}{\csuse{avr@r20}}%
|
||||
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{11111110}
|
||||
\avr@test@SREG{00000101}
|
||||
|
||||
\avr@instr@stepn{1}%
|
||||
\avr@test@REG{r20}{00000001}
|
||||
\avr@test@SREG{00000001}
|
||||
}
|
||||
\preto\avr@test{\avr@test@COM}
|
||||
|
||||
\def\avr@test@SBR{%
|
||||
\avr@test@setup{SBR[CS]}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r20}}{00001000}%
|
||||
\avr@instr@SBRS{1}{\csuse{avr@r20}}{011}%
|
||||
\avr@instr@LDI{2}{\csuse{avr@r20}}{00001111}%
|
||||
\avr@instr@NOP{3}
|
||||
|
||||
\avr@instr@stepn{3}%
|
||||
\avr@test@REG{r20}{00001000}
|
||||
|
||||
\avr@instr@SBRS{4}{\csuse{avr@r20}}{010}%
|
||||
\avr@instr@LDI{5}{\csuse{avr@r20}}{00001111}%
|
||||
\avr@instr@NOP{6}
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{00001111}
|
||||
}
|
||||
\preto\avr@test{\avr@test@SBR}
|
||||
|
||||
\def\avr@test@ASR{%
|
||||
\avr@test@setup{ASR}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r20}}{00001001}%
|
||||
\avr@instr@ASR{1}{\csuse{avr@r20}}%
|
||||
\avr@instr@LDI{2}{\csuse{avr@r20}}{10001001}%
|
||||
\avr@instr@ASR{3}{\csuse{avr@r20}}%
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{00000100}
|
||||
\avr@test@SREG{00011001}
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{11000100}
|
||||
\avr@test@SREG{00000101}
|
||||
}
|
||||
\preto\avr@test{\avr@test@ASR}
|
||||
|
||||
\def\avr@test@LSR{%
|
||||
\avr@test@setup{LSR}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r20}}{00001001}%
|
||||
\avr@instr@LSR{1}{\csuse{avr@r20}}%
|
||||
\avr@instr@LDI{2}{\csuse{avr@r20}}{10001001}%
|
||||
\avr@instr@LSR{3}{\csuse{avr@r20}}%
|
||||
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{00000100}
|
||||
\avr@test@SREG{00011001}
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{01000100}
|
||||
\avr@test@SREG{00011001}
|
||||
}
|
||||
\preto\avr@test{\avr@test@LSR}
|
||||
|
||||
\def\avr@test@ROR{%
|
||||
\avr@test@setup{ROR}%
|
||||
\avr@instr@LDI{0}{\csuse{avr@r20}}{00000001}%
|
||||
\avr@instr@ROR{1}{\csuse{avr@r20}}%
|
||||
\avr@instr@ROR{2}{\csuse{avr@r20}}%
|
||||
\avr@instr@ROR{3}{\csuse{avr@r20}}%
|
||||
|
||||
|
||||
\avr@instr@stepn{2}%
|
||||
\avr@test@REG{r20}{00000000}
|
||||
\avr@test@SREG{00011011}
|
||||
|
||||
\avr@instr@stepn{1}%
|
||||
\avr@test@REG{r20}{10000000}
|
||||
\avr@test@SREG{00011100}
|
||||
|
||||
\avr@instr@stepn{1}%
|
||||
\avr@test@REG{r20}{01000000}
|
||||
\avr@test@SREG{00000000}
|
||||
}
|
||||
\preto\avr@test{\avr@test@ROR}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "avr.tex"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue