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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? agsi.h

?? 配合KEIL C的AGSI調(diào)試I2C的工具
?? H
字號(hào):
#ifndef __AGSI_H__
#define __AGSI_H__


#include <windows.h>


#define AGSIEXPORT __declspec( dllexport )
#define AGSIAPI    WINAPIV


#ifdef __cplusplus
extern "C" {
#endif

///////////////////////////////////////////////////////////////////////////////
//
// AGSI: Advanced Generic Simulator Interface (Simulation Interface Part)
//

typedef DWORD AGSIVTR;
typedef DWORD AGSIADDR;
typedef DWORD AGSITIMER;
typedef void (* AGSICALLBACK)(void);

typedef struct {
  HINSTANCE     m_hInstance;
  const char*   m_pszProjectPath;
  const char*   m_pszDevice;
  const char*   m_pszConfiguration;
  const char*   m_pszAppFile;
} AGSICONFIG;

typedef enum {
  AGSIBYTE = 1,
  AGSIWORD = 2,
  AGSILONG = 4,
  AGSIBIT  = 5,
  AGSIVTRCHAR = 10,
  AGSIVTRWORD = 11,
  AGSIVTRLONG = 12,
  AGSIVTRFLOAT = 13
} AGSITYPE;

typedef enum {
  AGSIREAD,
  AGSIWRITE,
  AGSIREADWRITE,
} AGSIACCESS;

// function code numbers for AgsiEntry function
typedef enum {
  AGSI_CHECK     = 0,
  AGSI_INIT      = 1,
  AGSI_TERMINATE = 2,
  AGSI_RESET     = 3,
  AGSI_PREPLL    = 4,
  AGSI_POSTPLL   = 5
} AGSIFUNC;


/*
 * 80x51 memory spaces
 */

#define   amXDATA  0x0001           // XDATA
#define   amBANK0  0x0080           // BANK0
#define   amBANK31 0x009F           // BANK31
#define   amDATA   0x00F0           // DATA
#define   amBIT    0x00F1           // BIT
#define   amEDATA  0x00F2           // EDATA (i251)
#define   amIDATA  0x00F3           // IDATA
#define   amECODE  0x00F4           // 251 ecode
#define   amHDATA  0x00F5           // 251 hdata
#define   amHCONS  0x00F6           // 251 hconst
#define   amCONST  0x00F7           // 251 const
#define   amPDATA  0x00FE           // PDATA (c51 macht das bei generic)
#define   amCODE   0x00FF           // CODE 


typedef struct {
#ifdef __C166__
   AGSIADDR        vec;
   char          *mess;     // interrupt name
   AGSIADDR        sfr;     // interrupt control sfr 
#else
   AGSIADDR        vec;
   char          *mess;     // interrupt name
   AGSIADDR       msfr;     // interrupt mode sfr 
   WORD          mmask;     // interrupt mode bit mask
   const char   *mname;     // name of interrupt mode bit
   AGSIADDR       rsfr;     // interrupt request sfr 
   WORD          rmask;     // interrupt request bit mask
   const char   *rname;     // name of interrupt request bit
   AGSIADDR       esfr;     // interrupt enable sfr
   WORD          emask;     // interrupt enable bit mask
   const char   *ename;     // name of interrupt enable bit
   AGSIADDR      p0sfr;     // interrupt priority 0 sfr
   WORD         p0mask;     // interrupt priority 0 bit mask
   const char   *pname;     // name of interrupt priority bit
   AGSIADDR      p1sfr;     // interrupt priority 1 sfr
   WORD         p1mask;     // interrupt priority 1 bit mask
   WORD            pwl;     // priority within level
   WORD     auto_reset;     // reset interrupt request flag on interrupt entry
#endif
} AGSIINTERRUPT;


/*
 * Symbol search masks (may be combined using |) :
 */

typedef enum {
  AGSI_SYM_VAR = 0x0001,         // search for non-bit Variables
  AGSI_SYM_CON = 0x0002,         // search for named Constants
  AGSI_SYM_BIT = 0x0004,         // search for Bit in Memory
  AGSI_SYM_LOC = 0x0008,         // search for Function/Label
  AGSI_SYM_SFR = 0x0200          // search for SFR name
} AGSISYMMASK;

/*
 * Type of found symbol:
 */

typedef enum {
  AGSI_TP_VOID   = 0,
  AGSI_TP_BIT    = 1,
  AGSI_TP_CHAR   = 2,
  AGSI_TP_UCHAR  = 3,
  AGSI_TP_INT    = 4,
  AGSI_TP_UINT   = 5,
  AGSI_TP_SHORT  = 6,
  AGSI_TP_USHORT = 7,
  AGSI_TP_LONG   = 8,
  AGSI_TP_ULONG  = 9,
  AGSI_TP_FLOAT  = 10,
  AGSI_TP_DOUBLE = 11,
  AGSI_TP_PTR    = 12,
  AGSI_TP_UNION  = 13,
  AGSI_TP_STRUCT = 14,
  AGSI_TP_FUNC   = 15,
  AGSI_TP_STRING = 16,
  AGSI_TP_ENUM   = 17,
  AGSI_TP_FIELD  = 18
} AGSISYMTYPE;


typedef struct  {                  // Search for Sym by Name or Value.
  AGSISYMMASK nMask;               // search mask (AG_SYM_LOC | ...)
  char szName [256];               // search/found name (zero-terminated
  UINT64        val;               // search/found Adr/Value
  AGSISYMTYPE  type;               // type of found symbol (AGSI_TP_???)
  DWORD          Ok;               // 1:=Ok, else find failed.
} AGSISYMDSC;



/*
 * Dynamic Menu construction and maintanance
 */

//#pragma pack(1)

#define AGSIDLGD struct AgsiDlgDat
struct AgsiDlgDat {                      // every dialog has it's own structure
  DWORD             iOpen;               // auto reopen dialog (pos := 'rc')
  HWND                 hw;               // Hwnd of Dialog
  BOOL (CALLBACK *wp) (HWND hw, UINT msg, WPARAM wp, LPARAM lp);
  RECT                 rc;               // Position rectangle
  void   (*Update) (void);               // Update dialog content
  void (*Kill) (AGSIDLGD *pM);           // Kill dialog
  void                *vp;               // reserved for C++ Dialogs (Dlg *this)
};

#define AGSIMENU struct AgsiDynaM
struct AgsiDynaM  {                      // Menu item data structure
  int              nDelim;               // Menu template delimiter
  char            *szText;               // Menu item text
  void    (*fp) (AGSIMENU *pM);          // create/bringDlgtoTop function
  DWORD               nID;               // uv3 assigned ID_xxxx
  DWORD            nDlgId;               // Dialog ID
  AGSIDLGD          *pDlg;               // link to dialog attributes
};
//#pragma pack()

/*
 * nDelim:  1 := normal Menu entry
 *          2 := Popup-Entry (nested submenu)
 *         -2 := end of Popup-Group-List
 *         -1 := total end of Menu-List
 *  text:   the name for the menu/popup-menu entry
 *    fp:   Function to be activated on menu-selection
 */


// Function that must be exported by the loaded DLL
AGSIEXPORT DWORD        AGSIAPI AgsiEntry (DWORD nCode, void *vp);

// Callback functions that are ONLY allowed to call during the initialisation process
AGSIEXPORT BOOL         AGSIAPI AgsiDefineSFR(const char* pszSfrName, AGSIADDR dwAddress, AGSITYPE eType, BYTE bBitPos);
AGSIEXPORT AGSIVTR      AGSIAPI AgsiDefineVTR(const char* pszVtrName, AGSITYPE eType, DWORD dwValue);
AGSIEXPORT BOOL         AGSIAPI AgsiDeclareInterrupt(AGSIINTERRUPT *pInterrupt);
AGSIEXPORT BOOL         AGSIAPI AgsiSetWatchOnSFR(AGSIADDR SFRAddress, AGSICALLBACK pfnReadWrite, AGSIACCESS eAccess);
AGSIEXPORT BOOL         AGSIAPI AgsiSetWatchOnVTR(AGSIVTR hVTR, AGSICALLBACK pfnReadWrite, AGSIACCESS eAccess);
AGSIEXPORT BOOL         AGSIAPI AgsiSetWatchOnMemory(AGSIADDR StartAddress, AGSIADDR EndAddress, AGSICALLBACK pfnReadWrite, AGSIACCESS eAccess);
AGSIEXPORT AGSITIMER    AGSIAPI AgsiCreateTimer(AGSICALLBACK pfnTimer);
AGSIEXPORT BOOL         AGSIAPI AgsiDefineMenuItem(AGSIMENU *pDym);

// Callback functions that are NOT allowed to call during the initialisation process
AGSIEXPORT BOOL         AGSIAPI AgsiWriteSFR(AGSIADDR SFRAddress, DWORD dwValue, DWORD dwMask);
AGSIEXPORT BOOL         AGSIAPI AgsiReadSFR (AGSIADDR SFRAddress, DWORD* pdwCurrentValue, DWORD* pdwPreviousValue, DWORD dwMask);
AGSIEXPORT BOOL         AGSIAPI AgsiWriteVTR(AGSIVTR hVTR, DWORD dwValue);
AGSIEXPORT BOOL         AGSIAPI AgsiReadVTR (AGSIVTR hVTR, DWORD* pdwCurrentValue);
AGSIEXPORT BOOL         AGSIAPI AgsiSetSFRReadValue(DWORD dwValue);
AGSIEXPORT BOOL         AGSIAPI AgsiReadMemory (AGSIADDR Address, DWORD dwCount, BYTE* pbValue);
AGSIEXPORT BOOL         AGSIAPI AgsiWriteMemory(AGSIADDR Address, DWORD dwCount, BYTE* pbValue);
AGSIEXPORT AGSIADDR     AGSIAPI AgsiGetLastMemoryAddress(void);
AGSIEXPORT BOOL         AGSIAPI AgsiIsSimulatorAccess(void);
AGSIEXPORT BOOL         AGSIAPI AgsiSetTimer(AGSITIMER hTimer, DWORD dwClock);
AGSIEXPORT UINT64       AGSIAPI AgsiGetStates(void);
AGSIEXPORT AGSIADDR     AGSIAPI AgsiGetProgramCounter(void);
AGSIEXPORT DWORD        AGSIAPI AgsiIsInInterrupt(void);
AGSIEXPORT BOOL         AGSIAPI AgsiIsSleeping(void);
AGSIEXPORT void         AGSIAPI AgsiStopSimulator(void);
AGSIEXPORT void         AGSIAPI AgsiTriggerReset(void);
AGSIEXPORT void         AGSIAPI AgsiUpdateWindows(void);
AGSIEXPORT void         AGSIAPI AgsiHandleFocus (HWND hwndDialog);
AGSIEXPORT DWORD        AGSIAPI AgsiGetExternalClockRate(void);
AGSIEXPORT DWORD        AGSIAPI AgsiGetInternalClockRate(void);
AGSIEXPORT double       AGSIAPI AgsiGetClockFactor(void);
AGSIEXPORT void         AGSIAPI AgsiMessage(const char* pszFormat, ...);
AGSIEXPORT const char * AGSIAPI AgsiGetTargetKey(const char* pszKey);
AGSIEXPORT BOOL         AGSIAPI AgsiSetTargetKey(const char* pszKey, const char *pszString);
AGSIEXPORT DWORD        AGSIAPI AgsiGetSymbolByName (AGSISYMDSC *vp);
AGSIEXPORT DWORD        AGSIAPI AgsiGetSymbolByValue(AGSISYMDSC *vp);

#ifdef __cplusplus
}
#endif


