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

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

?? bom.h

?? keil下驅(qū)動(dòng)程序的編寫
?? H
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):


struct Reg251  {         // 80251 Registers
  union  {
    BYTE    bregs [16];
    WORD16  wregs [16];
    DWORD   dregs [16];
  } r;

  DWORD            nPC;  // full address !
  BYTE              sp;  // SP
  BYTE             psw;  // PSW-sfr
  BYTE            psw1;  // PSW1-sfr
  BYTE               b;  // B-sfr
  BYTE             acc;  // ACC-sfr
  BYTE             dpl;  // DPL-sfr
  BYTE             dph;  // DPH-sfr
  BYTE        ports[4];
  INT64        nCycles;  // cycle counter
};

struct RegS6  {          // iMCS51 - SLE66Cxx (ECO2000) Registers
  DWORD          nPC;
  INT64      nCycles;    // cycle counter
  BYTE           psw;
  BYTE            sp;
  BYTE             b;
  BYTE           acc;
  BYTE           dpl;
  BYTE           dph;
  BYTE     bregs [8];
  BYTE         dpsel;
  BYTE         adrxh;    // page for MOVX @Ri

  WORD16    dptx [8];    // DPTR save area
};

#pragma pack()

#define SZ_R166   (OFO (struct Reg166, macc))
#define SZ_ST10   (sizeof (struct Reg166))
#define SZ_RX51   (sizeof (struct Regx51))
#define SZ_SLSZ   (sizeof (struct RegS6))
#define SZ_S251   (sizeof (struct Reg251))
#define SZ_51MX   (sizeof (struct Reg51MX))


/*
 * iMCS-51 SFR-Attribute codes
 */

#define nSF   0x0000      // SFR not present
#define iSF   0x8000      // SFR is present
#define pSF   0x4000      // SFR is present and is Port-0...3
#define cSF   0x2000      // ECO 'external SFR' (EEPROM,TIMER,UART)
#define dSF   0x1000      // 80320: Sfr is DPL/DPH or DPL1/DPH1
// Note: the above need to be combined with ATR_READ/ATR_WRITE
//       for selectively attribute configuration
//       iAV replaced by ATR_READ/ATR_WRITE


/*
 * Memory spaces
 */

#define   mmNONE   0x0000           // not spaced
#define   mmXDATA  0x0001           // XDATA
#define   mmBANK0  0x0080           // BANK0
#define   mmBANK31 0x009F           // BANK31
#define   mmDATA   0x00F0           // DATA
#define   mmBIT    0x00F1           // BIT
#define   mmEDATA  0x00F2           // EDATA (i251)
#define   mmIDATA  0x00F3           // IDATA
#define   mmECODE  0x00F4           // 251 ecode
#define   mmHDATA  0x00F5           // 251 hdata
#define   mmHCONS  0x00F6           // 251 hconst
#define   mmCONST  0x00F7           // 251 const
#define   mmPDATA  0x00FE           // PDATA (c51 macht das bei generic)
#define   mmCODE   0x00FF           // CODE 
#define   mmPHYS   0x0100           // Physical SLE66+ Memory
#define   mmPHLIM  0x0110           // 1MB Physical Memory

#define   mmU1MEM  0x00F8           // UsrMem #1 (E2-PROM)
#define   mmU2MEM  0x00F9           // UsrMem #2 (undefined)
#define   mmU3MEM  0x00FA           // UsrMem #3 (undefined)
#define   mmU4MEM  0x00FB           // UsrMem #4 (undefined)
#define   mmU5MEM  0x00FC           // UsrMem #5 (undefined)
#define   mmU6MEM  0x00FD           // UsrMem #6 (undefined)





#if 0
//--- SLE88Cxx specific's: -------------------------------

struct RegSle  {
  union  {
//  WORD16   wregs[16];      // ECO-2 word regs
    DWORD    dregs [9];      // SLE R0-R7,A
  } r;
  DWORD            nPC;      // LoWord is relevant !!!
  DWORD            Psw;      // SLE PSW (32-Bit)
  DWORD           Reco;      //
  DWORD           Aram;      // 
  INT64        nCycles;      // cycle counter
  WORD16            sp;
  BYTE              cs;
  BYTE              ss;
  BYTE             ds0;
  BYTE             ds1;
  BYTE             ts0;
  BYTE             ts1;
};
#endif


