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

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

?? isd51.a51

?? The ISD51_Demo project for the MSC1200 shows how to use the ISD51 In-System-Debugger with flash bre
?? A51
?? 第 1 頁 / 共 2 頁
字號:
$NOMOD51    
;------------------------------------------------------------------------------
;  ISD51  In-System Debugger for 8051 based microcontrollers
;  Copyright KEIL ELEKTRONIK GmbH and Keil Software, Inc. 2000 - 2003
;  Version 2.05
;------------------------------------------------------------------------------
;  ISD51.A51:  This module needs to be added to the user application
;
;  Copy this file to your project folder and add the copy to your uVision2
;  project.  You can customize several parameters of the ISD51 In-System 
;  Monitor within this configuration file.
;
;  ISD51 V2.00: added new features like user I/O and hardware breakpoints.
;  ISD51 V2.02: fixed a problem when single stepping through putchar
;
;  ISD51 V2.03: adapted for TI AUX Interupt (EAI Bit save/restore added)
;  ISD51 V2.04: 'Stop' command did not break program execution on targets that
;               do not have hardware breakpoints
;  ISD51 V2.05: when ISD51 is not started, getkey return value was not in R7.
;------------------------------------------------------------------------------

#include "ISD51.H"   /* ISD51 Configuration Parameters */

;------------------------------------------------------------------------------
;----------------- !!! Do not modify code sections below !!! ------------------
;------------------------------------------------------------------------------

NAME ISD51_CONFIGURATION


SBYTE    MACRO             ; Transmit Byte in ACC via serial UART
         JNB_TI $
         CLR_TI
         WR_SBUF           ; MOV SBUF,A
         ENDM

RBYTE    MACRO             ; Read one Byte from serial UART to ACC
         RD_SBUF           ; MOV A,SBUF
         CLR_RI
         ENDM

GBYTE    MACRO             ; Receive one Character from 8051 Serial Interface
         JNB_RI $
         RBYTE
         ENDM


/* 8051 SFR Register addresses */
sfr P0     = 0x80;
sfr P1     = 0x90;
sfr P2     = 0xA0;
sfr P3     = 0xB0;
sfr PSW    = 0xD0;
sfr ACC    = 0xE0;
sfr B      = 0xF0;
sfr SP     = 0x81;
sfr DPL    = 0x82;
sfr DPH    = 0x83;
sfr AUXR   = 0x8E;
sfr PH_FMCON  = 0xE4;  // for Philips LPC900 devices
sfr PH_FMADRL = 0xE6;  // for Philips LPC900 devices


?ISD?RAMTOP     EQU     RAMSIZE-1
?ISD?CMP_S      EQU     CMP_START
?ISD?CMP_E      EQU     CMP_END

EXTRN NUMBER (?ISD?CORE)

PUBLIC ?ISD?RAMTOP
PUBLIC ?ISD?RESTART
PUBLIC ?ISD?CMDLOOP
PUBLIC ?ISD?GETBYTE
PUBLIC ?ISD?SENDBYTE
PUBLIC ?ISD?READSFR00
PUBLIC ?ISD?READSFR01
PUBLIC ?ISD?READSFR02
PUBLIC ?ISD?READSFR03
PUBLIC ?ISD?READSFR04
PUBLIC ?ISD?READSFR05
PUBLIC ?ISD?READSFR06
PUBLIC ?ISD?READSFR07
PUBLIC ?ISD?READSFR08
PUBLIC ?ISD?READSFR09
PUBLIC ?ISD?READSFR10
PUBLIC ?ISD?READSFR11
PUBLIC ?ISD?READSFR12
PUBLIC ?ISD?READSFR13
PUBLIC ?ISD?READSFR14
PUBLIC ?ISD?READSFR15
PUBLIC ?ISD?READSFR16
PUBLIC ?ISD?READSFR17
PUBLIC ?ISD?READSFR18
PUBLIC ?ISD?WRITESFR00
PUBLIC ?ISD?WRITESFR01
PUBLIC ?ISD?WRITESFR02
PUBLIC ?ISD?WRITESFR03
#ifdef PHILIPS_LPC900
PUBLIC ?ISD?WRITESFR04
PUBLIC ?ISD?WRITESFR05
#endif
PUBLIC ?ISD?VERSION
PUBLIC ?ISD?CMP_S
PUBLIC ?ISD?CMP_E
PUBLIC __isd_init


PUBLIC ?ISD?CBLK_SIZE  ; block size for FLASH IAP Routine

?ISD?CBLK_SIZE  EQU     CBLK_SZ
CBLK            EQU     10H             ; Start address for FLASH buffer

