亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memory.h

?? 一款國產的8051模擬器(全部源代碼) 本軟件是一款8051模擬器
?? H
字號:
///////////////////////////////////////////////////////////////////////
// 圓夢51!圓夢51!圓夢51!圓夢51!圓夢51!圓夢51!圓夢51!圓夢51!圓夢51!圓夢51!
// 1998.x.x 多少遺憾,多少淚水,路在何方?? 為什么失敗的總是我??夢想為什么這么遙遠
// ........學x86很久了,書本都翻了n遍了......
// 雖然x86很強大,但要做臺x86計算機真是太難了,8051單片機真的簡單了很多,我想做個8051的計算機.
// 沒有編程器的日子,真是不好受,自己又沒條件能做電路板,要是能有臺計算機模擬8051,那將是多莫令人興奮的事情啊
// 但是我什么都沒有............什么都沒有
// 1999.x.x草稿紙上完成基本的框架圖和基本算法,并完成部分核心代碼,將項目名稱定為圓夢51
// .......飄啊搖啊,淡漠了生活,忘記了夢想,就這樣渾渾噩噩的活著........夢已死
// 2002.8.24 塵世間多少煩惱,從此不必再牽掛。為了夢想我終于可以從現實中解脫出來一段時間,不上學的日子真好,真令人懷念。
// 建立指令模擬instruction和memory 代碼檔。
// 不懂windows C編程是我最大的障礙,......1年時間......我想應該是我這一生中最有價值的時間,以前沒有,以后可能更沒有了
// 2003.12.x
// 因為要上學,所以能夠靜下心來學習的時間基本上再也找不到了
// 2004.9.2 基本初步完成,尚未完成中斷返回,尚未debug
// 2004.11.17 調試浮點程序通過,^_^ :) ^o^ ^0^ :(  >_< 他的缺點就是他的優點,我無法權衡,指令類暫時先穩定下來吧
// 當學生真是無奈,我在倒退..............我在放棄夢想...............
// 2005.3.28 不管怎樣我要圓夢,我不能做個永遠失敗的人,建立KernelMsg interruptcontroller代碼檔
// 2005.4.3 建立TIMER檔,這可把我難倒了,效能,錯誤...............
// 2005.4.14 KernelMsg TIMER初步完成,莫名其妙的錯誤太多,KernelMsg真的很失敗,增加了編寫難度,更不易調試.....
// 2005.4.18 不管三七二十一,湊出來再說,我好想運行以下ucos ii,建立Serial類
// 2005.4.21 為了提供對多處理器系統的支持,并能夠模擬多了處理器,對全局變量 函數作了修改,使之不但打破了C++的封裝,
// 又使得全局函數類似類中的函數,所以在不增加代碼的情況下,可直接模擬多處理器
// 2005.4.24 垃圾誕生,不得不對KernelMsg重新編寫,以提高時間事件函數HOOK的安全性,降低時間HOOK的編寫難度,
// 不用自己處理下層的HOOK問題,效率更高,隨后TIMER Serial也作了大面積修改
// 2005.4.25 uCOS-II終于正確無誤的運行成功了。0.10版核心到此為止告一段落。
// 盡管0.10沒有經過完全的測試,我敢肯定定時器這部分還是有問題,而且串口,定時器還沒有完善,
// 但是我已經對他沒有很大主動測試方面的興趣了,留著讓用戶來發現吧
// 著手開始0.11的開發,這更能吸引我的眼球,新的目標是利用KernelMsg思想大面積優化指令集的加速,以其其他速度方面的優化,
// 希望速度能追上Keil C
//////////////////////////////////////////////////////////////////////



