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

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

?? l51_bank.a51

?? Keil uVision2
?? A51
?? 第 1 頁 / 共 3 頁
字號:
  IF ?B_RTX = 0 AND ?B_NBANKS > 32

    SWITCHBNK:  XCH     A,R0
                ORL     ?B_CURRENTBANK, #?B_MASK
                ANL     ?B_CURRENTBANK, A
                MOV     A,R0
                RET

  ELSEIF ?B_RTX = 1

    SWITCHBNK:  XCH     A,R0
    SWITCHBNK2: JBC     EA,SWITCHBNK_EA1
                ORL     ?B_CURRENTBANK, #?B_MASK
                ANL     ?B_CURRENTBANK, A
                MOV     A,R0
                RET

    SWITCHBNK_EA1:                     ; interrupts where enabled
                ORL     ?B_CURRENTBANK, #?B_MASK
                ANL     ?B_CURRENTBANK, A
                MOV     A,R0
                SETB    EA             ; enable interrupts again
                RET

    ?B_RESTORE_BANK:                   ; entry for RTX-51 bank restore
                ANL     A,#?B_MASK
                SJMP    SWITCHBNK2

  ENDIF


ENDIF  ; close block IF ?B_MODE = 0 *******************************************


IF ?B_MODE = 1 ;***************************************************************

?B_FACTOR       EQU     1 SHL ?B_FIRSTBIT

?B_MASK         EQU     MASK SHL ?B_FIRSTBIT

BANKN           MACRO   N
BANK&N           EQU     N SHL ?B_FIRSTBIT
                ENDM

CNT             SET     0

                REPT    ?B_NBANKS
                BANKN   %CNT
CNT             SET     CNT+1
                ENDM


?C_INITSEG      SEGMENT   CODE          ; Segment for Variable Initialization
                RSEG    ?C_INITSEG
                DB      01H             ; IData
                DB      ?B_CURRENTBANK  ; Init Current Bank
                DB      0               ; Set to Zero
                DB      41H             ; XData
                DW      ?B_XDATAPORT    ; Init XDATA Port
                DB      0               ; Set to Zero

                PUBLIC  ?B_XDATAPORT

?BANK?DATA      SEGMENT DATA
                RSEG    ?BANK?DATA
?B_CURRENTBANK: DS      1


IF ?B_NBANKS > 16
  ; Convert Bank No in Accu to Address * 4

  IF  ?B_FIRSTBIT = 0
  CONVBANKNO    MACRO
                RL      A
                RL      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 1
  CONVBANKNO    MACRO
                RL      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 2
  CONVBANKNO    MACRO
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 3
  CONVBANKNO    MACRO
                RR      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 4
  CONVBANKNO    MACRO
                RR      A
                RR      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 5
  CONVBANKNO    MACRO
                SWAP    A
                RL      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 6
  CONVBANKNO    MACRO
                SWAP    A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 7
  CONVBANKNO    MACRO
                SWAP    A
                RR      A
                ENDM
  ENDIF

  ; Macro code to select the 'N'
  SWITCH        MACRO   N
                ORG     N * 4
                PUBLIC  ?B_SWITCH&N
  ?B_SWITCH&N:
                MOV     R0,#BANK&N 
  IF ?B_NBANKS > 32
    IF (N < 32) 
                SJMP    SWITCHBNK_H
    ELSEIF (N = 32)
      SWITCHBNK_H:
                SJMP    SWITCHBNK
    ELSEIF (N <> ?B_NBANKS-1)
                SJMP    SWITCHBNK
    ENDIF
  ELSE
    IF N <> (?B_NBANKS-1)
                SJMP    SWITCHBNK
    ENDIF
  ENDIF
                ENDM
ENDIF


IF ?B_NBANKS <= 16
  ; Convert Bank No in Accu to Address * 16
  IF  ?B_FIRSTBIT = 0
  CONVBANKNO    MACRO
                SWAP    A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 1
  CONVBANKNO    MACRO
                SWAP    A
                RR      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 2
  CONVBANKNO    MACRO
                RL      A
                RL      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 3
  CONVBANKNO    MACRO
                RL      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 4
  CONVBANKNO    MACRO
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 5
  CONVBANKNO    MACRO
                RR      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 6
  CONVBANKNO    MACRO
                RR      A
                RR      A
                ENDM
  ENDIF

  IF  ?B_FIRSTBIT = 7
  CONVBANKNO    MACRO
                SWAP    A
                RL      A
                ENDM
  ENDIF

  SWITCH        MACRO   N
                ORG     N * 16
                PUBLIC  ?B_SWITCH&N
  ?B_SWITCH&N:
                MOV     R0,A
                MOV     A,#BANK&N
                MOV     DPTR,#?B_XDATAPORT
                MOV     ?B_CURRENTBANK,A
                MOVX    @DPTR,A
                MOV     A,R0
                RET
                ENDM
  