?ISD?VERSION    EQU     204             ; Version 2.04

#ifdef TI_MSC1210                       // added for TI MSC121x
?BI?ISD51       SEGMENT BIT
                RSEG    ?BI?ISD51
SaveEAI:        DBIT    1               ; Save TI AUX Interrupt Enable bit
#endif                                  // for TI MSC121x


?PR?ISD51       SEGMENT CODE INBLOCK

                CSEG AT SINTRVEC    ; Serial Interrupt
                LJMP    SerialInterrupt


#ifdef TI_MSC1210_BREAKS
;-------- Chip Specific Break Features -----------------------
PUBLIC          ?ISD?HWBREAKS
PUBLIC          ?ISD?SETHWBREAK

BREAK_CODE      EQU     0x8000
BREAK_XDATA     EQU     0x4000

?ISD?HWBREAKS   EQU     (BREAK_CODE OR BREAK_XDATA) + 2

BPCTRL          DATA    0A9H  ; BPCTRL.7  := breakpoint interrupt request
                              ; BPCTRL.1  := 0=code break, 1=xdata break
                              ; BPCTRL.0  := breakpoint enable 
BREAKL          DATA    0AAH  ; break low  address
BREAKH          DATA    0ABH  ; break high address
MEMCTRL         DATA    095H  ; MEMCTRL.7 := breakpoint select
PIREG           DATA    096H  ; PIREG.0   := breakpoint interrupt enable
EICON           DATA    0D8H  ; Extended Interrupt CONtrol register
PFI             BIT     0DCH  ; Interrupt Request Flag for power fail and debug

                CSEG    AT    33H       ; interupt vector for breakpoints
                LJMP    HWBreakEntry


                RSEG    ?PR?ISD51
                USING   0               ; Assume Registerbank 0 for ARx symbols

; Entry Point for HW Breakpoint
HWBreakEntry:   PUSH    PSW
                PUSH    ACC
                MOV     A,BPCTRL
                JB      ACC.7,HWBreakpoint
                POP     ACC
                POP     PSW
                LJMP    06BH            ; Other interrupt sources such as A/D Converter
                                        ; SPI, PFI and (milli)second timer sharing the 
                                        ; interrupt vector at address 33H must be 
                                        ; relocated to address 6BH (interrupt 13)!

HWBreakpoint:   MOV     PSW,#0          ; Select Register Bank 0
                PUSH    AR0
                PUSH    AR1
                MOV     A,MEMCTRL       ; Get Breakpoint reason
                RLC     A
                MOV     A,#0F8H/2
                RLC     A               ; 0F8H->Break 0, 0F9H->Break 1
                ORL     BPCTRL,#80H     ; Clear Breakpoint interrupt
                CLR     PFI
                SET_TI
                SJMP    Send7Bytes

;--------------------------------------------------------------------------
; Command: Set Hardware Break Register
;  LOW (?ISD?SETHWBREAK), HIGH (?ISD?SETHWBREAK), BPcode, LOW (bp_addr), HIGH (bp_addr)
;     BPcode.0..2  :=  select hardware break register 0..7
;     BPcode.3     :=  reserved, currently set to 0
;     BPcode.4     :=  0  disable breakpoint,  1 enable breakpoint
;     BPcode.5     :=  0  xdata breakpoint,    1 code   breakpoint
;     BPcode.6     :=  reserved, currently set to 0
;     BPcode.7     :=  reserved, currently set to 0
              
?ISD?SETHWBREAK:
                XCH     A,R0
                SWAP    A
                ORL     MEMCTRL,#80H    ; BPSEL=1; select hw breakpoint 1
                JBC     ACC.4,SelectHWbp1
                ANL     MEMCTRL,#7FH    ; BPSEL=0; select hw breakpoint 0
SelectHWbp1:    XCH     A,R0
                MOV     BPCTRL,#80H     ; disable breakpoint, clear pending breakpoints
                MOV     BREAKL,A
                ACALL   ?ISD?GETBYTE
                MOV     BREAKH,A
                MOV     BPCTRL,R0
                AJMP    ?ISD?CMDLOOP
;--------------------------------------------------------------------------
#endif


                RSEG    ?PR?ISD51
                USING   0               ; Assume Registerbank 0 for ARx symbols

#if CBLK_SZ != 0                        /* Hareware Breakpoints */
PUBLIC ?ISD?HWCALL
?ISD?HWCALL:    PUSH    PSW
                PUSH    ACC
                MOV     A,#0FDH         ; Call Break
                SJMP    CallBreak        
