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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? agdi.h

?? Cypress公司的CH372EVT芯片基于的USB1。1的驅(qū)動
?? H
?? 第 1 頁 / 共 2 頁
字號:
#define AG_INITCURPC      0x000F       // pointer to Program counter
#define AG_INITDOEVENTS   0x0010       // pointer do DoEvents()
#define AG_INITUSRMSG     0x0011       // Registered Message for SendMessage
#define AG_INITCALLBACK   0x0012       // pointer to callback function

#define AG_UNINIT         0x000C       // Clean up target
#define AG_RESET          0x000D       // Reset target system


/*
 * Call-Back-Function in S166 and supported sub-functions
 */

typedef U32 (*pCBF) (U32 nCode, void *vp);
#define AG_CB_TRUEXPR      1       // vp := 'EXP *' (use for Bp->ep)
#define AG_CB_PROGRESS     2       // vp := 'struct PgRess *'
#define AG_CB_INITREGV     3       // vp := 'REGDSC *' (into RegView)
#define AG_CB_EXECCMD      4       // vp := 'char *' command string
#define AG_CB_FORCEUPDATE  5       // vp := NULL, force general windows update
#define AG_CB_DISASM       6       // vp := 'DAAS *', disasm opcodes
#define AG_CB_INLASM       7       // vp := 'DAAS *', assemble szB[] into Opc[]
#define AG_CB_MSGSTRING    8       // vp := 'char *' text for message pane
#define AG_CB_GETDEVINFO   9       // vp := 'DEV_X66 *', get device info
#define AG_CB_SYMBYVAL    10       // vp := 'SYMDESC *', find symbol by value
#define AG_CB_SYMBYNAME   11       // vp := 'SYMDESC *', find symbol by name
#define AG_CB_SLE66MM     12       // vp := &slots[0] out of [512]
#define AG_CB_GETSLOTS    12       // same as AG_CB_SLE66MM (max. 520 slots)



#ifdef _IN_TARG_         // define if used in Mon166,Emu...
  extern _EXPO_ U32   AG_Init (U16 nCode, void *vp);
#else                    // S166
  extern        U32 (*AG_Init) (U16 nCode, void *vp);
#endif



/*
 * Memory attributes
 */

#define AG_ATR_EXEC   0x01    // 'executable ' Attribute
#define AG_ATR_READ   0x02    // 'readable' Attribute
#define AG_ATR_WRITE  0x04    // 'writable' Attribute
#define AG_ATR_BREAK  0x08    // 'Exec-Break' Attribute
#define AG_ATR_EXECD  0x10    // 'Executed' Attribute
#define AG_ATR_WATCH  0x20    // Location has a Watch
#define AG_ATR_BPDIS  0x40    // 'disabled Exec-Break' Attribute
#define AG_ATR_PAP    0x80    // Location has a Perf.-Analyzer point
#define AG_ATR_WRBRK  0x100   // Loc has a write-access break
#define AG_ATR_RDBRK  0x200   // Loc has a read-access break
#define AG_ATR_COMC   0x400   // iMCS51/251: Common code marker
#define AG_ATR_VNM    0x800   // iMCS51: von Neumann mapped
#define AG_ATR_BEP    0x1000  // iMCS51: Bank-Entry Point
#define AG_ATR_EXTR   0x2000  // 166/167: within range of an EXTR sequence
#define AG_ATR_JTAKEN 0x4000  // Jump-taken attribute
#define AG_ATR_UPTD   0x8000  // Monitor: memory up to date bit



#define AG_MEMMAP     0x01    // map memory
#define AG_GETMEMATT  0x02    // get memory attribute
#define AG_SETMEMATT  0x03    // set memory attribute


#ifdef _IN_TARG_         // define if used in Mon166,Emu...
  extern _EXPO_ U32   AG_MemAtt (U16 nCode, UL32 nAttr, GADR *pA);
#else
  extern        U32 (*AG_MemAtt) (U16 nCode, UL32 nAttr, GADR *pA);
#endif



/*
 * Breakpoint query and access
 */

#define AG_ABREAK  0        // simple code address break
#define AG_CBREAK  1        // conditional break (check after each instr.)
#define AG_WBREAK  2        // data access break
#define AG_RBREAK  3        // Address-Range Break (currently not used)


#pragma pack(1)
struct AG_Bps  {
  struct AG_Bps *next;
  struct AG_Bps *prev;

  UL32       type : 4;      // ABREAK, CBREAK, WBREAK
  UL32    enabled : 1;      // 1:=enabled, 0:=disabled
  UL32     ReCalc : 1;      // recalc expr flag
  UL32     BytObj : 1;      // WatchBrk: 0:=Bytes, 1:=Objects

  UL32            Adr;      // Address (or Range)
  UL32         mSpace;      // memory-space
  void            *pV;      // used on VTR-access breakpoints

  UL32          tsize;      // WatchBrk: size of one object
  UL32           many;      // WatchBrk: many objects or bytes
  U16             acc;      // WatchBrk: 1:=Read, 2:=Write, 3:=ReadWrite
  U16          BitPos;      // currently not used
  UL32         number;      // BreakPoint-Number
  I32          rcount;      // Break is taken when rcount = 1

  I32          ocount;      // Original Count
  void            *ep;      // conditional-Expression
  char           *cmd;      // Exec-Command
  char          *Line;      // Breakpoint-Expression Line for Display
  char            *pF;      // module file name
  UL32          nLine;      // line number
  UC8          Opc[8];      // Opcode-Save Area for Monitors
};
#pragma pack()

#define AG_BP  struct AG_Bps



#define AG_BPQUERY     0x01
#define AG_BPTOGGLE    0x02       // not sent to target
#define AG_BPINSREM    0x03       // not sent to target
#define AG_BPACTIVATE  0x04       // not sent to target
#define AG_BPDISALL    0x05       // Notification: all Bp's have been disabled
#define AG_BPKILLALL   0x06       // Notification: all Bp's have been killed
#define AG_BPEXQUERY   0x07
                                  // added these /8.2.99/
#define AG_BPENABLE    0x08       // Notification: Enable Bp at address
#define AG_BPDISABLE   0x09       // Notification: Disable Bp at address
#define AG_BPKILL      0x0A       // Notification: Kill Bp at address
#define AG_BPSET       0x0B       // Notification: Set Bp at address


#ifdef _IN_TARG_         // define if used in Mon166,Emu...
  extern _EXPO_ U32    AG_BpInfo (U16 nCode, void *vp);
  extern _EXPO_ AG_BP *AG_BreakFunc (U16 nCode, U16 n1, GADR *pA, AG_BP *pB);
#else
  extern U32     (*AG_BpInfo) (U16 nCode, void *vp);
  extern AG_BP  *(*AG_BreakFunc) (U16 nCode, U16 n1, GADR *pA, AG_BP *pB);
#endif


/*
 * Go/Step function
 */

#define AG_STOPRUN    0x01            // force target to stop Go/Step.
#define AG_NSTEP      0x02            // exteute 'n' steps
#define AG_GOTILADR   0x03            // go til address
#define AG_GOFORBRK   0x04            // go forever or some Bp fires


#ifdef _IN_TARG_         // define if used in Mon166,Emu...
  extern _EXPO_ U32   AG_GoStep (U16 nCode, U32 nSteps, GADR *pA);
#else
  extern        U32 (*AG_GoStep) (U16 nCode, U32 nSteps, GADR *pA);
#endif



/*
 * Serial-Window I/O (thread-safe)
 */


struct SerAS  {
  DWORD         n1;
  DWORD         n2;
  DWORD         n3;
  DWORD         n4;
  GVAL           v;
};

#define AG_SERBOUT  0x01       // write nMany bytes to Serial #1 Window
#define AG_SERWOUT  0x02       // write nMany words to Serial #1 Window
#define AG_SERXIN   0x03       // Key was pressed in Serial Window #1 or #2

#ifdef _IN_TARG_               // define if used in Mon166,Emu...
  extern _EXPO_ U32  AG_Serial (U16 nCode, U32 nSerNo, U32 nMany, void *vp);
                               // nCode := AG_SER?OUT / AG_SERXIN
                               // nSerNo:  0:=Serial #1, 1:=Serial #2
                               // nMany:   number of items
                               // vp:      pointer to items (UC8 or U16)
#else
  extern       U32 (*AG_Serial) (U16 nCode, U32 nSerNo, U32 nMany, void *vp);
#endif


/*
 * Register and Memory access functions
 */

#define AG_READ     0x01     // read operation
#define AG_WRITE    0x02     // write operation
#define AG_WROPC    0x03     // write opcodes
#define AG_RDOPC    0x04     // read opcodes
#define AG_RDMMU66  0x05     // 19.12.99, read Sle66 MMU content
#define AG_WRMMU66  0x06     // 19.12.99, write single Sle66 MMU-Descr.
#define AG_RCRC     0x07     // Sle66 read CRC
#define AG_RDSHIELD 0x08     // Sle66 read Shield
#define AG_RDACE    0x09     // Sle66 read ACE



#ifdef _IN_TARG_             // define if used in Mon166,Emu...
  extern _EXPO_ U32  AG_MemAcc (U16 nCode, UC8 *pB, GADR *pA, UL32 nMany);
  extern _EXPO_ U32  AG_RegAcc (U16 nCode, U32 nReg, GVAL *pV);
  extern _EXPO_ U32  AG_AllReg (U16 nCode, void *pR);
#else
  extern U32 (*AG_MemAcc) (U16 nCode, UC8 *pB, GADR *pA, UL32 nMany);
  extern U32 (*AG_RegAcc) (U16 nCode, U32 nReg, GVAL *pV);
  extern U32 (*AG_AllReg) (U16 nCode, void *pR);
#endif




/*
 * extract trace history
 */

#ifdef _IN_TARG_             // define if used in Mon166,Emu...
  extern _EXPO_ U32   AG_HistFunc (U32 nCode, I32 indx, I32 dir, void *vp);
#else
  extern        U32 (*AG_HistFunc) (U32 nCode, I32 indx, I32 dir, void *vp);
#endif



#pragma pack(1)

#define DIAD struct DlgD
struct DlgD  {               // every dialog has it's own structure
  UL32              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) (DIAD *pM);   // Kill dialog
  void                *vp;   // reserved for C++ Dialogs (Dlg *this)
};

#define DYMENU  struct DyMenu
struct DyMenu  {            // Menu item data structure
  I32              nDelim;  // Menu template delimiter
  char            *szText;  // Menu item text
  void (*fp) (DYMENU *pM);  // create/bringDlgtoTop function
  UL32                nID;  // uv3 assigned ID_xxxx
  UL32             nDlgId;  // Dialog ID
  DIAD              *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
 */




#if 0  // ----- Examples for AGDI's CallBack functions -----

//--- Example for Force Update:
  pCbFunc (AG_CB_EXECCMD, "dir public");  // execute dir public command
//--- Note: almost any dScope command but 'Exit' can be given.
//---       The 'Exit' command should not be executed !

//--- Example for Force Update:
  pCbFunc (AG_CB_FORCEUPDATE, NULL);
//--- Note: function returns when update is completed.


//--- Example for Set Message String:
  pCbFunc (AG_CB_MSGSTRING, "Running...");  // up to 20 characters
//---       up to 20 characters may be displayed in the statusbar pane.


//--- Example for DisAssemble Opcodes:
  DAAS    parms;

  parms.Adr = 0x10000;                     // disassemble address
  parms.Opc[0] = 0xC0;
  parms.Opc[1] = 0xF0;                     // MovBZ RH7,R0
  parms.Opc[2] = 0;
  parms.Opc[3] = 0;

  pCbFunc (AG_CB_DISASM, (void *) &parms); // disassemble...
//--- on return:  parms.OpcLen := length of opcode in bytes
//---             parms.szB[]  := disassembled instruction in ascii
//--- Note:       parms.Adr is used for ascii-address and relative jmps only.
//---             parms.Result always 0.


//--- Example for Inline Assemble:
  DAAS    parms;

  parms.Adr = 0x10000;                     // inline assemble address
  strcpy (parms.szB, "MOV [R8+#0x1200],R1");  // instruction to assemble

  pCbFunc (AG_CB_INLASM, (void *) &parms);    // assemble...
//--- on return:
//---   parms.Result = 0 if successful
//---     parms.OpcLen := length of opcode in bytes
//---     parms.Opc[]  := 'parms.OpcLen' Opcode bytes
//---   parms.Result != 0 if inline assembly failed
//---     everything of parms but 'Result' is invalid.


//--- Example for GetDeviceInfo:
  DEV_X66   parms;

  memset (&parms, 0, sizeof (parms));
  pCbFunc (AG_CB_INLASM, (void *) &parms);    // get device info
//--- On return:
//---   values in DEV_X66 structure.
//--- Note:
//---   AppName[] may be used to store a project target specific ini file
//---     AppName[] should be renamed (example: strcat (AppName, "hitex")
//---     before read or write operations can take place.


//--- Example for Find Symbol by value:

  SYMDSC   parms;

  parms.nMask = AG_SYM_LOC | AG_SYMCON;       // functions  and constants
  parms.val   = 0x10000;                      // some value
  pCbFunc (AG_CB_SYMBYVAL, (void *) &parms);  // search for symbol
//--- On return:
//---   parms.Ok = 1, search was successful
//---     parms.szName[] = name of symbol ('main' for example)
//---     parms.type     = type of symbol (AG_TP_FUNC for example)
//---     parms.val      = value of symbol
//---   parms.Ok = 0, search failed.
//--- Note: publics are searched only


//--- Example for Find Symbol by name:
  SYMDSC   parms;

  strcpy (parms.szName, "main");
  pCbFunc (AG_CB_SYMBYNAME, (void *) &parms);  // search for symbol by name
//--- On return:
//---   parms.Ok = 1, search was successful
//---     parms.szName[] = name of symbol ('main' for example)
//---     parms.type     = type of symbol (AG_TP_FUNC for example)
//---     parms.val      = value of symbol
//---   parms.Ok = 0, search failed.
//--- Note: publics are searched only


//--- Example for Progress-Bar handling:

static OIL  ProgressBar;

//--- initialize progress bar
  ProgressBar.pos   = 0;        // initial position
  ProgressBar.low   = 0;        //  low position percent (0%)
  ProgressBar.hig   = 100;      // high position percent (100%)
  ProgressBar.label = "Loading Monitor...";  // progress label text
  ProgressBar.Job   = PROGRESS_INIT;         // initialize
  pCbFunc (AG_CB_PROGRESS, &ProgressBar);    // do initialization.

//--- Step 1: display progress bar position:
  while (processing)  {
//  ...
    ProgressBar.Job = PROGRESS_SETPOS;
    ProgressBar.pos++;
    pCbFunc (AG_CB_PROGRESS, &ProgressBar);  // set bar to position
//  ...
  }

//--- Step 2: remove progress bar:
  ProgressBar.Job = PROGRESS_KILL;
  pCbFunc (AG_CB_PROGRESS, &ProgressBar);    // kill Progress Bar.


#endif      // End of CallBack Samples.

#ifdef __cplusplus
  }
#endif

#endif  // __AGDI__INCED___

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品麻豆| 911精品国产一区二区在线| 日韩国产欧美在线播放| 国产欧美日本一区视频| 欧美一区二区久久久| 欧美日本在线播放| 欧美色图片你懂的| 91麻豆福利精品推荐| 激情五月播播久久久精品| 国产主播一区二区| 国产宾馆实践打屁股91| 97久久精品人人做人人爽| 色婷婷国产精品| 欧美美女网站色| 日韩免费视频一区| 欧美国产精品中文字幕| 国产精品进线69影院| 依依成人综合视频| 亚洲国产一区二区在线播放| 日韩电影在线一区二区三区| 国产一区二区精品久久| 风间由美一区二区三区在线观看| 国产传媒欧美日韩成人| 色94色欧美sute亚洲13| 51精品国自产在线| 日本一区二区三区久久久久久久久不 | 久久蜜桃av一区二区天堂 | 卡一卡二国产精品| 成人中文字幕在线| 欧日韩精品视频| 精品国精品自拍自在线| 国产精品久久久久精k8| 日韩在线一区二区| 丁香亚洲综合激情啪啪综合| 欧美日韩精品免费观看视频| 国产无人区一区二区三区| 亚洲综合一二三区| 国产精品亚洲第一| 91精品国产综合久久久蜜臀粉嫩 | 日韩av不卡在线观看| 成人av免费在线| 欧美一级生活片| 亚洲蜜桃精久久久久久久| 精品一区二区三区免费播放 | 国产一区二区三区在线观看免费| 成人精品小蝌蚪| 在线综合视频播放| 亚洲三级在线播放| 国产精品一区免费视频| 欧美精品少妇一区二区三区| 亚洲四区在线观看| 国产精品一二二区| 精品免费国产一区二区三区四区| 一区二区三区在线视频免费| 欧美精品一区二区三区在线播放 | 精品欧美一区二区久久| 亚洲一区中文日韩| 色综合中文综合网| 中文字幕不卡在线| 激情国产一区二区| 欧美日韩三级一区| 一区二区成人在线观看| 99re6这里只有精品视频在线观看| 精品国产一区二区三区不卡 | 精品99一区二区三区| 天堂一区二区在线| 欧美日韩三级一区二区| 亚洲国产中文字幕| 欧美日韩国产影片| 亚洲成av人片一区二区| 欧美日韩一区高清| 亚洲国产精品视频| 欧美亚洲愉拍一区二区| 一区二区三区中文字幕电影| 色综合久久久久久久久久久| 亚洲美女免费视频| 欧美体内she精视频| 亚洲国产精品天堂| 国产午夜精品久久久久久久| 成人免费高清在线| 亚洲天堂a在线| 欧美亚洲国产一区在线观看网站| 一区av在线播放| 制服.丝袜.亚洲.中文.综合| 青草国产精品久久久久久| 欧美一区二区三区在线观看视频 | 国产精品一区二区免费不卡| 国产欧美精品区一区二区三区 | 亚洲欧洲精品一区二区三区不卡| 成人高清在线视频| 一区二区三区在线视频免费观看| 欧美日韩一二三| 久久99精品久久久| 国产欧美日韩卡一| 欧美在线不卡视频| 久久精品国产999大香线蕉| 久久久影院官网| 色综合久久久久久久久| 日韩和欧美一区二区三区| 久久婷婷久久一区二区三区| 成人aaaa免费全部观看| 日韩精品一级中文字幕精品视频免费观看 | 成人福利电影精品一区二区在线观看| 中文字幕精品三区| 在线电影一区二区三区| 国产成人精品一区二区三区网站观看| 日韩美女啊v在线免费观看| 欧美巨大另类极品videosbest| 精品一区二区三区在线播放| 亚洲人成在线观看一区二区| 日韩精品在线一区| 99麻豆久久久国产精品免费 | 色哟哟欧美精品| 美女任你摸久久| 中文字幕一区二区三区在线不卡| 欧美日韩mp4| 99久久伊人网影院| 久久se精品一区二区| 国产精品久久久久久妇女6080| 欧美嫩在线观看| 91在线视频18| 国产乱码一区二区三区| 亚洲福利一二三区| |精品福利一区二区三区| 精品裸体舞一区二区三区| 欧洲生活片亚洲生活在线观看| 国产夫妻精品视频| 日韩成人精品在线| 伊人夜夜躁av伊人久久| 国产精品三级久久久久三级| 日韩一级黄色片| 欧美日韩一区二区三区四区五区| 风间由美性色一区二区三区| 狠狠色丁香久久婷婷综| 日本va欧美va欧美va精品| 亚洲线精品一区二区三区八戒| 中文字幕在线不卡国产视频| 国产亚洲欧美一级| 精品国产三级a在线观看| 在线不卡中文字幕| 欧美日韩中文字幕精品| 色偷偷久久一区二区三区| 成人免费精品视频| 国产精品白丝av| 国产传媒久久文化传媒| 国产99一区视频免费| 国产在线精品国自产拍免费| 美腿丝袜一区二区三区| 日韩av一二三| 麻豆国产欧美日韩综合精品二区| 日韩av成人高清| 麻豆国产精品视频| 色狠狠av一区二区三区| 97精品超碰一区二区三区| 99精品视频在线播放观看| av在线播放一区二区三区| 波多野结衣中文一区| youjizz国产精品| 色香色香欲天天天影视综合网| 91色乱码一区二区三区| 色香蕉久久蜜桃| 欧美日韩mp4| 亚洲精品在线网站| 欧美国产国产综合| 1区2区3区欧美| 伊人一区二区三区| 奇米色一区二区三区四区| 久久er精品视频| 成年人午夜久久久| 在线观看91视频| 欧美成人精品福利| 国产日韩欧美综合在线| 亚洲乱码日产精品bd| 天天色天天操综合| 国产一区二区三区蝌蚪| 成人黄色综合网站| 欧美日韩视频第一区| 久久亚洲综合av| 亚洲免费资源在线播放| 亚洲韩国一区二区三区| 久久草av在线| 色综合色狠狠综合色| 在线观看91精品国产麻豆| 国产午夜精品理论片a级大结局| 一区二区三区精品在线| 蜜芽一区二区三区| 成人污视频在线观看| 欧美老肥妇做.爰bbww| 国产精品麻豆视频| 婷婷久久综合九色综合伊人色| 另类欧美日韩国产在线| 色综合天天视频在线观看| 精品国产污污免费网站入口 | 欧美videos大乳护士334| 国产精品久久久久影院色老大| 成人综合在线视频| 欧美亚洲日本一区| 欧美国产在线观看| 麻豆精品国产传媒mv男同| eeuss鲁一区二区三区|