//--------------------------------------------------------------

#define iSLE88     100     // dead !
#define i80x51     0x00    // generic 80x51
#define iEXTMAC    0x01    // MAC167
#define iSLE66     0x02    // SLE66
#define iC51MX     0x03    // Philips 80C51MX
#define iRF5016    0x04    // Philips P8RF5016 (Mifare pro X)



#define xxMENU    UsrDwrd[0]   // holds CAN-Extension Menu (DYM *)
#define xxUPDATE  UsrDwrd[1]   // holds 'void (*CanUpdate) (DWORD nCode)'

//
// Sle66: ioc.pUv[0] = WORD16 *pTab;  // 256 Words fuer Peripheral-Config
//


struct bom  {
  DWORD          nSize;
  WORD16  bInitialized;
  WORD16          iMCS;    // ToolSet Definitions 0=51, 1=251, 2=166, 3=Fox
  WORD16        iMinor;    // SubCode: iMCS166(1):=MAC167
  DWORD         iModel;    // memory model (based on iMCS)
  DWORD           iRtx;    // which RTX (0=none, 1=RtxTiny, 2=RtxFull)

  DWORD     RunDeb : 1;    // dScope is running
  DWORD     CmdLog : 1;    // 1 := command log file is active
  DWORD     SerLog : 1;    // 1 := serial log file active
  DWORD       iRun : 1;    // GO or Step currently running
  DWORD   InfoiRun : 1;    // Sim about to start running
  DWORD      iBoot : 1;    // currently starting up Sim
  DWORD     iReset : 1;    // Reset issued via Button
  DWORD   wdog_rst : 1;    // Reset via Watchdog Timer
  DWORD     logmod : 1;    // 0:=LOG, 1:=SLOG
  DWORD     target : 1;    // 1:=target mode
  DWORD    jSilent : 1;    // kill function without query

  DWORD    MemAccR : 1;    // Memory-access possible while running
  DWORD    RegAccR : 1;    // Register-access possible while running
  DWORD     hTrace : 1;    // trace support
  DWORD     hCover : 1;    // code coverage support
  DWORD    hPaLyze : 1;    // Performance Analyzer support
  DWORD    hMemMap : 1;    // Memory-Map support
  DWORD     ResetR : 1;    // Reset possible while running
  DWORD     WinAcc : 1;    // ReadMem/WriteMem/LoadTyp activated
                           // by some non-simulation vehicle

  ZBK            *pScp;    // current Scope via WaScope()
  ZXFIL         *pScpF;    // and the associated file
  LIN             *pLn;    // and the line number
  SYM            *SfrH;    // SFR-Symbols supplied by Cpu/Peri-DLL
  SYM           *hIntr;    // head of Intrinsic's
  SYM           *tIntr;    // head of Intrinsic's
  SYM           *hFunc;    // head of Functions (User/Signal

  struct szPAT  *hSrcP;    // head of search pathes (via 'set src')
  struct szPAT  *tSrcP;    // tail of search pathes (via 'set src')

  DWORD       startasm;    // DasmFox exports for LWinVw
  DWORD       altstart;
  DWORD         MarkPC;

                           // for enhancements:
  BYTE     UsrByte[16];    // currently not used.
  WORD16   UsrWord[16];    // currently not used.
  DWORD      movb :  1;    // MOVB instruction executed (SLE66)
  DWORD    SfrRdy :  1;    // data from sfr is valid (SLE66)
  DWORD     DemoF :  1;    // about to debug a demo file...
  DWORD           : 29;    // currently not used.
  DWORD    UsrDwrd[15];    // currently not used.


//--- debug specific flags: -----------------------------------