// memory.h: interface for the memory class.
// 用來模擬8051內存模型,以及存儲一些模擬8051方便計算的變量,因為它是基類,不從任何類派生,指令類中斷類都要引用他.
// 2004.4.4對此類作了結構上的調整,以便于將來可以同時設計模擬多個處理器的系統,比如SMP或多個獨立的處理器
// 將code xdata 內存移出申明為全局變量,memory類中引用這些內存時需要事先傳入指針,
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MEMORY_H__4B80D118_B0D1_45F5_A43C_91BA02A20266__INCLUDED_)
#define AFX_MEMORY_H__4B80D118_B0D1_45F5_A43C_91BA02A20266__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define OS 0 //1表示WINDOWS操作系統 0其他可兼容C運行時庫的OS
#define B          0xf0
#define Acc        0xe0
////////////////////////2
#define PSW        0xd0
#define PSW_P      0xd0
#define PSW_OV     0xd2
#define PSW_RS0    0xd3
#define PSW_RS1    0xd4
#define PSW_F0     0xd5
#define PSW_AC     0xd6
#define PSW_Cy     0xd7
////////////////////////9
#define IP         0xb8
#define IP_PX0     0xb8
#define IP_PT0     0xb9
#define IP_PX1     0xba
#define IP_PT1     0xbb
#define IP_PS      0xbc
/////////////////////////14
#define P3         0xb0
#define P3_0       0xb0
#define P3_1       0xb1
#define P3_2       0xb2
#define P3_3       0xb3
#define P3_4       0xb4
#define P3_5       0xb5
#define P3_6       0xb6
#define P3_7       0xb7
/////////////////////////22
#define IE         0xa8
#define IE_EX0     0xa8
#define IE_ET0     0xa9
#define IE_EX1     0xaa
#define IE_ET1     0xab
#define IE_ES      0xac
#define IE_EA      0xaf
/////////////////////////28
#define P2         0xa0
#define P2_0       0xa0
#define P2_1       0xa1
#define P2_2       0xa2
#define P2_3       0xa3
#define P2_4       0xa4
#define P2_5       0xa5
#define P2_6       0xa6
#define P2_7       0xa7
/////////////////////////36
#define SBUF       0x99
/////////////////////////37
#define SCON       0x98
#define SCON_RI    0x98
#define SCON_TI    0x99
#define SCON_RB8   0x9a
#define SCON_TB8   0x9b
#define SCON_REN   0x9c
#define SCON_SM2   0x9d
#define SCON_SM1   0x9e
#define SCON_SM0   0x9f
/////////////////////////45
#define P1         0x90
#define P1_0       0x90
#define P1_1       0x91
#define P1_2       0x92
#define P1_3       0x93
#define P1_4       0x94
#define P1_5       0x95
#define P1_6       0x96
#define P1_7       0x97
/////////////////////////53
#define TH1        0x8d
#define TH0        0x8c
/////////////////////////55
#define TL1        0x8b
#define TL0        0x8a
/////////////////////////57
#define TMOD       0x89
/////////////////////////58
#define TCON       0x88
#define TCON_IT0   0x88
#define TCON_IE0   0x89  
#define TCON_IT1   0x8a
#define TCON_IE1   0x8b
#define TCON_TR0   0x8c
#define TCON_TF0   0x8d
#define TCON_TR1   0x8e
#define TCON_TF1   0x8f
/////////////////////////66
#define PCON       0x87
/////////////////////////
#define DPH        0x83
///////////////////////// 
#define DPL        0x82
/////////////////////////
#define SPc        0x81
/////////////////////////70
#define P0         0x80
#define P0_0       0x80
#define P0_1       0x81
#define P0_2       0x82
#define P0_3       0x83
#define P0_4       0x84
#define P0_5       0x85
#define P0_6       0x86
#define P0_7       0x87
/////////////////////////78

//#include "HEXBIN.h"
#include "GlobalVar.h"
#define Write 0 //宏定義讀和寫
#define Read  1

typedef void (*XdataMemHook)(BYTE  VarNum,int mode,BYTE data);//mode表示HOOK到操作是讀還是寫,data要操作的數據
typedef void (*CodeMemHook)(BYTE  VarNum,int mode,BYTE data);
typedef void (*IdataMemHook)(BYTE  VarNum,int mode,BYTE data);
typedef void (*IdataBitMemHook)(BYTE  VarNum,int mode,BYTE data);
class memory  
{
public:
	int MemReset();
	void SetPC(unsigned addr);
	void AddPC(int PCcount);
	__forceinline BYTE NULLFun();
	BYTE SetidataMemByte(BYTE addr,BYTE data);
	BYTE SetxdataMemByte(unsigned short addr,BYTE data);
	BYTE SetCodeMemByte(unsigned short addr,BYTE data);
	BYTE GetidataMemByte(BYTE addr);
	BYTE GetxdataMemByte(unsigned short addr);
	BYTE GetCodeMemByte(unsigned short addr);

	BYTE SetidataMemBytef(BYTE addr,BYTE data);
	BYTE SetxdataMemBytef(unsigned short addr,BYTE data);
	BYTE SetCodeMemBytef(unsigned short addr,BYTE data);
	BYTE GetidataMemBytef(BYTE addr);
	BYTE GetxdataMemBytef(unsigned short addr);
	BYTE GetCodeMemBytef(unsigned short addr);

	int init();

	BYTE GetBit(BYTE addr);
	BYTE SetBit(BYTE addr,BYTE bit);

