📄 avr.h
字号:
/* $Id: AVR.h,v 1.4 2000/09/24 12:57:54 pure Exp $ */#ifndef __AVR_h__#define __AVR_h__#include "Types.h"#include "Device.h"#include "Storage.h"#include "Register.h"#include "RegisterSet.h"#include "ALU.h"#include "Bus.h"class AVR : public Device {private: Bus bus; ALU alu; RegisterSet<ByteReg> R; RegisterSet<WordReg> W; unsigned SP; unsigned PC; unsigned clk; unsigned model; unsigned opcode; unsigned opcode2; Device* cs(unsigned addr); byte readb(unsigned addr); void writeb(unsigned addr, byte data); byte in(unsigned addr); void out(unsigned addr, byte data); byte ld(unsigned addr); void st(unsigned addr, byte data); void push(byte data); byte pop(); void op_add (int d, int r); void op_adc (int d, int r); void op_adiw (int d, int k); void op_sub (int d, int r); void op_subi (int d, int k); void op_sbc (int d, int r); void op_sbci (int d, int k); void op_sbiw (int d, int k); void op_and (int d, int r); void op_andi (int d, int k); void op_or (int d, int r); void op_ori (int d, int k); void op_eor (int d, int r); void op_com (int d); void op_neg (int d); void op_inc (int d); void op_dec (int d); void op_rjmp (int k); void op_ijmp (); void op_jmp (int k); void op_rcall (int k); void op_icall (); void op_call (int k); void op_ret (); void op_reti (); void op_cpse (int d, int r); void op_cp (int d, int r); void op_cpc (int d, int r); void op_cpi (int d, int k); void op_sbrs (int r, int b); void op_sbrc (int r, int b); void op_sbis (int a, int b); void op_sbic (int a, int b); void op_brbs (int b, int k); void op_brbc (int b, int k); void op_mov (int d, int r); void op_ldi (int d, int k); void op_lds (int d, int k); void op_ld (int d, int r); void op_ldd (int d, int q, int r); void op_ld_inc (int d, int r); void op_ld_dec (int d, int r); void op_sts (int k, int d); void op_st (int d, int r); void op_std (int d, int q, int r); void op_st_inc (int d, int r); void op_st_dec (int d, int r); void op_lpm (int r); void op_in (int r, int a); void op_out (int a, int r); void op_push (int r); void op_pop (int r); void op_lsr (int r); void op_ror (int r); void op_asr (int r); void op_swap (int r); void op_bset (int b); void op_bclr (int b); void op_sbi (int a, int b); void op_cbi (int a, int b); void op_bst (int r, int b); void op_bld (int r, int b); void op_nop (); int dispLDD(); int regPP(); int reg50(); int reg104(); int reg40(); int reg20w(); int lit404(); int lit204(); int add0fff(); int add03f8(); void fetch();protected: Storage REG; Storage RAM; Storage ROM; void execute();public: AVR(unsigned mhz, unsigned ramsize, unsigned model, unsigned romsize); ~AVR(); static const int ATMEGA103 = 1; static const int AT90S8515 = 2; unsigned reg(int n); unsigned reg(const char* name); void reg(const char* name, unsigned value);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -