Mirror of CollapseOS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
1.8KB

  1. The AVR instruction set is a bit more regular than z80's, which allows us for
  2. simpler upcode spitting logic (simplicity which is lost when we need to take
  3. into account all AVR models and instruction constraints on each models). This
  4. file categorizes all available ops with their opcode signature. X means upcode
  5. bit.
  6. Categories are in descending order of "popularity"
  7. Mnemonics with "*" are a bit special.
  8. ### 16-bit
  9. ## Plain
  10. XXXX XXXX XXXX XXXX
  11. BREAK, CLC, CLH, CLI, CLN, CLS, CLT, CLV, CLZ, EICALL, EIJMP, ELPM*, ICALL,
  12. IJMP, NOP, RET, RETI, SEC, SEH, SEI, SEN, SES, SET, SEV, SEZ, SLEEP, SPM*, WDR
  13. ## Rd(5)
  14. XXXX XXXd dddd XXXX
  15. ASR, COM, DEC, ELPM*, INC, LAC, LAS, LAT, LD*, LPM*, LSL*, LSR, NEG, POP, PUSH,
  16. ROR, ST*, SWAP, XCH
  17. ## Rd(5) + Rr(5)
  18. XXXX XXrd dddd rrrr
  19. ADC, ADD, AND, CLR, CP, CPC, CPSE, EOR, MOV, MUL, OR, ROL*, SBC, SUB,
  20. TST*
  21. ## k(7)
  22. XXXX XXkk kkkk kXXX
  23. BRCC, BRCS, BREQ, BRGE, BRHC, BRHS, BRID, BRIE, BRLO, BRLT, BRMI, BRNE, BRPL,
  24. BRSH, BRTC, BRTS, BRVC, BRVS
  25. ## Rd(4) + K(8)
  26. XXXX KKKK dddd KKKK
  27. ANDI, CBR*, CPI, LDI, ORI, SBCI, SBR, SUBI
  28. ## Rd(5) + bit
  29. XXXX XXXd dddd Xbbb
  30. BLD, BST, SBRC, SBRS
  31. ## A(5) + bit
  32. XXXX XXXX AAAA Abbb
  33. CBI, SBI, SBIC, SBIS
  34. ## Rd(3) + Rr(3)
  35. XXXX XXXX Xddd Xrrr
  36. FMUL, FMULS, FMULSU, MULSU
  37. ## Rd(4) + Rr(4)
  38. XXXX XXXX dddd rrrr
  39. MOVW, MULS
  40. ## Rd(5) + A(6)
  41. XXXX XAAd dddd AAAA
  42. IN, OUT
  43. ## Rd(4) + k(7)
  44. XXXX Xkkk dddd kkkk
  45. LDS*, STS*
  46. ## Rd(2) + K
  47. XXXX XXXX KKdd KKKK
  48. ADIW, SBIW
  49. ## Rd(4)
  50. XXXX XXXX dddd XXXX
  51. SER
  52. ## K(4)
  53. XXXX XXXX KKKK XXXX
  54. DES
  55. ## k(12)
  56. XXXX kkkk kkkk kkkk
  57. RCALL, RJMP
  58. ## SREG
  59. XXXX XXXX Xsss XXXX
  60. BCLR, BSET
  61. ## SREG + k(7)
  62. XXXX XXkk kkkk ksss
  63. BRBC, BRBS
  64. ### 32-bit
  65. ## k(22)
  66. XXXX XXXk kkkk XXXk
  67. kkkk kkkk kkkk kkkk
  68. CALL, JMP
  69. ## Rd(5) + k(16)
  70. XXXX XXXd dddd XXXX
  71. kkkk kkkk kkkk kkkk
  72. LDS*, STS*