	BYTE GetBitf(BYTE addr);
	BYTE SetBitf(BYTE addr,BYTE bit);
	memory();
	BYTE  * pxdata;//外部數據內存
	CodeMemHook  pCodeMemHookR[65536];
	CodeMemHook  pCodeMemHookFunR;
	XdataMemHook  pXdataMemHookR[65536];
	XdataMemHook  pXdataMemHookFunR;
	IdataMemHook  pIdataMemHookR[256];
	IdataMemHook  pIdataMemHookFunR;
	IdataBitMemHook  pIdataBitMemHookR[256];
	IdataBitMemHook  pIdataBitMemHookFunR;

	CodeMemHook  pCodeMemHookW[65536];
	CodeMemHook  pCodeMemHookFunW;
	XdataMemHook  pXdataMemHookW[65536];
	XdataMemHook  pXdataMemHookFunW;
	IdataMemHook  pIdataMemHookW[256];
	IdataMemHook  pIdataMemHookFunW;
	IdataBitMemHook  pIdataBitMemHookW[256];
	IdataBitMemHook  pIdataBitMemHookFunW;
	BYTE  idata[256];//內部寄存器
	BYTE  * pcode;//外部代碼內存
	BYTE  * Am;//寄存器A的引用
	BYTE  * SPm;//寄存器SP的引用
	BYTE  VarNum;//處理器編號
	//定義幾個對8051軟件上不可見的寄存器
	BYTE  CurrentIRQLevel;//當前IRQ優先級
	BYTE  CurrentIRQNUM;//當前中斷號碼
	BYTE  CurrentCPULevel;//當前處理器等級 127為正常運行等級,128為低優先級中斷等級,129為高優先級中斷等級
	BYTE  BackCPULevel;//前一個處理器等級,有利于中斷返回時恢復處理器等級
	int IsCheakIRQ;//判斷是否有必要檢查中斷源,真值表示檢查
	unsigned short *DPTRm;

	unsigned short PCm;//程序計數器
	DWORD CLKNUML;//時鐘周期數目
	DWORD CLKNUMH;
	virtual ~memory();
	BYTE MarkBitMap0[8];//={ 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
	BYTE MarkBitMap1[8];//={ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};


};

