home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include "struct.h"
-
- struct ACode InternCodes[] = {
- { "ADD" ,"Rd,Rr" ,"000011rdddddrrrr", "N"},
- { "ADC" ,"Rd,Rr" ,"000111rdddddrrrr", "N"},
- { "ADIW" ,"Rdl,K" ,"10010110KKddKKKK", "U"},
- { "SUB" ,"Rd,Rr" ,"000110rdddddrrrr", "N"},
- { "SUBI" ,"Rd,K" ,"0101KKKKddddKKKK", "S"},
- { "SBIW" ,"Rdl,K" ,"10010111KKddKKKK", "U"},
- { "SBC" ,"Rd,Rr" ,"000010rdddddrrrr", "N"},
- { "SBCI" ,"Rd,K" ,"0100KKKKddddKKKK", "S"},
- { "AND" ,"Rd,Rr" ,"001000rdddddrrrr", "N"},
- { "ANDI" ,"Rd,K" ,"0111KKKKddddKKKK", "S"},
- { "OR" ,"Rd,Rr" ,"001010rdddddrrrr", "N"},
- { "ORI" ,"Rd,K" ,"0110KKKKddddKKKK", "S"},
- { "EOR" ,"Rd,Rr" ,"001001rdddddrrrr", "N"},
- { "COM" ,"Rd" ,"1001010ddddd0000", "N"},
- { "NEG" ,"Rd" ,"1001010ddddd0001", "N"},
- { "SBR" ,"Rd,K" ,"0110KKKKddddKKKK", "S"},
- { "CBR" ,"Rd,K" ,"0111!K!K!K!Kdddd!K!K!K!K", "S"},
- { "INC" ,"Rd" ,"1001010ddddd0011", "N"},
- { "DEC" ,"Rd" ,"1001010ddddd1010", "N"},
- { "TST" ,"Rd" ,"0000000000000000", "AAND"},
- { "CLR" ,"Rd" ,"0000000000000000", "AEOR"},
- { "SER" ,"Rd" ,"11101111dddd1111", "S"},
- { "RJMP" ,"k" ,"1100kkkkkkkkkkkk", "L"},
- { "IJMP" ,"-" ,"10010100XXXX1001", "N"},
- { "RCALL" ,"k" ,"1101kkkkkkkkkkkk", "L"},
- { "ICALL" ,"-" ,"10010101XXXX1001", "N"},
- { "RET" ,"-" ,"100101010XX01000", "N"},
- { "RETI" ,"-" ,"100101010XX11000", "N"},
- { "CPSE" ,"Rd,Rr" ,"000100rdddddrrrr", "N"},
- { "CP" ,"Rd,Rr" ,"000101rdddddrrrr", "N"},
- { "CPC" ,"Rd,Rr" ,"000001rdddddrrrr", "N"},
- { "CPI" ,"Rd,K" ,"0011KKKKddddKKKK", "S"},
- { "SBRC" ,"Rr,b" ,"1111110rrrrrXbbb", "N"},
- { "SBRS" ,"Rr,b" ,"1111111rrrrrXbbb", "N"},
- { "SBIC" ,"P,b" ,"10011001PPPPPbbb", "N"},
- { "SBIS" ,"P,b" ,"10011011PPPPPbbb", "N"},
- { "BRBS" ,"s,k" ,"111100kkkkkkksss", "R"},
- { "BRBC" ,"s,k" ,"111101kkkkkkksss", "R"},
- { "BREQ" ,"k" ,"111100kkkkkkk001", "R"},
- { "BRNE" ,"k" ,"111101kkkkkkk001", "R"},
- { "BRCS" ,"k" ,"111100kkkkkkk000", "R"},
- { "BRCC" ,"k" ,"111101kkkkkkk000", "R"},
- { "BRSH" ,"k" ,"111101kkkkkkk000", "R"},
- { "BRLO" ,"k" ,"111100kkkkkkk000", "R"},
- { "BRMI" ,"k" ,"111100kkkkkkk010", "R"},
- { "BRPL" ,"k" ,"111101kkkkkkk010", "R"},
- { "BRGE" ,"k" ,"111101kkkkkkk100", "R"},
- { "BRLT" ,"k" ,"111100kkkkkkk100", "R"},
- { "BRHS" ,"k" ,"111100kkkkkkk101", "R"},
- { "BRHC" ,"k" ,"111101kkkkkkk101", "R"},
- { "BRTS" ,"k" ,"111100kkkkkkk110", "R"},
- { "BRTC" ,"k" ,"111101kkkkkkk110", "R"},
- { "BRVS" ,"k" ,"111100kkkkkkk011", "R"},
- { "BRVC" ,"k" ,"111101kkkkkkk011", "R"},
- { "BRIE" ,"k" ,"111100kkkkkkk111", "R"},
- { "BRID" ,"k" ,"111101kkkkkkk111", "R"},
- { "MOV" ,"Rd,Rr" ,"001011rdddddrrrr", "N"},
- { "LDI" ,"Rd,K" ,"1110KKKKddddKKKK", "S"},
- { "LD" ,"Rd,X" ,"1001000ddddd1100", "N"},
- { "LD" ,"Rd,X+" ,"1001000ddddd1101", "N"},
- { "LD" ,"Rd,-X" ,"1001000ddddd1110", "N"},
- { "LD" ,"Rd,Y" ,"1000000ddddd1000", "N"},
- { "LD" ,"Rd,Y+" ,"1001000ddddd1001", "N"},
- { "LD" ,"Rd,-Y" ,"1001000ddddd1010", "N"},
- { "LDD" ,"Rd,Y+q" ,"10q0qq0ddddd1qqq", "N"},
- { "LD" ,"Rd,Z" ,"1000000ddddd0000", "N"},
- { "LD" ,"Rd,Z+" ,"1001000ddddd0001", "N"},
- { "LD" ,"Rd,-Z" ,"1001000ddddd0010", "N"},
- { "LDD" ,"Rd,Z+q" ,"10q0qq0ddddd0qqq", "N"},
- { "LDS" ,"Rd,k" ,"1001000ddddd0000kkkkkkkkkkkkkkkk", "N"},
- { "ST" ,"X,Rr" ,"1001001rrrrr1100", "N"},
- { "ST" ,"X+,Rr" ,"1001001rrrrr1101", "N"},
- { "ST" ,"-X,Rr" ,"1001001rrrrr1110", "N"},
- { "ST" ,"Y,Rr" ,"1000001rrrrr1000", "N"},
- { "ST" ,"Y+,Rr" ,"1001001rrrrr1001", "N"},
- { "ST" ,"-Y,Rr" ,"1001001rrrrr1010", "N"},
- { "STD" ,"Y+q,Rr" ,"10q0qq1rrrrr1qqq", "N"},
- { "ST" ,"Z,Rr" ,"1000001rrrrr0000", "N"},
- { "ST" ,"Z+,Rr" ,"1001001rrrrr0001", "N"},
- { "ST" ,"-Z,Rr" ,"1001001rrrrr0010", "N"},
- { "STD" ,"Z+q,Rr" ,"10q0qq1rrrrr0qqq", "N"},
- { "STS" ,"k,Rr" ,"1001001rrrrr0000kkkkkkkkkkkkkkkk", "N"},
- { "LPM" ,"-" ,"10010101110X1000", "N"},
- { "IN" ,"Rd,P" ,"10110PPdddddPPPP", "N"},
- { "OUT" ,"P,Rr" ,"10111PPrrrrrPPPP", "N"},
- { "PUSH" ,"Rr" ,"1001001rrrrr1111", "N"},
- { "POP" ,"Rd" ,"1001000ddddd1111", "N"},
- { "SBI" ,"P,b" ,"10011010PPPPPbbb", "N"},
- { "CBI" ,"P,b" ,"10011000PPPPPbbb", "N"},
- { "LSL" ,"Rd" ,"0000000000000000", "AADD"},
- { "LSR" ,"Rd" ,"1001010ddddd0110", "N"},
- { "ROL" ,"Rd" ,"0000000000000000", "AADC"},
- { "ROR" ,"Rd" ,"1001010ddddd0111", "N"},
- { "ASR" ,"Rd" ,"1001010ddddd0101", "N"},
- { "SWAP" ,"Rd" ,"1001010ddddd0010", "N"},
- { "BSET" ,"s" ,"100101000sss1000", "N"},
- { "BCLR" ,"s" ,"100101001sss1000", "N"},
- { "BST" ,"Rr,b" ,"1111101rrrrrXbbb", "N"},
- { "BLD" ,"Rd,b" ,"1111100ddddd0bbb", "N"},
- { "SEC" ,"-" ,"1001010000001000", "N"},
- { "CLC" ,"-" ,"1001010010001000", "N"},
- { "SEN" ,"-" ,"1001010000101000", "N"},
- { "CLN" ,"-" ,"1001010010101000", "N"},
- { "SEZ" ,"-" ,"1001010000011000", "N"},
- { "CLZ" ,"-" ,"1001010010011000", "N"},
- { "SEI" ,"-" ,"1001010001111000", "N"},
- { "CLI" ,"-" ,"1001010011111000", "N"},
- { "SES" ,"-" ,"1001010001001000", "N"},
- { "CLS" ,"-" ,"1001010011001000", "N"},
- { "SEV" ,"-" ,"1001010000111000", "N"},
- { "CLV" ,"-" ,"1001010010111000", "N"},
- { "SET" ,"-" ,"1001010001101000", "N"},
- { "CLT" ,"-" ,"1001010011101000", "N"},
- { "SEH" ,"-" ,"1001010001011000", "N"},
- { "CLH" ,"-" ,"1001010011011000", "N"},
- { "NOP" ,"-" ,"0000000000000000", "N"},
- { "SLEEP" ,"-" ,"10010101100X1000", "N"},
- { "WDR" ,"-" ,"10010101101X1000", "N"},
- { NULL, NULL, NULL, NULL }
- /*
- **{ "CALL" ,"K" ,"1001010KKKKK111KKKKKKKKKKKKKKKKK", "N"},
- **{ "JMP" ,"K" ,"1001010KKKKK110KKKKKKKKKKKKKKKKK", "N"},
- **{ "MUL" ,"Rd,Rr" ,"100111rdddddrrrr", "N"},
- */
- };
-
-