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

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

?? l51_bank.a51

?? Far Memory Support is only available in the PK51 package. If you have an CA51, DK51, or Evaluation
?? 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一区二区三区免费野_久草精品视频
精品国产91亚洲一区二区三区婷婷| 国产高清成人在线| 99re成人精品视频| 精品久久久久久久久久久院品网| 中文字幕国产一区二区| 日韩激情一区二区| 日本久久电影网| 亚洲欧美区自拍先锋| 国产成人av电影在线| 久久久久久久久久久黄色| 亚洲午夜三级在线| 在线亚洲人成电影网站色www| 久久久不卡影院| 国内精品不卡在线| 精品成人a区在线观看| 麻豆成人av在线| 精品乱码亚洲一区二区不卡| 蜜臀久久久99精品久久久久久| 欧美老肥妇做.爰bbww| 日韩精品亚洲一区| 欧美一区二区视频免费观看| 日本视频一区二区| 日韩女优视频免费观看| 精品中文av资源站在线观看| xf在线a精品一区二区视频网站| 激情小说亚洲一区| 日本一区二区三级电影在线观看| 懂色av一区二区三区免费看| 日韩美女视频19| 欧美视频你懂的| 美女性感视频久久| 国产性色一区二区| 色综合久久88色综合天天| 亚洲一区在线观看网站| 欧美日韩黄色一区二区| 激情综合色播五月| 国产精品久久看| 欧美日韩精品二区第二页| 精品一区二区三区免费播放| 国产精品区一区二区三| 欧美日韩国产高清一区| 精品一区二区在线看| 亚洲欧美另类久久久精品 | 欧美一区二区三区视频免费播放| 久久电影网站中文字幕 | 久久精品国产第一区二区三区| 欧美大胆一级视频| 99国产精品国产精品久久| 三级亚洲高清视频| 亚洲欧洲另类国产综合| 精品国产一区二区三区久久久蜜月| 成人永久aaa| 免费观看在线综合色| 亚洲男帅同性gay1069| 久久久久国产一区二区三区四区| 在线观看欧美精品| av一二三不卡影片| 国产精品综合在线视频| 日本中文字幕一区二区视频 | 丁香激情综合国产| 久久www免费人成看片高清| 亚洲成人免费在线| 亚洲狼人国产精品| 中文字幕亚洲在| 国产精品久久99| 久久精品一区八戒影视| 91精品国产手机| 欧美一区二区三区男人的天堂| 97精品视频在线观看自产线路二| 国产在线视频不卡二| 精品一区二区三区在线观看国产| 五月婷婷色综合| 日韩精品亚洲专区| 美女视频一区在线观看| 热久久国产精品| 日韩中文字幕不卡| 久久精品国产精品青草| 免费的国产精品| 激情小说亚洲一区| 国产91精品免费| 97久久精品人人澡人人爽| 一本色道久久综合亚洲aⅴ蜜桃| 97久久久精品综合88久久| 91丨九色丨黑人外教| 91成人在线精品| 欧美日韩大陆在线| 欧美一区永久视频免费观看| 欧美精品 日韩| 国产亚洲精品精华液| 亚洲人成在线播放网站岛国 | a美女胸又www黄视频久久| 色一情一乱一乱一91av| 91精品国产欧美日韩| 精品国产乱码久久久久久老虎 | 久久99精品一区二区三区三区| 国产在线不卡视频| 色哟哟日韩精品| 精品美女一区二区| 亚洲美女区一区| 精品在线免费观看| 在线免费观看不卡av| 日韩精品一区二区三区四区| 国产精品久久久久久久久免费相片| 亚洲主播在线播放| 国产精品资源网站| 欧美巨大另类极品videosbest | 亚洲国产精品一区二区久久恐怖片| 日韩中文字幕不卡| 99riav一区二区三区| 日韩欧美一级二级| 亚洲色图欧美激情| 国产麻豆9l精品三级站| 欧美日韩高清一区二区| 日韩一区在线免费观看| 国产一区二区日韩精品| 欧美喷水一区二区| 亚洲激情图片小说视频| 国产精品亚洲第一| 精品日韩欧美一区二区| 亚洲成人资源网| 91精品福利视频| 国产精品高潮久久久久无| 国产精品一二三四区| 欧美mv日韩mv| 美女国产一区二区| 欧美一区二区精品在线| 亚洲尤物视频在线| 欧美性猛交一区二区三区精品| 国产精品国产精品国产专区不蜜| 国产在线视频精品一区| 久久久噜噜噜久噜久久综合| 日韩黄色一级片| 日韩欧美你懂的| 精品一区二区在线看| 欧美精品一区二区在线播放| 久久se精品一区二区| 久久综合色天天久久综合图片| 韩国女主播成人在线观看| 久久久久久黄色| 99久久婷婷国产综合精品| 亚洲欧美另类在线| 欧美日免费三级在线| 美女www一区二区| 久久久欧美精品sm网站| 97久久精品人人澡人人爽| 亚洲欧美经典视频| 日韩一区二区三区高清免费看看| 久久电影网站中文字幕| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品久久久久影院| 91国产免费看| 麻豆高清免费国产一区| 国产精品久久久久9999吃药| 欧美亚洲国产一区二区三区va| 日韩不卡免费视频| 中文字幕在线观看一区二区| 91黄色免费版| 国内外成人在线视频| 亚洲精品美腿丝袜| 久久久综合精品| 欧美三级电影在线看| 国产91精品精华液一区二区三区| 亚洲视频小说图片| 久久网站热最新地址| 欧美性xxxxxx少妇| 国产99久久久久久免费看农村| 亚洲国产美国国产综合一区二区| 久久夜色精品一区| 欧美精品xxxxbbbb| 不卡av免费在线观看| 极品少妇xxxx精品少妇| 一级女性全黄久久生活片免费| 久久免费精品国产久精品久久久久| 欧美亚洲综合色| hitomi一区二区三区精品| 精品一区二区免费| 日韩影院在线观看| 亚洲高清免费在线| 中文字幕中文乱码欧美一区二区| 在线观看亚洲一区| 午夜av电影一区| 日韩亚洲欧美在线| a在线欧美一区| 5566中文字幕一区二区电影| 日韩国产欧美在线播放| 亚洲理论在线观看| 日韩欧美国产一区在线观看| 亚洲成人精品影院| 亚洲欧洲www| 免费高清在线一区| 婷婷国产v国产偷v亚洲高清| 亚洲免费观看视频| 一区二区三区在线观看国产| 综合电影一区二区三区 | 亚洲女人的天堂| 亚洲视频免费看| 亚洲无线码一区二区三区| 亚洲一二三四在线观看| 香蕉乱码成人久久天堂爱免费| 亚洲成人动漫av|