ENDIF


SELECT          MACRO   N
LOCAL           XLABEL, YLABEL

                PUBLIC  ?B_BANK&N
?B_BANK&N:      
                MOV     A,?B_CURRENTBANK
                ANL     A,#?B_MASK
                CONVBANKNO         ; Convert Bank Number to Address
                PUSH    ACC
                MOV     A,#HIGH ?BANK?SWITCH
                PUSH    ACC
                PUSH    DPL
                PUSH    DPH
                LJMP    ?B_SWITCH&N

                ENDM


?BANK?SELECT    SEGMENT  CODE

                RSEG    ?BANK?SELECT
CNT             SET     0

                REPT    ?B_NBANKS
                SELECT  %CNT
CNT             SET     CNT+1

                ENDM



?BANK?SWITCH    SEGMENT  CODE  PAGE

                RSEG    ?BANK?SWITCH
CNT             SET     0

                REPT    ?B_NBANKS
                SWITCH  %CNT

CNT             SET     CNT+1
                ENDM

  IF ?B_NBANKS > 16
    SWITCHBNK:  XCH     A,R0
                MOV     DPTR,#?B_XDATAPORT
                MOV     ?B_CURRENTBANK,A
                MOVX    @DPTR,A
                MOV     A,R0
                RET
  ENDIF

  IF (?B_RTX = 1 OR ?B_VAR_BANKING = 1)
    ?B_RESTORE_BANK:                   ; entry for RTX-51/XBANKING bank restore
                MOV     DPTR,#?B_XDATAPORT
                MOV     ?B_CURRENTBANK,A
                MOVX    @DPTR,A
                RET
  ENDIF

ENDIF  ; close block IF ?B_MODE = 1 *******************************************


IF  ?B_MODE = 4 ;**************************************************************

?B_FACTOR       EQU     0               ; Dummy Declarations
?B_FIRSTBIT     EQU     0
?B_MASK         EQU     MASK

?BANK?SELECT    SEGMENT CODE
?BANK?DATA      SEGMENT DATA
                RSEG    ?BANK?DATA
?B_CURRENTBANK: DS      1

BANK            MACRO   N
                PUBLIC  ?B_BANK&N
?B_BANK&N:
                PUSH    ?B_CURRENTBANK
                MOV     A,#HIGH ?BANK?SWITCH
                PUSH    ACC
                PUSH    DPL
                PUSH    DPH
                ENDM

SWITCH          MACRO   N
                PUBLIC  ?B_SWITCH&N
  IF (LONG_MACRO = 1)
    ?B_SWITCHJ&N:
  ELSE
    ?B_SWITCH&N:
  ENDIF
                MOV     ?B_CURRENTBANK,#LOW ?B_SWITCH&N
                SWITCH&N
                RET
                ENDM

  IF (LONG_MACRO = 1)
    SWITCHJ     MACRO   N
    ?B_SWITCH&N:
                JMP     ?B_SWITCHJ&N
                ENDM
  ENDIF

?BANK?SWITCH    SEGMENT CODE PAGE

                RSEG    ?BANK?SWITCH
B_SWITCH_START  EQU     $

  IF (LONG_MACRO = 1)
    ; Generate ?B_SWITCHn jmp table entries
    CNT         SET     0

                REPT    ?B_NBANKS
                SWITCHJ %CNT
    CNT         SET     CNT+1
                ENDM
  ENDIF


; Generate ?B_SWITCHn functions
CNT             SET     0

                REPT    ?B_NBANKS
                BANK    %CNT
                SWITCH  %CNT
CNT             SET     CNT+1
                ENDM

B_SWITCH_SIZE   EQU     $-B_SWITCH_START

  IF (LONG_MACRO = 0) AND (B_SWITCH_SIZE > 256)
    __ERROR__ "BANK SWITCH CODE BIGGER THAN 256 BYTES, SET LONG_MACRO TO 1"
  ENDIF

ENDIF  ; close block IF ?B_MODE = 4 *******************************************

                RSEG    ?BANK?SELECT

