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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xbanking.a51

?? Far Memory Support is only available in the PK51 package. If you have an CA51, DK51, or Evaluation
?? A51
字號:
$NOMOD51 NOLINES
$NOCOND
;------------------------------------------------------------------------------
;  This file is part of the LX51 Extended Linker/Locater package
;  Copyright (c) 2000 - 2001 Keil Elektronik GmbH and Keil Software, Inc.
;  Version 1.04, Variable Banking: 'far' & 'far const' C51 memory type support
;------------------------------------------------------------------------------
;
;************************ Configuration Section *******************************
;                                                                             *
; If the CPU provides an extended DPTR register for addressing HDATA, the     *
; following settings must be defined:                                         *
?C?XPAGE1SFR  DATA  084H  ; SFR Address of XPAGE1 register (DPP register)     *
?C?XPAGE1RST  EQU   0     ; XPAGE1 register value to address X:0 region       *
;                                                                             *
; The C51 Compiler must be used with the VARBANKING directive.  If your       *
; application accesses XDATA memory in interrupts, VARBANKING(1) must be      *
; applied.  With VARBANING(1) the C51 compiler saves the ?C?XPAGE1SFR and     *
; sets this register to the ?C?XPAGE1RST value.                               *
;                                                                             *
;-----------------------------------------------------------------------------*
;
;******************************************************************************
;                                                                             *
; THEORY OF OPERATION                                                         *
; -------------------                                                         *
; This section describes how the extended LX51 linker/locater manages the     *
; extended address spaces that are addressed with the new C51 memory types    *
; 'far' and 'far const'.  The C51 Compiler uses 3 byte pointer generic        *
; pointer to access these memory areas.  'far' variables are placed in the    *
; memory class HDATA and 'far const' variables get the memory class 'HCONST'. *
; The LX51 linker/locater allows you to locate these memory classes in the    *
; logical 16 MBYTE CODE or 16 MBYTE XDATA spaces.                             *
;                                                                             *
; The memory access itself is performed via eight different subroutines that  *
; can be configured in this assembler module.  These routines are:            *
;    ?C?CLDXPTR, ?C?CSTXPTR  ; load/store BYTE (char)  in extended memory     *
;    ?C?ILDXPTR, ?C?ISTXPTR  ; load/store WORD (int)   in extended memory     *
;    ?C?PLDXPTR, ?C?PSTXPTR  ; load/store 3-BYTE PTR   in extended memory     *
;    ?C?LLDXPTR, ?C?LSTXPTR  ; load/store DWORD (long) in extended memory     *
;                                                                             *
; Each function gets as a parameter the memory address with 3 BYTE POINTER    *
; representation in the CPU registers R1/R2/R3.  The register R3 holds the    *
; memory type.  The C51 compiler uses the following memory types:             *
;                                                                             *
; R3 Value | Memory Type | Memory Class | Address Range                       *
; -----------------------+--------------+--------------------------           *
;    00    | data/idata  | DATA/IDATA   | I:0x00     .. I:0xFF                *
;    01    | xdata       | XDATA        | X:0x0000   .. X:0xFFFF              *
;  02..7F  | far         | HDATA        | X:0x010000 .. X:0x7E0000            *
;  81..FD  | far const   | HCONST       | C:0x800000 .. C:0xFC0000 (see note) *
;    FE    | pdata       | XDATA        | one 256-byte page in XDATA memory   *
;    FF    | code        | CODE         | C:0x0000   .. C:0xFFFF              *
;                                                                             *
; Note: the far const memory area is mapped into the banked memory areas.     *
;                                                                             *
; The R3 values 00, 01, FE and FF are already handled within the C51 run-time *
; library.  Only the values 02..FE are passed to the XPTR access functions    *
; described below.  The AX51 macro assembler provides the MBYTE operator      *
; that calculates the R3 value that needs to be passed to the XPTR access     *
; function.   AX51 Assembler example for using XPTR access functions:         *
;     MOV  R1,#LOW   (variable)   ; gives LSB address byte of variable        *
;     MOV  R1,#HIGH  (variable)   ; gives MSB address byte of variable        *
;     MOV  R1,#MBYTE (variable)   ; gives memory type byte of variable        *
;     CALL ?C?CLDXPTR             ; load BYTE variable into A                 *
;******************************************************************************


		NAME	?C?XBANKING	; 'far' Memory Access Support