  DWORD   periodic : 1;    // periodic window update Flag
  DWORD      aLwin : 1;
  DWORD     aCover : 1;
  DWORD      aSer1 : 1;
  DWORD      aSer2 : 1;
  DWORD        aPa : 1;
  DWORD       aBox : 1;
  DWORD   viewmode : 3;    // LwinVw: view mode
  DWORD      vrSel : 4;    // LwinVw: address-range selection
  DWORD       aSym : 1;    // Symbols Dialog active
  DWORD      aTbox : 1;    // ToolBox is active
  DWORD      AscS1 : 1;    // Serial #1 - 0:=Ascii, 1:=Hex mode
  DWORD      AscS2 : 1;    // Serial #2 - 0:=Ascii, 1:=Hex mode

  BYTE           trace;    // Record trace information
//-------------------------------------------------------------

  BYTE           ptree;    // dump expression tree (_ptree_)
  BYTE           traps;    // enable/disable interrupt/trap messages
  BYTE           *trap;    // Trace buffer
  int           curtra;    // current trace index
  int           numtra;    // records in buffer

  int          cbreaks;    // number of C-breaks
  BKS          *BpHead;    // List head of Breakpoints
  BKS          *BpTail;    // List tail of Breakpoints
  DWORD         AccOff;    // if > 0: ignore access breaks
  BYTE     BpBlock : 1;    // Block Bp-commands if Bp-Dialog is active
  BYTE     PaBlock : 1;    // Block PA-commands if PA-Dialog is active
  BYTE       PaDlg : 1;    // PA-Dialog is open
  BYTE       PaRun : 1;    // PA is running
  BYTE       PaTim : 1;    // Update PA time information
  BYTE         FuncGen;
  BYTE          KeyEsc;    // Escape key has been pressed

                           // log file
  char        *CmdLogN;    // name of command log file
  FILE        *CmdLogH;    // file handle of command log file
  char        *SerLogN;    // name of serial log file
  FILE        *SerLogH;    // file handle of serial log file

  
  HMODULE        Linst;    // DLL Instance handle
  HMODULE        Ginst;    // AGDI Instance handle
  HMODULE        Rinst;    // RTX-DLL Instance handle
  HWND            hwnd;    // CMainFrame's m_hWnd, Parent for Dll-Dialogs
  DWORD           hmsg;    // WM_OUTOUT Message

  DYM           *pMenu;    // attached by peripheral dll
  DYM           *pMtrg;    // attached via AGDI
  DYM           *pMrtx;    // attached via RTX dll

  int       (*vp) (struct bom *pioc, DWORD nCode);   // DLL init/uninit
  int      (*rvp) (DWORD nCode, void *p1);           // RTX-DLL init/uninit

  HWND          curDlg;    // currently active modeless dialog

  union rstat       st;    // Run-Status Info
  DWORD            nPC;    // Offset (16-bit) of the PC
  INT64         cycles;    // number of cycles executed
  int            etime;    // execution time, counts down from tdelay to 0
  int           tdelay;    // Time till next time watch
  WORD16         error;    // Error-code
  DWORD         ErrAdr;    // Opt. Error-address

  DWORD         OscFrq;    // Oscillator frequency

  VTR            *pVTA;    // allocated array of MAXVTR VtReg's
  WATCH        **pVTwa;    // and watch pointer list
  DWORD            nVT;    // number of currently used VtReg's

  CSTK           *pStk;    // call-stack entries
  int             nStk;    // call-stack depth tracker

  int              tos;    // PA-stack index
  PAST           *StPa;    // PA-stack slots
  PA           *PaBgHd;    // background PA always present.
  PA           *PaHead;    // Head of PA ranges
  PA           *PaTail;    // Tail of PA ranges
  DWORD         paEadr;    // PA current range entry/exit address
  INT64         CapCyc;    // captures cycles


//  struct FoxCont   fox;
#if 1
  union itrp      itrp;    // Interrupt status
  BYTE           sleep;    // CPU sleep mode
  BYTE         _break_;    // Stop execution, if _break_ := 1
  BYTE           radix;    // number base, for compat. to dScope
  BYTE       intchange; 
  DWORD        intvect;    // interrupt vector address if itrp.w.flag = 1
  BYTE          intdis;
  DWORD           cPsw;    // current PSW
  DWORD           oPsw;    // old PSW
#endif

  DWORD     EINIT_exec;    // 0=EINIT not yet executed / 1=EINIT executed
  DWORD    SRVWDT_exec;    // 0=SRVWDT not yet executed / 1=SRVWDT executed
  DWORD     WDOGACTIVE;    // 0=Watchdog disabled / 1=Watchdog enabled

                                         // Polymorphic function
  DWORD      (*SimFunc) (DWORD nCode, void *p1, void *p2);

  void         (*LFwLF) (CRT *X);        // DasmFox exports for LwinVw
  void         (*LRwLF) (CRT *X);
  void        (*CrtAtt) (CRT *X);
  char         *(*LGet) (CRT *X);
  BYTE      (*FileLine) (ZXFIL *pF, DWORD nLine);
  ZXFIL   *(*FileScope) (DWORD nAdr);    // End of DasmFox exports
  ZXFIL    *(*DocToZXF) (LPCTSTR pN);    // Map Docname to ZXFIL

  WORD16    *(*GetAttr) (DWORD nAdr);    // get attr for address

  void       (*StopRun) (void);          // Uv3-Stop-Button was pressed
  void      (*ServeWDT) (void);          // Watchdog timer function
  void         (*GoTil) (DWORD nAdr);    // Go until for Fox-Sim test

  int       (*HistFunc) (int nCode, int indx, int n1, BYTE *pR);
  DWORD       (*PaFunc) (int nCode, int nAdr, void *p);

  void        (*GetOpc) (DWORD nAdr, DWORD *vp); // get 4-Bytes Opcode
  DWORD       (*SetOpc) (DWORD nAdr, BYTE *pB, DWORD mMany);
  DWORD      (*ReadMem) (DWORD nAdr, DWORD nMany, BYTE *vp);
  DWORD     (*WriteMem) (DWORD nAdr, DWORD nMany, BYTE *vp);

  void	        (*Step) (DWORD nMany, DWORD type);   // Step function
  void	        (*Stop) (void);          // Notbremse
  void         (*Reset) (WORD16 nFlags); // Reset Simu
  void       (*GetRegs) (void *vp /*struct FoxReg *vp*/);
  void       (*SetRegs) (void *vp /*struct FoxReg *vp*/);
  DWORD       (*MapMem) (DWORD SegTyp, DWORD nAdr1, DWORD nLen);

  int       (*ValidAdr) (DWORD nAdr, int nCode);
  DWORD       (*BpInfo) (DWORD nAdr, WORD16 nCode);
  DWORD     (*BpExists) (DWORD nAdr);
  BKS     *(*BreakFunc) (WORD16 nCode, WORD16 n1, DWORD nAdr, BKS *pB);
  BKS      *(*NewBreak) (DWORD nAdr, WORD16 nType, WORD16 nCode);
  void         (*DlgBp) (struct BpBlk *pB);        // create Dialog Bp

  VTR      *(*p_create) (char *name, WORD16 nTyp);    // create VTREG
  void      (*p_putval) (VTR *pV, union v *pCont);
  void      (*p_getval) (VTR *pV, union v *pCont);
  VTR       *(*FindVTR) (char *name);                 // find VTREG
  void        (*w_read) (pACCESS ac, WFP cur, WFP pnew);
  void       (*w_write) (pACCESS ac, WFP pnew);
  void         (*inval) (DWORD val);
  int       (*w_access) (DWORD adr, DWORD mask);
  void     (*ResetPeri) (void);        // Reset Peripherals
  void      (*w_create) (pWATCH wp);
  int       (*t_create) (INT64 tv, void (*fc)(void));
  void      (*t_remove) (int indx);
  void      (*intcheck) (void);
                                         // Serial I/O
  void         (*SerIn) (int nCom, WORD16 val);  // Keypress in SerVw

  void     (*DlgUpdate) (void);          // update peripheral dialogs
  void     (*ExtDlgUpd) (void);          // update AGDI extension dialogs
  void     (*RtxUpdate) (DWORD nCode);   // update RTX extension dialog(s)


//------------------------
//--- Kernel functions ---
//------------------------