;************************  SWITCHBANK FUNCTION  *******************************
;                                                                             *
; SWITCHBANK allows use of bank-switching for C programs                      *
;                                                                             *
; prototype:   extern switchbank (unsigned char bank_number);                 *
;                                                                             *
;******************************************************************************
                PUBLIC  _SWITCHBANK, ?B_SWITCHBANK_A

_SWITCHBANK:    MOV     A,R7

IF  ?B_MODE = 0 ;**************************************************************

?B_SWITCHBANK_A:
IF ?B_NBANKS > 32 OR ?B_RTX = 1
                RL      A
                RL      A
ENDIF

IF ?B_NBANKS <= 16 AND ?B_RTX = 0
                SWAP    A
                RR      A
ENDIF
                MOV     DPTR,#?BANK?SWITCH
                JMP     @A+DPTR

ENDIF  ; close block IF ?B_MODE = 0 *******************************************

IF ?B_MODE = 1 ;***************************************************************

?B_SWITCHBANK_A:
IF ?B_NBANKS > 16
                RL      A
                RL      A
ENDIF

IF ?B_NBANKS <= 16
                SWAP    A
ENDIF
                MOV     DPTR,#?BANK?SWITCH
                JMP     @A+DPTR

ENDIF  ; close block IF ?B_MODE = 1 *******************************************

IF  ?B_MODE = 4 ;**************************************************************

IF (?B_VAR_BANKING = 1)
                SJMP    ?B_SWITCHBANK_A
SELECT_BANK_R3:
                MOV     A,R3
                DEC     A
                ANL     A,#3FH
ENDIF

?B_SWITCHBANK_A:
                MOV	DPTR,#switch_tab
                MOVC    A,@A+DPTR
?B_RESTORE_BANK:                       ; entry for RTX-51/XBANKING bank restore
                MOV     DPTR,#?BANK?SWITCH
                JMP     @A+DPTR

S_ENTRY         MACRO   N
                DB      LOW ?B_SWITCH&N
                ENDM