PUBLIC ?C?XPAGE1SFR, ?C?XPAGE1RST
PUBLIC ?C?CLDXPTR, ?C?CSTXPTR, ?C?ILDXPTR, ?C?ISTXPTR
PUBLIC ?C?PLDXPTR, ?C?PSTXPTR, ?C?LLDXPTR, ?C?LSTXPTR

?C?LIB_CODE	SEGMENT		CODE
		RSEG	?C?LIB_CODE

LOAD_BANK	MACRO
LOCAL lab
		MOV	DPL,R1
		MOV	DPH,R2
		MOV	?C?XPAGE1SFR,R3	
		DEC	?C?XPAGE1SFR
		ANL	?C?XPAGE1SFR,#07FH
		CJNE	R3,#80H,lab
lab:
		ENDM


B	DATA 0F0H	; SFR Address
DPL	DATA 082H
DPH	DATA 083H
ACC	DATA 0E0H

; CLDXPTR: Load   BYTE in A             via Address given in R1/R2/R3


?C?CLDXPTR:	LOAD_BANK
                JNC	CLDCODE
		MOVX	A,@DPTR
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET
CLDCODE:	CLR	A
		MOVC	A,@A+DPTR
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

; CSTXPTR: Store  BYTE in A             via Address given in R1/R2/R3


?C?CSTXPTR:	LOAD_BANK
                JNC	CSTCODE
		MOVX	@DPTR,A
CSTCODE:	MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

; ILDXPTR: Load   WORD in A(LSB)/B(HSB) via Address given in R1/R2/R3 

?C?ILDXPTR:	LOAD_BANK
                JNC	ILDCODE
		MOVX	A,@DPTR
		MOV	B,A
		INC	DPTR
		MOVX	A,@DPTR
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET
ILDCODE:	CLR	A
		MOVC	A,@A+DPTR
		MOV	B,A
		MOV	A,#1
		MOVC	A,@A+DPTR
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

; ISTXPTR: Store  WORD in A(HSB)/B(LSB) via Address given in R1/R2/R3 
?C?ISTXPTR:	LOAD_BANK
                JNC	ISTCODE
		MOVX	@DPTR,A
		INC	DPTR
		MOV	A,B
		MOVX	@DPTR,A
ISTCODE:	MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET


; PLDXPTR: Load    PTR in R1/R2/R3      via Address given in R1/R2/R3 
?C?PLDXPTR:	LOAD_BANK
                JNC	PLDCODE
		MOVX	A,@DPTR
		MOV	R3,A
		INC	DPTR
		MOVX	A,@DPTR
		MOV	R2,A
		INC	DPTR
		MOVX	A,@DPTR
		MOV	R1,A
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET
PLDCODE:	CLR	A
		MOVC	A,@A+DPTR
		MOV	R3,A
		MOV	A,#1
		MOVC	A,@A+DPTR
		MOV	R2,A
		MOV	A,#2
		MOVC	A,@A+DPTR
		MOV	R1,A
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

; PSTXPTR: Store   PTR in R0/A/B        via Address given in R1/R2/R3 
?C?PSTXPTR:	LOAD_BANK
                JNC	PSTCODE
		XCH	A,B
		MOVX	@DPTR,A
		INC	DPTR
		XCH	A,B
		MOVX	@DPTR,A
		INC	DPTR
		MOV	A,R0
		MOVX	@DPTR,A
PSTCODE:	MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