  void      (*DoEvents) (void);
  DWORD       (*Notify) (DWORD nCode, void *lp1);
  WORD16      (*RunCmd) (char *cmd, int nLen);
  void     (*CmdWinOut) (char *text);
  void     (*CmdCmdOut) (char *text);
  void       (*FreeEnv) (DWORD env);
  void       *(*GetMem) (DWORD many, int env);
  char   *(*SaveString) (char *s, int env);

  void       (*CleanUp) (void);                // clean up after Stop-Debug
  int     (*SerByteOut) (int nCom,   BYTE *pS, DWORD nMany); // write into SerWin
  int     (*SerWordOut) (int nCom, WORD16 *pW, DWORD nMany); // write into SerWin

  void      (*LogWrite) (int nSel, char *pLine, int nMany);
  void      (*BootHelp) (DWORD hlpExpr, DWORD noHelp, DWORD hStart);
  void     (*CreaWatch) (IRX *pX);
  WORD16   (*WatchCalc) (EXP *ep, char *pB);
  WORD16    (*AsnWatch) (char *exp, int nLen);
  void       (*LoadTyp) (char *pS, DWORD nAdr, int base, TYP *tp, union v *pU);
  void       (*LoadStr) (char *pS, DWORD nAdr, int nMax);
  ZBK       *(*WaScope) (DWORD nAdr);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区免费不卡| 99视频精品全部免费在线| 国产人成一区二区三区影院| 色婷婷精品大在线视频| 国产精品亚洲午夜一区二区三区| 亚洲国产精品久久久久婷婷884| 久久影视一区二区| 欧美日韩久久久| 99这里都是精品| 国内不卡的二区三区中文字幕| 亚洲欧美aⅴ...| 中文字幕欧美日本乱码一线二线| 日韩欧美国产三级电影视频| 欧美日韩国产欧美日美国产精品| 成人黄色777网| 国产盗摄精品一区二区三区在线 | 国产伦精品一区二区三区在线观看 | 成人免费视频一区| 麻豆高清免费国产一区| 亚洲成人av福利| 亚洲视频一区二区免费在线观看| 国产日韩欧美高清| 精品伦理精品一区| 欧美一级电影网站| 欧美日本高清视频在线观看| 在线精品视频一区二区三四| 91色综合久久久久婷婷| 成人激情文学综合网| 国产精品一区二区x88av| 精品写真视频在线观看| 美脚の诱脚舐め脚责91| 免费成人在线视频观看| 无码av免费一区二区三区试看| 亚洲精品菠萝久久久久久久| 国产精品超碰97尤物18| 国产欧美一区二区三区鸳鸯浴| 久久―日本道色综合久久| 日韩欧美www| 精品美女在线播放| 久久久久久免费| 国产日韩欧美精品电影三级在线 | 亚洲一级电影视频| 亚洲成人一二三| 亚洲成av人片在线观看| 丝袜a∨在线一区二区三区不卡| 亚洲狠狠爱一区二区三区| 亚洲综合久久av| 亚洲大片免费看| 日韩高清一级片| 美女性感视频久久| 久久狠狠亚洲综合| 国产一区二区主播在线| 成人影视亚洲图片在线| 99国产精品99久久久久久| 色婷婷香蕉在线一区二区| 欧美这里有精品| 欧美日韩情趣电影| 日韩三区在线观看| 久久久久国产精品人| 一区免费观看视频| 一区二区三区鲁丝不卡| 秋霞电影网一区二区| 国产精品一二三区在线| 色综合网站在线| 国产亚洲一二三区| 国产精品国产三级国产普通话99| 最新欧美精品一区二区三区| 亚洲最色的网站| 久久成人av少妇免费| av一区二区三区在线| 在线观看91精品国产入口| 666欧美在线视频| 国产亚洲成年网址在线观看| 亚洲男帅同性gay1069| 日韩成人免费看| 北条麻妃一区二区三区| 色婷婷激情综合| 精品精品国产高清a毛片牛牛 | 蜜臀久久久久久久| 不卡免费追剧大全电视剧网站| 欧日韩精品视频| 26uuu久久天堂性欧美| 亚洲视频在线一区二区| 日本一不卡视频| 97精品国产露脸对白| 精品人伦一区二区色婷婷| 国产精品久久看| 视频一区视频二区中文字幕| 成人激情午夜影院| 91精品国产91久久久久久最新毛片| 国产欧美一区二区在线| 日韩国产欧美在线视频| 成人高清免费观看| 欧美一区二区三区免费在线看 | 亚洲与欧洲av电影| 国产一区二区精品久久91| 欧美三级欧美一级| 国产精品久久夜| 久久国产精品99久久久久久老狼| 色综合中文字幕国产| 日韩视频在线观看一区二区| 亚洲欧美经典视频| 国产一区二区三区香蕉| 91精品国产色综合久久不卡电影| 国产精品国产三级国产aⅴ无密码| 免费观看在线色综合| 欧美影视一区在线| 国产精品久久久久天堂| 国产一区二区三区四区五区入口| 7777精品伊人久久久大香线蕉超级流畅 | 日韩一区二区高清| 亚洲精品v日韩精品| 成人性色生活片| www亚洲一区| 蜜臀av一区二区| 7777女厕盗摄久久久| 亚洲超碰97人人做人人爱| 91一区二区在线| 国产精品五月天| 国产精品99久久不卡二区| 日韩美女在线视频| 日精品一区二区| 欧美精品久久天天躁| 亚洲综合清纯丝袜自拍| 色综合色狠狠综合色| 国产精品国产三级国产a| 成人激情文学综合网| 国产精品妹子av| av电影一区二区| 中文字幕一区二区三区不卡在线| 国产91在线|亚洲| 欧美激情一区二区三区| 成人精品一区二区三区四区| 国产精品麻豆一区二区| 成人av网址在线观看| 亚洲人精品午夜| 色婷婷综合久久久中文一区二区| 亚洲同性gay激情无套| 99精品欧美一区二区蜜桃免费| 国产精品黄色在线观看 | 久久综合资源网| 美女在线视频一区| 精品奇米国产一区二区三区| 奇米888四色在线精品| 日韩欧美在线影院| 精品午夜一区二区三区在线观看| 2020日本不卡一区二区视频| 国产美女精品在线| 国产精品每日更新| 在线亚洲一区观看| 性做久久久久久免费观看欧美| 欧美一区二区三区视频| 国产在线精品一区二区不卡了 | 国产精品美女久久福利网站| 99国产精品久久久久久久久久久| 亚洲精品五月天| 欧美美女直播网站| 奇米色777欧美一区二区| 久久九九久久九九| 91天堂素人约啪| 亚洲成av人片一区二区梦乃| 精品日韩av一区二区| 成人精品国产一区二区4080 | 国产suv精品一区二区6| 日韩美女视频一区二区 | 色菇凉天天综合网| 男女视频一区二区| 欧美国产激情一区二区三区蜜月| 99久久综合狠狠综合久久| 亚洲福中文字幕伊人影院| 日韩欧美一区在线观看| 成人免费看黄yyy456| 亚洲电影视频在线| www欧美成人18+| 在线观看av不卡| 狠狠色丁香婷综合久久| 亚洲欧美色一区| 精品久久人人做人人爰| 色综合久久综合网欧美综合网| 免费观看30秒视频久久| 成人免费在线播放视频| 欧美一区二区三区系列电影| 成人深夜福利app| 视频一区在线视频| 国产精品久99| 欧美成人女星排名| 91麻豆国产精品久久| 精品亚洲porn| 亚洲a一区二区| 国产精品沙发午睡系列990531| 欧美精品粉嫩高潮一区二区| 成人黄色在线网站| 六月丁香综合在线视频| 亚洲精品国产精华液| 国产亚洲欧美日韩日本| 777午夜精品免费视频| 91蝌蚪porny九色| 国产在线播精品第三| 午夜国产精品一区| 一区二区三区在线免费|