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

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

?? l51_bank.a51

?? A rtx51 tiny example program
?? A51
?? 第 1 頁 / 共 3 頁
字號:

                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_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
                ORL     A,#NOT ?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:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品123| 亚洲精品在线观| 亚洲午夜久久久久中文字幕久| 99国内精品久久| 伊人性伊人情综合网| 欧美美女喷水视频| 麻豆国产欧美日韩综合精品二区| 日韩免费高清电影| 国产成人免费视频网站| 亚洲欧美电影院| 欧美一区二区视频在线观看2022 | 色综合久久久久| 亚洲精品va在线观看| 欧美麻豆精品久久久久久| 开心九九激情九九欧美日韩精美视频电影 | 亚洲国产成人porn| 日韩午夜在线影院| 大尺度一区二区| 婷婷久久综合九色国产成人| 欧美一级欧美三级在线观看| 国产高清成人在线| 亚洲一区视频在线| 亚洲精品一线二线三线无人区| 99久久精品久久久久久清纯| 日韩av电影天堂| 国产精品免费观看视频| 欧美日韩一区二区欧美激情| 国内精品久久久久影院色| 洋洋成人永久网站入口| 欧美va日韩va| 欧美亚洲高清一区| 国产成人av一区| 日韩电影在线观看一区| 国产精品成人网| 欧美r级在线观看| 色老头久久综合| 国产美女在线观看一区| 亚洲高清中文字幕| 国产精品色噜噜| 日韩精品中午字幕| 欧美中文字幕一区二区三区| 国产剧情一区在线| 日本亚洲欧美天堂免费| 亚洲欧美日韩国产一区二区三区| 欧美成人艳星乳罩| 欧美午夜在线观看| 99热精品一区二区| 国产精品一区二区91| 五月激情综合网| 亚洲精品成人在线| 国产精品久久看| 久久综合色8888| 在线综合亚洲欧美在线视频| 色综合天天综合网国产成人综合天| 国产麻豆精品久久一二三| 亚洲va欧美va人人爽| 亚洲欧美偷拍卡通变态| 国产欧美视频一区二区| ww亚洲ww在线观看国产| 日韩欧美在线影院| 欧美美女网站色| 欧美视频一区二| 欧美视频中文字幕| 欧美性感一区二区三区| 色天天综合色天天久久| av一二三不卡影片| 成人av综合一区| 国产成人一区在线| 国产成人免费在线视频| 国产乱理伦片在线观看夜一区| 精品一区二区三区在线播放视频| 日韩国产在线观看| 免费一级片91| 蜜桃av一区二区| 久久成人麻豆午夜电影| 麻豆成人在线观看| 久久爱另类一区二区小说| 九九国产精品视频| 国产自产v一区二区三区c| 激情综合网av| 国产一区999| 波多野结衣中文字幕一区二区三区 | 国产欧美一区视频| 国产精品毛片久久久久久久| 国产精品美女一区二区| 国产精品国产三级国产aⅴ无密码| 国产精品嫩草久久久久| 亚洲视频免费在线观看| 亚洲精品欧美激情| 五月天欧美精品| 久久国产夜色精品鲁鲁99| 国产精品资源在线看| 不卡一区二区三区四区| 日本道免费精品一区二区三区| 欧美区一区二区三区| 日韩欧美在线网站| 久久久99精品免费观看| 国产精品嫩草影院av蜜臀| 一区二区三区精品| 日韩电影一区二区三区四区| 蜜桃视频在线观看一区| 国产精品18久久久| 91免费视频观看| 欧美一区二区成人6969| 久久久久久夜精品精品免费| 亚洲欧洲综合另类| 欧美bbbbb| 不卡的av电影| 91麻豆精品国产无毒不卡在线观看 | 麻豆91小视频| 丁香网亚洲国际| 欧美日韩精品欧美日韩精品一 | 国产一区二区精品久久91| eeuss鲁片一区二区三区 | 色香蕉成人二区免费| 91精品国产综合久久久蜜臀粉嫩| 久久久久久亚洲综合| 亚洲一线二线三线视频| 国产真实乱对白精彩久久| 一本久久综合亚洲鲁鲁五月天| 日韩一区二区在线观看视频 | 午夜免费欧美电影| 国产成人av一区| 56国语精品自产拍在线观看| 久久精品日韩一区二区三区| 亚洲va韩国va欧美va| 成人免费视频一区二区| 欧美电影免费观看高清完整版在 | 日本一区二区成人| 日韩高清不卡一区二区| jvid福利写真一区二区三区| 91精品国产品国语在线不卡| 亚洲欧洲99久久| 久久黄色级2电影| 欧美另类一区二区三区| 亚洲图片你懂的| 国产精品1区2区| 日韩欧美精品三级| 亚洲高清免费视频| 91老师国产黑色丝袜在线| xnxx国产精品| 久久精品国产成人一区二区三区| 在线视频一区二区免费| 国产精品传媒在线| 国产一区在线看| 欧美电视剧在线看免费| 亚洲妇熟xx妇色黄| 在线影院国内精品| 最新欧美精品一区二区三区| 国产乱子轮精品视频| 欧美本精品男人aⅴ天堂| 日韩国产欧美在线视频| 欧美精品久久99久久在免费线| 亚洲免费在线看| 91视频免费观看| 亚洲三级免费电影| 成人av电影在线播放| 国产精品久久久久一区二区三区| 国模套图日韩精品一区二区| 日韩精品一区二区三区中文精品| 日本伊人色综合网| 欧美一区二区在线不卡| 日本中文一区二区三区| 69堂精品视频| 视频一区视频二区中文| 91.麻豆视频| 喷水一区二区三区| 精品乱人伦小说| 国产乱妇无码大片在线观看| 久久女同精品一区二区| 国产乱理伦片在线观看夜一区| 久久综合狠狠综合久久激情| 国产一区二区精品久久91| 久久精品日产第一区二区三区高清版| 国产剧情一区二区三区| 国产人成亚洲第一网站在线播放 | 91香蕉视频污在线| 亚洲欧美另类综合偷拍| 欧美性色黄大片| 美女一区二区久久| 精品91自产拍在线观看一区| 国产麻豆成人精品| 亚洲欧美一区二区三区极速播放| 欧美性一二三区| 视频一区在线视频| 久久精品一区二区三区四区| 成人免费毛片嘿嘿连载视频| 亚洲欧美激情小说另类| 欧美日韩久久不卡| 国产乱色国产精品免费视频| 中文字幕一区二区5566日韩| 欧美天堂一区二区三区| 麻豆国产欧美日韩综合精品二区| 久久精子c满五个校花| 色综合网色综合| 另类人妖一区二区av| 国产精品国产三级国产普通话蜜臀| 欧美色中文字幕| 国产揄拍国内精品对白| 亚洲免费观看高清完整版在线 |