; LLDXPTR: Load  DWORD in R4/R5/R6/R7   via Address given in R1/R2/R3 
?C?LLDXPTR:	LOAD_BANK
                JNC	LLDCODE
		MOVX	A,@DPTR
		MOV	R4,A
		INC	DPTR
		MOVX	A,@DPTR
		MOV	R5,A
		INC	DPTR
		MOVX	A,@DPTR
		MOV	R6,A
		INC	DPTR
		MOVX	A,@DPTR
		MOV	R7,A
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET
LLDCODE:	CLR	A
		MOVC	A,@A+DPTR
		MOV	R4,A
		MOV	A,#1
		MOVC	A,@A+DPTR
		MOV	R5,A
		MOV	A,#2
		MOVC	A,@A+DPTR
		MOV	R6,A
		MOV	A,#3
		MOVC	A,@A+DPTR
		MOV	R7,A
		MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

; LSTXPTR: Store DWORD in R4/R5/R6/R7   via Address given in R1/R2/R3 
?C?LSTXPTR:	LOAD_BANK
                JNC	LSTCODE
		MOV	A,R4
		MOVX	@DPTR,A
		INC	DPTR
		MOV	A,R5
		MOVX	@DPTR,A
		INC	DPTR
		MOV	A,R6
		MOVX	@DPTR,A
		INC	DPTR
		MOV	A,R7
		MOVX	@DPTR,A