#endif

SerialInterrupt:
                PUSH    PSW
                PUSH    ACC
                JNB_RI  NoSerBreak
                RBYTE                        ; Check for 0A5H Break Code
#if ISD_GETKEY
                MOV     _ISD_CHAR,A
#endif
                CJNE    A,#0A5H,ReturnI
#if CBLK_SZ == 0                        /* Software Breakpoints */
                SET_TI
                MOV     PSW,#0          ; Select Register Bank 0
                PUSH    AR0
                PUSH    AR1
                SJMP    SoftBreak
#endif
NoSerBreak:     MOV     A,#0FFH
CallBreak:      MOV     PSW,#0          ; Select Register Bank 0
                PUSH    AR0
                PUSH    AR1
                MOV     R0,#?ISD?RAMTOP
#if CBLK_SZ == 0                        /* Software Breakpoints */
                MOV     AR0,@R0         ; Load Start Address of Break Table
                CJNE    R0,#0xFF,CheckBreaks
#else                                   /* Hardware Breakpoints */
                JBC     EA,ChkEA
                ANL     A,#0FBH
ChkEA:          
#ifdef TI_MSC1210                       // added for TI MSC121x
EAI             BIT     0DDH            ; Enable bit for AUX Interrupt
                SETB    SaveEAI
                JBC     EAI,ChkEAI
                CLR     SaveEAI
ChkEAI:         
#endif                                  // for TI MSC121x
                MOV     @R0,A
                SET_TI
#endif
; Called when a Breakpoint is reached or in Single Stepping Mode

; Sends Break-Idenfier, R0, ACC, PSW, PCH, PCL, R1
#if CBLK_SZ == 0                        /* Software Breakpoints */
SoftBreak:      MOV     A,#0F7H         ; Send Idenifier
#endif
Send7Bytes:     SBYTE                   ; Send Byte
                POP     AR1
                MOV     R0,#5
SendStackFrame: POP     ACC
                ACALL   ?ISD?SENDBYTE
                DJNZ    R0,SendStackFrame
                MOV     A,R1
?ISD?CMDLOOP2:  ACALL   ?ISD?SENDBYTE

; Wait for Command
;  CmdAddrL, CmdAddrH, R0, ACC

?ISD?CMDLOOP:   ACALL   ?ISD?GETBYTE            ; Command Address
                PUSH    ACC
                ACALL   ?ISD?GETBYTE
                PUSH    ACC
                ACALL   ?ISD?GETBYTE
                MOV     R0,A
;;;             ACALL   ?ISD?GETBYTE
;;;             RET

?ISD?GETBYTE:   GBYTE
                RET

#if CBLK_SZ == 0                        /* Software Breakpoints */
; Check Soft Breaks in Memory
CheckBreaks:    MOV     A,SP
                ADD     A,#-4
                MOV     R1,A            ; Address to PCH/PCL
                SJMP    CheckBreak1
CheckBreak:     INC     R0
                DEC     R1
                MOV     A,@R0           ; Compare Low Part
                XRL     A,@R1
                INC     R0
                INC     R1
                JNZ     CheckBreak1
                MOV     A,@R0           ; Compare High Part
                XRL     A,@R1
                JZ      SoftBreak
CheckBreak1:    CJNE    R0,#?ISD?RAMTOP-1,CheckBreak

                POP     AR1
RestartUser:    POP     AR0
#endif

ReturnI:        POP     ACC
                POP     PSW
                RETI



?ISD?SENDBYTE:  SBYTE
                RET

;--------------------------------------------------------------------------
; Command: Restart User Program
;  LOW (?ISD?RESTART), HIGH (?ISD?RESTART), R0, PCL, PCH, PSW, R1, ACC
;
;
?ISD?RESTART:   PUSH    ACC          ; PCL Content of User Program
                ACALL   ?ISD?GETBYTE
                PUSH    ACC          ; PCH Content of User Program
                ACALL   ?ISD?GETBYTE
                PUSH    ACC          ; PSW Content of User Program
                ACALL   ?ISD?GETBYTE
                MOV     R1,A         ; R1  Content of User Program
                ACALL   ?ISD?GETBYTE ; ACC Content of User Program
                PUSH    ACC
                PUSH    AR0
                MOV     R0,#?ISD?RAMTOP
                MOV     A,@R0
#if CBLK_SZ != 0                        /* Flash Breakpoints */
                SET_ES      
                POP     AR0
                RRC     A        
                JNC     StepMode
                CLR_TI               ; Go Mode