#endif // __AGSI_H__


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久久亚洲一区二区三区 | 色综合中文字幕国产| 日韩高清不卡一区| 亚洲电影视频在线| 五月婷婷色综合| 天天色天天爱天天射综合| 亚洲小说欧美激情另类| 亚洲制服欧美中文字幕中文字幕| 一区二区三区色| 一区二区三区不卡在线观看 | 日韩国产精品久久久久久亚洲| 亚洲第一在线综合网站| 亚洲高清不卡在线观看| 日韩主播视频在线| 韩国欧美国产1区| 国产精品1024久久| a美女胸又www黄视频久久| 91视频国产资源| 在线欧美日韩国产| 在线播放欧美女士性生活| 日韩一级黄色片| 精品国产sm最大网站| 中文字幕精品一区二区精品绿巨人| 国产精品免费av| 一区二区三区四区亚洲| 天天av天天翘天天综合网| 乱中年女人伦av一区二区| 韩国视频一区二区| av午夜精品一区二区三区| 一本一道波多野结衣一区二区| 欧美丝袜丝交足nylons| 日韩精品在线网站| 亚洲国产精品黑人久久久| 亚洲美女电影在线| 免费人成网站在线观看欧美高清| 国产精品99久久久久久宅男| 99九九99九九九视频精品| 欧美午夜视频网站| 日韩欧美三级在线| 亚洲欧洲三级电影| 亚洲mv大片欧洲mv大片精品| 国产一区在线精品| 欧美亚男人的天堂| 精品国产一区二区三区四区四| 国产精品丝袜91| 亚洲一区二区三区自拍| 国产在线精品国自产拍免费| av亚洲精华国产精华| 91麻豆精品国产91久久久久久久久| 久久蜜桃av一区二区天堂| 亚洲天堂网中文字| 麻豆精品一区二区| 97久久精品人人做人人爽| 91精品国产aⅴ一区二区| 国产欧美精品区一区二区三区| 亚洲综合久久久| 国产精品456| 3atv在线一区二区三区| 国产精品美女久久久久久久| 日韩av午夜在线观看| 99国产精品久久久久| 欧美一级二级在线观看| 成人欧美一区二区三区白人| 美女看a上一区| 欧美伊人久久久久久午夜久久久久| 久久久国产精品午夜一区ai换脸| 性感美女久久精品| 91视频免费观看| 亚洲国产精品高清| 理论电影国产精品| 欧美视频一区二区三区在线观看| 久久久精品免费观看| 奇米亚洲午夜久久精品| 色噜噜久久综合| 中文字幕在线一区免费| 狠狠久久亚洲欧美| 欧美顶级少妇做爰| 亚洲乱码国产乱码精品精的特点| 国产精品资源站在线| 日韩欧美国产成人一区二区| 亚洲综合另类小说| 色综合久久中文综合久久97| 中文字幕av一区二区三区高| 久久成人免费电影| 欧美日本免费一区二区三区| 中文字幕亚洲成人| 粉嫩13p一区二区三区| 精品国产青草久久久久福利| 亚洲成人av电影在线| 色成人在线视频| 中文字幕一区二区三区色视频| 国产激情一区二区三区| 精品动漫一区二区三区在线观看| 视频一区免费在线观看| 欧美影视一区二区三区| 一区二区三区av电影| 色伊人久久综合中文字幕| 亚洲欧洲精品一区二区三区 | 国产高清不卡二三区| 精品国产麻豆免费人成网站| 蜜臀av性久久久久蜜臀aⅴ| 在线观看91精品国产麻豆| 亚洲福利一区二区三区| 精品1区2区3区| 亚洲国产精品久久一线不卡| 91黄色在线观看| 亚洲激情自拍偷拍| 欧洲精品中文字幕| 亚洲成人自拍网| 欧美精品高清视频| 免费在线观看视频一区| 欧美电影免费观看完整版| 精品在线免费视频| 久久久久久电影| 国产成人在线影院| 日韩一区在线看| 在线观看一区二区视频| 亚洲国产精品天堂| 欧美精品在欧美一区二区少妇| 亚洲第一主播视频| 日韩三级精品电影久久久| 精品一区二区免费在线观看| 日韩欧美国产精品| 国产精品99久久久久久有的能看| 亚洲国产成人私人影院tom| 成人av在线资源网| 亚洲综合在线第一页| 欧美电影一区二区三区| 国产最新精品精品你懂的| 国产午夜精品一区二区三区视频| 成人免费视频国产在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 久久婷婷国产综合精品青草| 国产成人三级在线观看| 亚洲日本一区二区三区| 欧美日本一区二区三区四区| 极品少妇一区二区三区精品视频 | 亚洲色图色小说| 欧美日韩综合在线| 看片的网站亚洲| 亚洲国产精品av| 欧美性受xxxx黑人xyx性爽| 免费人成精品欧美精品| 中文乱码免费一区二区| 欧洲一区二区三区在线| 麻豆国产精品777777在线| 国产精品日日摸夜夜摸av| 欧美日韩精品电影| 国产成人午夜电影网| 亚洲va欧美va人人爽| 精品国产乱码91久久久久久网站| 99久久精品国产一区| 日本女人一区二区三区| 国产精品久久看| 欧美一区二区视频网站| 99久久精品国产毛片| 久久国产福利国产秒拍| 亚洲精品ww久久久久久p站| 日韩欧美国产不卡| 在线观看www91| 国产精品一品二品| 日韩一区精品视频| 亚洲色图在线视频| 久久这里只有精品首页| 91国偷自产一区二区三区成为亚洲经典| 免费久久精品视频| 又紧又大又爽精品一区二区| 久久综合给合久久狠狠狠97色69| 日本高清免费不卡视频| 韩国在线一区二区| 午夜精品国产更新| 日韩久久一区二区| 久久午夜国产精品| 欧美一区二区黄| 欧美日韩一区二区三区高清| 成人性视频免费网站| 理论片日本一区| 五月天激情综合网| 一区二区三区精品在线| 国产精品理论在线观看| 亚洲精品一区二区三区精华液| 在线观看区一区二| 99久久精品费精品国产一区二区| 国产在线视频一区二区三区| 午夜国产不卡在线观看视频| 亚洲色图制服诱惑| 国产精品久久久久久久第一福利| 精品裸体舞一区二区三区| 欧美日韩一区二区在线观看| 99久久久久久| 大白屁股一区二区视频| 国产一区二区在线观看视频| 奇米777欧美一区二区| 亚洲第一主播视频| 亚洲国产毛片aaaaa无费看 | 久久99国产精品久久99| 日韩经典中文字幕一区| 亚洲va欧美va人人爽午夜| 亚洲制服丝袜在线| 亚洲午夜久久久久久久久电影网|