⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avr.h

📁 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 + -