#ifdef TI_MSC1210                    // added for TI MSC121x
                MOV     C,SaveEAI
                MOV     EAI,C
                RRC     A
                JNC     RetMode
                POP     ACC
                POP     PSW
                SETB    EA
                RETI
StepMode:       RRC     A
                JNC     StepModeRet
                POP     ACC
                MOV     C,SaveEAI
                MOV     EAI,C
                POP     PSW
                SETB    EA
                RETI

StepModeRet:    POP     ACC
                MOV     C,SaveEAI
                MOV     EAI,C
                POP     PSW
                SETB    EA
                RET
#else
StepMode:       RRC     A
                JNC     RetMode
                POP     ACC
                POP     PSW
                SETB    EA
                RETI
#endif                               // end for TI MSC121x

RetMode:        RRC     A
                POP     ACC
                JNC     EAClr
                POP     PSW
                SETB    EA
                RET

EAClr:          POP     PSW
                RET
#else
                JNZ     RestartSS
                CLR_TI
RestartSS:      AJMP    RestartUser
#endif

;--------------------------------------------------------------------------;
; Insert HW Breakpoints
#if CBLK_SZ != 0                        /* Hareware Breakpoints */

; Command: Write IData Memory Bytes
;  LOW (?ISD?WR_IMEMN), HIGH (?ISD?WR_IMEMN), Adr, Cnt, ContBytes [...]
PUBLIC ?ISD?WR_IMEMN
?ISD?WR_IMEMN:  MOV     R1,A
IMEM2LOOP:      ACALL   ?ISD?GETBYTE
                MOV     @R0,A
                INC     R0
                DJNZ    R1,IMEM2LOOP
                AJMP    ?ISD?CMDLOOP


;--------------------------------------------------------------------------
; Command: Write Code Flash
;  LOW (?ISD?WR_FLASH), HIGH (?ISD?WR_FLASH), FlashAdrL, FlashAdrH
PUBLIC ?ISD?WR_FLASH
?ISD?WR_FLASH:  CWRITE
                AJMP    ?ISD?CMDLOOP2

#endif
;--------------------------------------------------------------------------
; Command: Write SFR DPL, DPH
;  LOW (?ISD?WRITESFR00), HIGH (?ISD?WRITESFR00), DPL, DPH
;
;
?ISD?WRITESFR00:
                MOV     DPL,R0
                MOV     DPH,A
                AJMP    ?ISD?CMDLOOP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
