diff --git a/Ghidra/Processors/Atmel/certification.manifest b/Ghidra/Processors/Atmel/certification.manifest index c2b5e2c921..7e65063382 100644 --- a/Ghidra/Processors/Atmel/certification.manifest +++ b/Ghidra/Processors/Atmel/certification.manifest @@ -32,3 +32,4 @@ data/languages/avr8gcc.cspec||GHIDRA||||END| data/languages/avr8iarV1.cspec||GHIDRA||||END| data/languages/avr8imgCraftV8.cspec||GHIDRA||||END| data/manuals/AVR32.idx||GHIDRA||||END| +data/manuals/AVR8.idx||GHIDRA||||END| diff --git a/Ghidra/Processors/Atmel/data/languages/avr8.ldefs b/Ghidra/Processors/Atmel/data/languages/avr8.ldefs index 3de7cc38d7..75e2b52d99 100644 --- a/Ghidra/Processors/Atmel/data/languages/avr8.ldefs +++ b/Ghidra/Processors/Atmel/data/languages/avr8.ldefs @@ -9,6 +9,7 @@ version="1.2" slafile="avr8.sla" processorspec="avr8.pspec" + manualindexfile="../manuals/AVR8.idx" id="avr8:LE:16:default"> AVR8 with 16-bit word addressable code space @@ -25,6 +26,7 @@ version="1.3" slafile="avr8e.sla" processorspec="avr8.pspec" + manualindexfile="../manuals/AVR8.idx" id="avr8:LE:16:extended"> AVR8 with 22-bit word addressable code space @@ -39,6 +41,7 @@ version="1.3" slafile="avr8eind.sla" processorspec="atmega256.pspec" + manualindexfile="../manuals/AVR8.idx" id="avr8:LE:16:atmega256"> AVR8 for an Atmega 256 diff --git a/Ghidra/Processors/Atmel/data/manuals/AVR8.idx b/Ghidra/Processors/Atmel/data/manuals/AVR8.idx new file mode 100644 index 0000000000..a79e78159f --- /dev/null +++ b/Ghidra/Processors/Atmel/data/manuals/AVR8.idx @@ -0,0 +1,125 @@ +@atmel-0856-avr-instruction-set-manual.pdf [Atmel AVR Instruction Set Manual, 11/2016 (Rev. 0856L)] +ADC, 30 +ADD, 32 +ADDIW, 33 +AND, 35 +ANDI, 36 +ASR, 37 +BCLR, 38 +BLD, 39 +BRBC, 40 +BRBS, 41 +BRCC, 42 +BRCS, 43 +BREAK, 44 +BREQ, 45 +BRGE, 46 +BRHC, 47 +BRHS, 48 +BRID, 49 +BRIE, 50 +BRLO, 51 +BRLT, 52 +BRMI, 53 +BRNE, 54 +BRPL, 55 +BRSH, 56 +BRTC, 57 +BRTS, 58 +BRVC, 59 +BRVS, 60 +BSET, 61 +BST, 62 +CALL, 63 +CBI, 65 +CBR, 66 +CLC, 67 +CLH, 68 +CLI, 69 +CLN, 70 +CLR, 71 +CLS, 72 +CLT, 73 +CLV, 74 +CLZ, 75 +COM, 76 +CP, 77 +CPC, 79 +CPI, 81 +CPSE, 83 +DEC, 84 +DES, 86 +EICALL, 87 +EIJMP, 88 +ELPM, 89 +EOR, 91 +FMUL, 92 +FMULS, 94 +FMULSU, 96 +# Ghidra currently uses non-standard FRACMUL* mnemonics in place of FMUL* +FRACMUL, 92 +FRACMULS, 94 +FRACMULSU, 96 +ICALL, 98 +IJMP, 99 +IN, 100 +INC, 101 +JMP, 103 +LAC, 104 +LAS, 105 +LAT, 106 +LD, 107 +LDD, 109 +LDI, 115 +LDS, 116 +LPM, 118 +LSL, 120 +LSR, 122 +MOV, 123 +MOVW, 124 +MUL, 125 +MULS, 126 +MULSU, 127 +NEG, 129 +NOP, 131 +OR, 132 +ORI, 133 +OUT, 134 +POP, 135 +PUSH, 136 +RCALL, 137 +RET, 139 +RETI, 140 +RJMP, 142 +ROL, 143 +ROR, 145 +SBC, 147 +SBCI, 149 +SBI, 151 +SBIC, 152 +SBIS, 153 +SBIW, 154 +SBR, 156 +SBRC, 157 +SBRS, 158 +SEC, 159 +SEH, 160 +SEI, 161 +SEN, 162 +SER, 163 +SES, 164 +SET, 165 +SEV, 166 +SEZ, 167 +SLEEP, 168 +SPM, 169 +ST, 173 +STD, 175 +STS, 179 +SUB, 181 +SUBI, 183 +SWAP, 185 +TST, 186 +WDR, 187 +XCH, 188 +