#endif // !defined(AFX_MEMORY_H__4B80D118_B0D1_45F5_A43C_91BA02A20266__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品高清在线| 欧美精品一级二级三级| 处破女av一区二区| 成人av影视在线观看| 91久久精品一区二区二区| 在线播放欧美女士性生活| 日韩欧美中文字幕一区| 欧美国产禁国产网站cc| 亚洲欧美日韩小说| 久久精品国产网站| 色综合久久中文综合久久97| 欧美日韩精品一区二区三区蜜桃 | 久久精品国产在热久久| 精久久久久久久久久久| 国产老妇另类xxxxx| 欧美在线视频日韩| 国产亚洲一区二区三区在线观看| 日韩毛片视频在线看| 日日摸夜夜添夜夜添国产精品 | 亚洲成人三级小说| 成人动漫在线一区| 91精品国产入口| 一区二区三区国产精品| 粗大黑人巨茎大战欧美成人| 欧美二区在线观看| 亚洲欧美一区二区久久| 国产一区二区三区精品欧美日韩一区二区三区| 99精品久久免费看蜜臀剧情介绍| 欧美一区二区三区播放老司机| 亚洲欧洲99久久| 国产一区二区精品久久99| 国产日韩精品久久久| 亚洲精品一二三区| 91蜜桃网址入口| 日韩经典中文字幕一区| 日韩免费一区二区三区在线播放| 国产真实乱偷精品视频免| 视频一区欧美精品| 制服.丝袜.亚洲.另类.中文| 久久成人综合网| 中文字幕一区二区三区在线播放 | 久久国产精品第一页| 日韩欧美高清dvd碟片| 国模少妇一区二区三区| 亚洲欧美中日韩| 欧美日韩一区二区三区不卡| 日本大胆欧美人术艺术动态| 精品欧美一区二区久久 | 国产女人水真多18毛片18精品视频| 国产成人av电影在线| 亚洲精品日日夜夜| 精品精品国产高清一毛片一天堂| 国产主播一区二区| 亚洲黄一区二区三区| 日韩精品一区二区在线观看| 9i在线看片成人免费| 蜜桃一区二区三区在线| 亚洲精品五月天| 久久天堂av综合合色蜜桃网| 欧美亚洲一区二区在线| 国产一区在线观看视频| 午夜精品123| 日韩激情av在线| 久久网站热最新地址| 欧美性一区二区| 成人精品免费看| 高清不卡一二三区| 韩国av一区二区三区在线观看| 亚洲午夜三级在线| 国产精品免费视频观看| 久久久久久久久久久久久久久99| 91精品福利在线一区二区三区| 91蝌蚪porny九色| av在线一区二区| 成人一区二区在线观看| 成人在线视频一区| 国产98色在线|日韩| 国产精选一区二区三区| 国产乱人伦偷精品视频不卡| 蜜臀av一区二区| 青青草91视频| 青草av.久久免费一区| 亚洲国产精品一区二区久久| 日韩av中文字幕一区二区三区| 亚洲精品日韩一| 亚洲观看高清完整版在线观看| 污片在线观看一区二区| 免费高清视频精品| 美女国产一区二区三区| 国产福利一区二区三区视频 | 欧美一区二区视频网站| 日韩视频免费观看高清完整版| 日韩一级片在线观看| 欧美经典一区二区| 亚洲人123区| 蜜芽一区二区三区| www.日韩大片| 日韩精品一区二区三区三区免费| 久久品道一品道久久精品| 亚洲丝袜另类动漫二区| 天堂一区二区在线免费观看| 九一九一国产精品| 一本大道久久a久久精二百| 7777精品伊人久久久大香线蕉完整版| 欧美精品一二三四| 国产精品免费视频一区| 午夜电影网亚洲视频| 懂色av噜噜一区二区三区av| 欧美午夜宅男影院| 久久久久99精品国产片| 亚洲国产成人porn| 国产91丝袜在线播放| 欧美一区二区三区视频在线观看| 亚洲欧洲av在线| 国产91在线观看丝袜| 精品国产电影一区二区| 日本va欧美va瓶| 在线不卡a资源高清| 亚洲国产乱码最新视频 | 国产欧美日韩不卡| 免费看精品久久片| 欧美精品乱码久久久久久按摩| 夜夜嗨av一区二区三区网页| 99精品热视频| 一区二区三区免费网站| 日本久久一区二区三区| 亚洲一区二区四区蜜桃| 欧美日韩高清一区| 韩国精品久久久| 中文字幕一区二区视频| 成人av电影在线播放| 亚洲综合视频网| 日韩欧美一级片| 成人国产亚洲欧美成人综合网| 国产精品久久久久aaaa樱花| 91麻豆国产香蕉久久精品| 亚洲一区在线观看免费观看电影高清 | 国产激情视频一区二区在线观看| 国产日产欧美一区二区视频| 色哟哟一区二区在线观看| 亚洲高清在线精品| 久久久精品2019中文字幕之3| av欧美精品.com| 日韩国产欧美一区二区三区| 国产精品欧美一区喷水| 欧美午夜不卡视频| 国产精品中文字幕日韩精品| 亚洲综合无码一区二区| 精品久久久久久久人人人人传媒 | 不卡一区在线观看| 久久精品免费看| 一区二区三区不卡在线观看| 久久―日本道色综合久久| 欧美性欧美巨大黑白大战| 国产成a人无v码亚洲福利| 久久66热re国产| 美女网站一区二区| 婷婷激情综合网| 亚洲伊人色欲综合网| 国产精品午夜在线观看| 久久久激情视频| 久久久久国产精品人| 精品国产免费人成电影在线观看四季 | 丁香天五香天堂综合| 国产麻豆成人精品| 国产一区二区三区在线观看免费| 亚洲一区二区三区小说| 亚洲自拍偷拍网站| 亚洲一区二区三区视频在线| 亚洲欧洲精品一区二区三区不卡| 亚洲婷婷综合色高清在线| 日韩一区日韩二区| 日韩美女久久久| 一区二区三区四区不卡在线| 日韩伦理电影网| 亚洲最大成人网4388xx| 午夜精品免费在线观看| 丝袜美腿亚洲一区| 老汉av免费一区二区三区| 国产老妇另类xxxxx| 91麻豆精品在线观看| 欧美情侣在线播放| 国产三级欧美三级日产三级99| 1000部国产精品成人观看| 一区二区三区中文在线观看| 五月天激情综合| www.欧美.com| 91精品国产综合久久国产大片| 欧美白人最猛性xxxxx69交| 亚洲欧美怡红院| 免费看欧美女人艹b| www.成人在线| 日韩精品在线网站| 尤物视频一区二区| 粉嫩13p一区二区三区| 日韩一级免费观看| 亚洲国产一区二区在线播放| 国产精品99久久久久久久vr| 欧美色国产精品| 亚洲精品国产成人久久av盗摄 |