LSTCODE:	MOV	?C?XPAGE1SFR,#?C?XPAGE1RST ; Reset Page Register 
		RET

		END

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品拍天天在线| 69成人精品免费视频| 国产三级三级三级精品8ⅰ区| 久久av中文字幕片| 久久精品一区八戒影视| 国产精品亚洲人在线观看| 国产精品美女久久久久久| 99精品1区2区| 亚洲国产成人av| 欧美成人一级视频| 成人成人成人在线视频| 伊人夜夜躁av伊人久久| 337p亚洲精品色噜噜狠狠| 久久精品72免费观看| 国产欧美精品在线观看| 色综合天天综合色综合av | jlzzjlzz亚洲女人18| 亚洲欧美激情插| 91精品国产欧美一区二区成人| 国产综合色在线视频区| 亚洲欧美韩国综合色| 91精品视频网| 成人伦理片在线| 污片在线观看一区二区| 国产欧美综合在线| 欧美视频在线一区二区三区 | 久久久久久毛片| 91香蕉视频在线| 美女一区二区三区| 中文一区二区完整视频在线观看| 色婷婷综合激情| 久草精品在线观看| 亚洲九九爱视频| 精品国产sm最大网站免费看 | 欧美在线三级电影| 精彩视频一区二区三区| 一区二区久久久| 国产三级精品视频| 欧美一区二区三区色| 成人av网在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品人妖ts系列视频| 制服丝袜激情欧洲亚洲| av在线播放不卡| 精品午夜久久福利影院| 亚洲成人av福利| 欧美高清在线一区二区| 日韩美女主播在线视频一区二区三区| 成人黄色网址在线观看| 久久99国产精品免费| 亚洲国产视频一区二区| **欧美大码日韩| 久久久电影一区二区三区| 欧美精三区欧美精三区| 色噜噜狠狠成人网p站| 国产精品2024| 蜜臀久久久久久久| 亚洲午夜精品在线| 国产精品国产三级国产有无不卡 | 国产一区二区在线观看免费| 五月婷婷久久综合| 亚洲激情网站免费观看| 国产精品不卡在线| 国产精品每日更新在线播放网址| 精品久久久久久亚洲综合网| 91精品欧美久久久久久动漫 | 日本在线不卡视频| 亚洲高清视频在线| 亚洲午夜久久久久久久久电影院| 樱桃国产成人精品视频| 亚洲久草在线视频| 亚洲一区二区三区四区的| 亚洲狼人国产精品| 亚洲动漫第一页| 三级影片在线观看欧美日韩一区二区 | 五月天激情综合| 亚洲国产日韩a在线播放性色| 1000部国产精品成人观看| 中文字幕在线播放不卡一区| 国产精品嫩草影院com| 国产精品污www在线观看| 国产欧美精品一区二区色综合| 久久九九久久九九| 国产欧美一二三区| 亚洲欧洲日韩综合一区二区| 亚洲欧洲日产国产综合网| 亚洲色图视频免费播放| 亚洲黄色录像片| 午夜视频一区在线观看| 日本va欧美va欧美va精品| 麻豆freexxxx性91精品| 国产一区二区不卡老阿姨| 床上的激情91.| 色老头久久综合| 欧美一区二区三区视频| 久久精品欧美日韩| 136国产福利精品导航| 亚洲一区二区三区四区在线观看| 午夜成人免费视频| 久久国产欧美日韩精品| 丰满白嫩尤物一区二区| 色网站国产精品| 91精品一区二区三区久久久久久| 久久婷婷色综合| 亚洲视频一区二区免费在线观看| 亚洲成人av在线电影| 久久99热99| 91亚洲男人天堂| 在线播放日韩导航| 中文字幕精品在线不卡| 一区二区三区在线影院| 久久精品国产精品青草| 成人福利视频网站| 在线电影院国产精品| 国产欧美一区二区精品性色| 亚洲妇熟xx妇色黄| 国产一本一道久久香蕉| 色噜噜狠狠成人中文综合| 精品入口麻豆88视频| 亚洲桃色在线一区| 韩国精品久久久| 欧美性做爰猛烈叫床潮| 久久久久国产精品人| 亚洲主播在线播放| 国产一区二区三区国产| 欧美色图一区二区三区| 国产亚洲欧美一区在线观看| 亚洲成av人片| 成人免费av在线| 欧美一区二区日韩| 亚洲精品成人a在线观看| 久久99蜜桃精品| 欧美区视频在线观看| 中文字幕一区二区三中文字幕| 免费在线看成人av| 欧洲精品一区二区三区在线观看| 久久精品一级爱片| 免费观看30秒视频久久| 欧洲一区二区三区在线| 国产精品天干天干在线综合| 久久国产精品色婷婷| 欧美三级电影网站| 亚洲欧美综合色| 国产成人av一区二区三区在线 | 婷婷成人综合网| 91蝌蚪porny| 中文字幕第一区综合| 精久久久久久久久久久| 日韩一区二区麻豆国产| 亚洲综合男人的天堂| av一区二区三区| 国产精品国产三级国产| 欧洲一区在线观看| 国产精品国产精品国产专区不片| 精品一区二区国语对白| 日韩欧美资源站| 免费久久99精品国产| 欧美群妇大交群中文字幕| 一区二区三区国产豹纹内裤在线| 北条麻妃国产九九精品视频| 欧美国产1区2区| 成人黄色在线网站| 中文字幕乱码一区二区免费| 国产69精品久久久久毛片| 久久青草欧美一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 精品奇米国产一区二区三区| 欧美aaaaaa午夜精品| 日韩一区二区三区在线观看| 日韩成人一级大片| 日韩一级视频免费观看在线| 毛片av一区二区| 日韩精品一区二区在线| 国产在线播放一区三区四| 久久久亚洲午夜电影| 国产精品一二三区在线| 国产精品无码永久免费888| av不卡在线播放| 一区二区三区在线影院| 欧美乱熟臀69xxxxxx| 另类人妖一区二区av| 精品福利一二区| 成人动漫av在线| 樱花影视一区二区| 4438x成人网最大色成网站| 麻豆极品一区二区三区| 久久久久久毛片| 成人h精品动漫一区二区三区| 亚洲免费色视频| 91麻豆精品国产91久久久资源速度| 美国精品在线观看| 欧美极品美女视频| 欧美性做爰猛烈叫床潮| 蜜桃视频第一区免费观看| 久久久精品国产99久久精品芒果| jlzzjlzz亚洲日本少妇| 五月天一区二区三区| 久久久亚洲欧洲日产国码αv| av一区二区三区黑人| 日韩精品91亚洲二区在线观看|