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

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

?? isd51.a51

?? TI MSC1210 的AD4中斷處理程序!非常經典! 不可不看!
?? A51
?? 第 1 頁 / 共 2 頁
字號:
$NOMOD51    
;------------------------------------------------------------------------------
;  ISD51  In-System Debugger for 8051 based microcontrollers
;  Copyright KEIL ELEKTRONIK GmbH and Keil Software, Inc. 2000 - 2005
;  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一区二区三区免费野_久草精品视频
午夜视频在线观看一区二区| 97久久超碰国产精品电影| 免费成人美女在线观看| 91精品国产福利| 国产在线不卡一卡二卡三卡四卡| 国产视频一区二区在线| 99精品国产99久久久久久白柏| 一区二区三区中文在线| 欧美一区二区三区在线视频| 国产精品一二三四五| 日韩美女视频一区二区 | 99久久久国产精品免费蜜臀| 一区二区三区免费看视频| 欧美日本一区二区| 国产乱理伦片在线观看夜一区| 国产精品国产三级国产aⅴ原创 | 欧美一区二区三区视频在线观看| 韩国女主播一区| 亚洲色图视频网| 日韩一区二区在线观看视频播放| 国产福利精品导航| 亚洲图片欧美视频| 2023国产精华国产精品| 91网上在线视频| 美女国产一区二区| 国产精品二三区| 欧美一级久久久| 成人黄色软件下载| 日产欧产美韩系列久久99| 国产精品网站在线| 欧美精品在欧美一区二区少妇| 精品一区二区免费看| 自拍偷自拍亚洲精品播放| 欧美一级xxx| 91色在线porny| 久久国产福利国产秒拍| 亚洲欧美国产毛片在线| 精品99一区二区| 在线免费观看成人短视频| 国产一区二区在线观看免费| 亚洲一区二区三区在线播放| 久久久www免费人成精品| 欧美主播一区二区三区| 国产乱淫av一区二区三区 | 国产乱码精品一区二区三区五月婷| 亚洲欧美色一区| 午夜精品久久久久久| 国产日韩v精品一区二区| 欧美精品一级二级三级| 不卡一区二区三区四区| 久久99精品久久久久久国产越南| 一区二区三区中文字幕| 国产日韩视频一区二区三区| 欧美精品v国产精品v日韩精品 | 成人综合在线观看| 日本网站在线观看一区二区三区| 亚洲欧洲日韩av| 久久久国际精品| 91超碰这里只有精品国产| 97精品视频在线观看自产线路二| 久久精品国产99国产精品| 亚洲午夜精品在线| 日韩理论在线观看| 2023国产精品视频| 日韩写真欧美这视频| 在线中文字幕不卡| www.久久精品| 国产成人高清视频| 捆绑调教一区二区三区| 午夜精品福利在线| 一区二区视频在线| 国产精品久久久久久久久晋中 | 欧美在线播放高清精品| 成人免费高清在线| 国产伦精品一区二区三区免费迷| 日本不卡中文字幕| 亚洲国产精品一区二区www| 日韩理论在线观看| 中文字幕国产一区二区| 久久日韩精品一区二区五区| 欧美一级艳片视频免费观看| 欧美日韩国产在线播放网站| 日本韩国精品一区二区在线观看| 成人国产精品免费网站| 高清不卡在线观看av| 国产乱色国产精品免费视频| 久久爱另类一区二区小说| 日本美女一区二区三区视频| 丝袜诱惑亚洲看片 | 91丨九色丨蝌蚪富婆spa| 丁香天五香天堂综合| 国产高清久久久| 国产一区二区三区精品视频| 久久超级碰视频| 精品综合久久久久久8888| 美女免费视频一区二区| 蜜桃视频免费观看一区| 免费日韩伦理电影| 久久精品免费看| 久久99精品国产91久久来源| 九九热在线视频观看这里只有精品| 视频一区二区中文字幕| 视频一区国产视频| 日本不卡高清视频| 麻豆视频一区二区| 黑人巨大精品欧美一区| 国产一区二区福利| 高清不卡在线观看| 9i看片成人免费高清| 色又黄又爽网站www久久| 日本精品免费观看高清观看| 欧美视频一二三区| 欧美精品粉嫩高潮一区二区| 欧美一级二级三级乱码| 精品国产免费久久| 久久久久久毛片| 国产精品全国免费观看高清| 中文字幕亚洲综合久久菠萝蜜| 日韩美女视频一区| 亚洲二区视频在线| 蜜臀av国产精品久久久久| 国产资源在线一区| 成人晚上爱看视频| 色哟哟日韩精品| 6080国产精品一区二区| 欧美成人a∨高清免费观看| 久久精品视频一区二区三区| 中文字幕免费不卡在线| 亚洲免费av高清| 日韩精品免费专区| 国产在线一区二区| 99久久精品国产精品久久 | 色香蕉成人二区免费| 欧美日韩大陆在线| 精品国产乱码久久久久久久| 中文字幕欧美激情一区| 一区二区三区日本| 免费久久99精品国产| 国产成人三级在线观看| 91国在线观看| 精品日韩一区二区| 国产精品久久二区二区| 亚洲成人黄色影院| 精品一区二区三区欧美| 91丨porny丨最新| 亚洲国产视频一区二区| 毛片av中文字幕一区二区| 岛国精品在线播放| 欧美天堂一区二区三区| 精品国产亚洲在线| 亚洲欧美另类小说| 麻豆精品蜜桃视频网站| 99精品热视频| 日韩一级精品视频在线观看| 国产精品久久精品日日| 日本成人在线一区| 不卡电影免费在线播放一区| 欧美精品亚洲二区| 欧美国产欧美综合| 日韩精品午夜视频| 成人福利视频在线| 日韩一级高清毛片| 亚洲人成人一区二区在线观看| 奇米精品一区二区三区在线观看一| 成人午夜大片免费观看| 91精品蜜臀在线一区尤物| 国产精品理论在线观看| 免费一级欧美片在线观看| 99久久精品国产一区二区三区| 日韩欧美的一区二区| 亚洲欧美偷拍卡通变态| 激情深爱一区二区| 在线区一区二视频| 国产三级三级三级精品8ⅰ区| 亚洲一区二区三区四区在线观看 | 日本精品免费观看高清观看| 精品国产乱码久久| 亚洲国产精品久久久久秋霞影院| 成人一区在线观看| 日韩欧美国产一二三区| 一区二区在线观看免费视频播放| 国产在线一区二区| 337p亚洲精品色噜噜狠狠| 亚洲丝袜自拍清纯另类| 国产乱人伦偷精品视频不卡| 51精品视频一区二区三区| 亚洲色图.com| 福利电影一区二区| 日韩欧美色电影| 午夜激情久久久| 色综合久久中文综合久久97| 久久精品男人天堂av| 美日韩一级片在线观看| 欧美亚洲自拍偷拍| 亚洲同性gay激情无套| 国产精品一二三| 日韩精品一区二区三区中文不卡| 亚洲国产欧美日韩另类综合| 91在线视频播放地址| 国产婷婷色一区二区三区|