switch_tab:     
CNT             SET     0

                REPT    ?B_NBANKS
                S_ENTRY %CNT

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧在线观看完整版| 日韩不卡在线观看日韩不卡视频| 高清视频一区二区| 色哟哟国产精品| 久久精品视频一区二区三区| 一区二区三区四区五区视频在线观看 | 亚洲卡通欧美制服中文| 九九**精品视频免费播放| 色婷婷综合久久久| 国产日产亚洲精品系列| 久久精品国产网站| 欧美日韩久久不卡| 亚洲国产一区二区视频| gogo大胆日本视频一区| 国产校园另类小说区| 蜜臀va亚洲va欧美va天堂| 欧美日韩精品系列| 亚洲一区在线视频观看| 一本大道久久a久久综合| 中文字幕欧美区| 粉嫩13p一区二区三区| 2020日本不卡一区二区视频| 免费在线观看精品| 日韩一级欧美一级| 人妖欧美一区二区| 91精品在线观看入口| 天堂成人国产精品一区| 欧美日韩亚洲综合一区二区三区| 一区二区在线电影| 色婷婷综合视频在线观看| 亚洲天堂免费在线观看视频| www.欧美精品一二区| 成人欧美一区二区三区小说| 99久久久免费精品国产一区二区| 国产精品日日摸夜夜摸av| 成人免费观看av| 亚洲人午夜精品天堂一二香蕉| 丰满亚洲少妇av| 综合av第一页| 欧美日韩亚洲综合| 日本va欧美va欧美va精品| 欧美成人女星排名| 国产精品一区二区果冻传媒| 国产午夜精品久久| 91日韩精品一区| 午夜欧美电影在线观看| 91精品国产麻豆国产自产在线 | 777午夜精品免费视频| 奇米精品一区二区三区在线观看一 | 国产一区欧美二区| 国产精品视频一二三| 一本大道av伊人久久综合| 亚洲在线视频一区| 欧美高清一级片在线| 国产麻豆午夜三级精品| 国产精品毛片无遮挡高清| 在线观看av不卡| 免费精品99久久国产综合精品| 精品99一区二区三区| aaa欧美大片| 日韩国产欧美三级| 欧美国产一区视频在线观看| 在线看不卡av| 国内精品不卡在线| 一区二区三区电影在线播| 4hu四虎永久在线影院成人| 国产成人午夜片在线观看高清观看| 亚洲天堂精品在线观看| 日韩一级二级三级精品视频| av电影天堂一区二区在线观看| 亚洲一区二区精品3399| 精品国产精品网麻豆系列| 91丨porny丨中文| 人妖欧美一区二区| 一区二区三区在线观看欧美| 精品久久久三级丝袜| 色香蕉久久蜜桃| 国产精品系列在线播放| 天天综合日日夜夜精品| 国产精品久久久久aaaa樱花| 亚洲激情自拍视频| 精品成人一区二区| 欧美视频中文字幕| 成人性生交大片免费看中文| 天堂影院一区二区| 亚洲激情欧美激情| 国产精品黄色在线观看| 日韩一区二区三区在线观看| 色先锋aa成人| 99久久精品免费| 丁香婷婷深情五月亚洲| 美腿丝袜在线亚洲一区| 亚洲h动漫在线| 自拍偷拍欧美精品| 国产亚洲欧美色| 欧美tickling网站挠脚心| 欧美日精品一区视频| 91在线一区二区三区| 国产精品99久久久久久久vr| 久久成人羞羞网站| 毛片av中文字幕一区二区| 亚洲18色成人| 午夜伊人狠狠久久| 亚洲一区视频在线观看视频| 亚洲日本在线视频观看| 国产精品久久久久久久久动漫| 国产偷国产偷精品高清尤物 | 免费精品99久久国产综合精品| 亚洲人成人一区二区在线观看| 中文字幕乱码久久午夜不卡 | 成人av集中营| 国产成人av一区二区三区在线观看| 六月丁香婷婷色狠狠久久| 日韩成人av影视| 美女视频一区二区三区| 久久99热99| 韩国成人福利片在线播放| 国产乱码精品一区二区三区av| 国产精品一区二区黑丝| 福利91精品一区二区三区| 国产成人综合自拍| 99久久久国产精品免费蜜臀| 97久久精品人人做人人爽50路| caoporen国产精品视频| 色综合久久综合中文综合网| 欧美在线综合视频| 欧美伦理电影网| 久久综合九色综合欧美98| 久久婷婷综合激情| 亚洲国产精品av| 亚洲乱码国产乱码精品精的特点 | 欧美日韩国产天堂| 日韩视频永久免费| 久久久久国产精品麻豆ai换脸| 国产女主播在线一区二区| 日本一区二区在线不卡| ...中文天堂在线一区| 亚洲国产精品久久人人爱蜜臀| 日本亚洲免费观看| 国产精品88av| 欧美午夜电影在线播放| 91精品国产免费| 国产精品三级视频| 午夜欧美一区二区三区在线播放| 黄一区二区三区| 91麻豆免费视频| 日韩一区二区三区观看| 国产精品久久久久毛片软件| 亚洲国产视频a| 国产精品一级二级三级| 欧美色图在线观看| 久久色.com| 亚洲一二三四久久| 精一区二区三区| 色狠狠桃花综合| 精品久久久三级丝袜| 亚洲制服丝袜av| 国产91精品一区二区麻豆网站 | 在线看一区二区| 久久综合九色综合欧美就去吻| 中文字幕一区在线| 另类专区欧美蜜桃臀第一页| 91免费观看视频在线| 日韩久久久久久| 亚洲国产日韩一区二区| 国产精品白丝jk白祙喷水网站| 欧美影视一区在线| 国产视频一区二区在线观看| 三级不卡在线观看| 99re热这里只有精品视频| 日韩精品一区二区三区在线| 亚洲欧美视频一区| 高清视频一区二区| 欧美成人a视频| 亚洲一区二区精品久久av| 成人免费视频播放| 26uuu亚洲综合色| 美腿丝袜亚洲三区| 欧美日韩国产首页在线观看| 日韩伦理免费电影| 丁香六月久久综合狠狠色| 精品入口麻豆88视频| 无码av免费一区二区三区试看 | 一区二区三区视频在线观看| 国产成人在线电影| 久久久久久黄色| 久久疯狂做爰流白浆xx| 4hu四虎永久在线影院成人| 亚洲一区二区三区小说| 97aⅴ精品视频一二三区| 国产精品久久久久久久久图文区 | 天天操天天干天天综合网| 色88888久久久久久影院野外 | 精品国产一区二区三区四区四 | 日韩午夜av一区| 日韩精品成人一区二区在线| 欧美日韩精品欧美日韩精品| 亚洲一区二区欧美| 538prom精品视频线放| 日韩精品一级中文字幕精品视频免费观看|