顶级嫩模精品视频在线看| 国产精品影音先锋| 日韩免费在线观看| 国产成人在线观看免费网站| 国产精品色哟哟| 精品国产乱码久久久久久夜甘婷婷| 成人永久aaa| 国产精品原创巨作av| 国模娜娜一区二区三区| 国产精品影视在线| 成人av在线观| 日本丶国产丶欧美色综合| 色婷婷精品大视频在线蜜桃视频| 色婷婷综合五月| 欧美精品v日韩精品v韩国精品v| 欧美精品久久久久久久久老牛影院| 日韩欧美另类在线| 精品日本一线二线三线不卡| 久久精品人人做人人综合| 中文字幕av免费专区久久| 亚洲欧美激情视频在线观看一区二区三区| 亚洲图片欧美激情| 五月开心婷婷久久| 久久不见久久见中文字幕免费| 国产成人在线观看免费网站| 91在线观看免费视频| 欧美日本在线播放| 久久尤物电影视频在线观看| 综合av第一页| 美女视频黄频大全不卡视频在线播放| 国产成人亚洲精品狼色在线 | 欧美日韩aaaaa| 欧美mv日韩mv国产| 一色桃子久久精品亚洲| 婷婷中文字幕综合| 不卡视频在线看| 欧美一区日本一区韩国一区| 国产日产精品一区| 视频在线观看一区二区三区| 成人美女在线观看| 91精品国产乱码久久蜜臀| 国产精品无圣光一区二区| 午夜精品一区在线观看| 成人免费av网站| 日韩一级片网站| 亚洲激情六月丁香| 国产成人在线视频网站| 欧美一级理论片| 一区二区三区在线免费视频| 成人久久视频在线观看| 久久亚洲免费视频| 国产又粗又猛又爽又黄91精品| 制服丝袜中文字幕一区| 蜜桃视频在线观看一区二区| 精品美女一区二区| 久久精品久久99精品久久| 日韩欧美一二三区| 欧美精品 国产精品| 久久免费电影网| jizzjizzjizz欧美| 欧美日产国产精品| 色中色一区二区| 国产欧美日韩在线观看| 日韩av一二三| 91精品国产免费久久综合| 亚洲欧美日韩国产另类专区| 成人夜色视频网站在线观看| 亚洲视频香蕉人妖| 丰满岳乱妇一区二区三区 | 制服.丝袜.亚洲.另类.中文| 国产精品剧情在线亚洲| 国产精品996| 精品成人佐山爱一区二区| 五月综合激情日本mⅴ| 在线免费精品视频| 一区二区三区精密机械公司| 在线视频一区二区三区| 亚洲男人都懂的| 欧美性xxxxxxxx| 婷婷开心激情综合| 在线成人小视频| 蜜臀av性久久久久av蜜臀妖精| 337p亚洲精品色噜噜噜| 美女尤物国产一区| 久久综合一区二区| 国产成人在线观看免费网站| 国产精品视频线看| 99精品久久只有精品| 最新久久zyz资源站| 色哟哟精品一区| 午夜欧美在线一二页| 日韩午夜精品视频| 国产一区二区三区不卡在线观看| 国产日韩欧美制服另类| 成+人+亚洲+综合天堂| 亚洲日本一区二区| 欧美视频精品在线观看| 蜜桃视频一区二区三区在线观看| 久久久久久久久久久久电影 | 亚洲国产精品二十页| 99久久伊人精品| 五月综合激情婷婷六月色窝| 精品剧情在线观看| 99久久综合狠狠综合久久| 亚洲一区成人在线| 久久久亚洲国产美女国产盗摄 | 91超碰这里只有精品国产| 免费观看在线综合色| 国产日韩精品久久久| 在线观看免费亚洲| 国产一区二三区好的| 伊人婷婷欧美激情| 精品久久国产97色综合| 色综合天天狠狠| 国产精品一区二区你懂的| 亚洲一区二三区| 国产欧美一区二区在线| 欧美中文一区二区三区| 精品一区二区在线观看| 一区二区三区欧美日| 久久久美女艺术照精彩视频福利播放| 在线观看一区二区视频| 国产jizzjizz一区二区| 日韩精品91亚洲二区在线观看| 国产精品成人午夜| 91精品国产综合久久久久久| 一本色道综合亚洲| 国产精品正在播放| 日韩电影一区二区三区四区| 国产精品综合在线视频| 性感美女极品91精品| 国产精品你懂的在线欣赏| 日韩精品一区二区三区视频 | 日日噜噜夜夜狠狠视频欧美人| 中文字幕在线不卡| 精品国产亚洲一区二区三区在线观看| 欧美亚男人的天堂| 91免费国产在线| av亚洲精华国产精华| 国产成人精品亚洲午夜麻豆| 精品一区二区三区的国产在线播放 | 精品一区在线看| 日韩福利电影在线观看| 一区二区三区中文字幕| 国产精品午夜电影| 欧美国产日韩在线观看| 久久九九国产精品| 亚洲精品一区二区三区四区高清| 欧美一区二区三区人| 欧美电影在线免费观看| 精品视频1区2区3区| 欧美亚洲国产怡红院影院| 色哟哟精品一区| 欧美日韩一级视频| 欧美色图第一页| 欧美一区二区三区视频在线观看| 欧美精品v国产精品v日韩精品| 91精品国产91久久久久久一区二区| 欧美日韩一区二区三区不卡| 欧美日韩黄色影视| 7777精品久久久大香线蕉| 欧美精品精品一区| 欧美成人aa大片| 国产日韩三级在线| 中文字幕色av一区二区三区| 亚洲最色的网站| 五月天一区二区三区| 久久国产婷婷国产香蕉| 国产一区二区成人久久免费影院| 国产成人激情av| 色噜噜狠狠色综合欧洲selulu| 欧美日韩国产综合久久| 777午夜精品免费视频| 精品国产乱码久久久久久久久| 国产精品国产自产拍在线| 欧美日韩成人综合在线一区二区| 国产精品亚洲一区二区三区妖精| 国产成人免费在线观看| eeuss鲁片一区二区三区| 色久综合一二码| 制服视频三区第一页精品| 久久综合九色综合97婷婷女人| 国产精品五月天| 日韩在线a电影| 国产精品888| 欧美日韩电影一区| 久久综合成人精品亚洲另类欧美 | 亚洲三级在线播放| 天天综合天天综合色| 国内精品第一页| 91视频在线观看| 欧美成人乱码一区二区三区| 欧美国产精品中文字幕| 午夜电影一区二区三区| 国产成人av一区二区三区在线观看| 欧美系列一区二区| 中文字幕免费一区| 欧美a一区二区| 欧洲精品一区二区| 国产日韩欧美精品在线|