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

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

?? xbanking.a51

?? KEILC51程序?qū)嵗团涮子布繕?biāo)板,很詳細(xì),程序有注釋
?? A51
字號(hào):
$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.03, 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            *
;  80..FD  | far const   | HCONST       | C:0x800000 .. C:0xFD0000 (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	
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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
		DEC	?C?XPAGE1SFR
		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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲卡通欧美制服中文| 国产亚洲一区二区三区四区| 久久精品人人做人人爽97| 91精品在线观看入口| 日本精品视频一区二区| 日韩电影在线一区二区三区| 51精品久久久久久久蜜臀| 97精品国产97久久久久久久久久久久| 久久久精品日韩欧美| 在线看一区二区| 粉嫩av一区二区三区在线播放| 免费不卡在线观看| 日韩理论在线观看| 精品国产乱码91久久久久久网站| 欧美中文字幕一区二区三区| 在线观看av一区二区| 中文字幕一区二区5566日韩| 国产午夜精品美女毛片视频| 国产精品伦理一区二区| 国产欧美精品一区二区色综合朱莉| 中文字幕欧美激情一区| 国产精品短视频| 久久女同互慰一区二区三区| 日韩一区中文字幕| 久久狠狠亚洲综合| 一区二区高清视频在线观看| 国产一区欧美二区| 丁香啪啪综合成人亚洲小说| 成人开心网精品视频| 久久久久久亚洲综合| 亚洲不卡av一区二区三区| 久久精品国产在热久久| 这里只有精品电影| 久久精品噜噜噜成人av农村| 欧美在线免费播放| 尤物在线观看一区| 94-欧美-setu| 日韩美女啊v在线免费观看| 久久99精品久久久久久国产越南 | 欧美日韩免费高清一区色橹橹 | 亚洲国产成人porn| 午夜精品aaa| 国产成人免费在线视频| 777奇米四色成人影色区| 亚洲午夜av在线| av激情综合网| av影院午夜一区| 亚洲欧美经典视频| youjizz久久| 日韩在线一二三区| 色婷婷综合久久久中文一区二区 | 国产激情视频一区二区三区欧美 | 99久久伊人精品| 亚洲超碰97人人做人人爱| 国产精品三级久久久久三级| 91精品1区2区| 久久国产精品99久久人人澡| 一区二区免费在线播放| 欧美性一区二区| 中文字幕一区二区三区四区不卡 | 精品一区二区三区免费视频| 亚洲美女精品一区| 久久久久久亚洲综合影院红桃| 在线观看成人小视频| 国产自产视频一区二区三区| 国产老女人精品毛片久久| 高清国产一区二区三区| 亚洲一级二级三级在线免费观看| av成人免费在线观看| 国产在线精品免费| 天堂精品中文字幕在线| 亚洲五码中文字幕| 一区二区久久久久| 亚洲特级片在线| 青青草伊人久久| 亚洲黄网站在线观看| 中文字幕精品一区二区精品绿巨人 | 最近中文字幕一区二区三区| 精品国产91久久久久久久妲己| 91精品欧美综合在线观看最新| 一本大道av一区二区在线播放| 成人在线综合网| 高清成人在线观看| 成人在线一区二区三区| 成人av在线一区二区三区| 国产亚洲福利社区一区| 久久伊99综合婷婷久久伊| 在线观看欧美黄色| 欧洲亚洲国产日韩| 欧美在线影院一区二区| 欧美日韩中文另类| 欧美一区二区三区的| 国产精品综合二区| 国产91露脸合集magnet| av资源网一区| 欧美精品一级二级三级| 欧日韩精品视频| 欧美大片在线观看一区| 91精品福利在线| 欧美一区二区观看视频| 欧美激情一区在线| 午夜一区二区三区视频| 国产风韵犹存在线视精品| 国产乱人伦精品一区二区在线观看| 99国产欧美另类久久久精品| 欧美日韩精品欧美日韩精品一| 2021久久国产精品不只是精品| 亚洲精品国产a| 精品一区二区三区免费视频| 色婷婷国产精品久久包臀| 久久在线免费观看| 亚洲成a人片在线不卡一二三区| 国产一区二区三区四区五区入口| 欧美亚洲动漫制服丝袜| 国产嫩草影院久久久久| 捆绑变态av一区二区三区| 欧美一区二区大片| 亚州成人在线电影| 欧美在线小视频| 亚洲综合成人在线| 91极品视觉盛宴| 亚洲欧洲日韩av| 色菇凉天天综合网| 中文字幕在线不卡一区二区三区| 国产精品888| 国产精品理论片在线观看| 国产精品一级片| 国产婷婷一区二区| 国产v日产∨综合v精品视频| 国产性色一区二区| 成人免费视频免费观看| 一卡二卡欧美日韩| 欧美日韩一区不卡| 亚洲成av人**亚洲成av**| 欧美三区在线观看| 免费人成在线不卡| 国产亚洲美州欧州综合国| 波多野结衣亚洲| 亚洲综合色丁香婷婷六月图片| 欧美三级日本三级少妇99| 奇米888四色在线精品| 久久久www成人免费毛片麻豆 | 日韩一区中文字幕| 欧美揉bbbbb揉bbbbb| 久久成人久久鬼色| 亚洲裸体xxx| 欧美一区国产二区| 懂色av一区二区三区免费看| 亚洲免费色视频| 久久久蜜臀国产一区二区| 96av麻豆蜜桃一区二区| 911国产精品| 日韩欧美国产高清| 日韩精品亚洲一区| 国产色婷婷亚洲99精品小说| 激情综合色播五月| 中文字幕欧美日韩一区| 欧美在线免费播放| 国产成人av影院| 亚洲成人av资源| 欧美激情自拍偷拍| 在线观看日韩电影| 大桥未久av一区二区三区中文| 亚洲综合小说图片| 国产精品二三区| 精品美女一区二区| 国产成人亚洲综合a∨婷婷图片 | 麻豆国产精品777777在线| 日韩欧美综合在线| 高清在线观看日韩| 国产成人精品亚洲777人妖| 午夜电影久久久| 亚洲国产成人av| 一区二区三区影院| 亚洲成人动漫精品| 亚洲大尺度视频在线观看| 亚洲人成人一区二区在线观看| 亚洲日本中文字幕区| 中文字幕日本乱码精品影院| 亚洲国产人成综合网站| 国产精品国产三级国产aⅴ原创| 国产日产欧美一区| 国产精品美女久久久久久久久久久| 国产精品视频九色porn| 欧美国产精品中文字幕| 国产精品免费久久| 亚洲精品国产高清久久伦理二区| 一区二区三区国产精品| 亚洲va中文字幕| 97se亚洲国产综合自在线| 欧美嫩在线观看| wwwwww.欧美系列| 国产精品青草综合久久久久99| 亚洲欧美日韩国产综合| 午夜久久福利影院| 国内欧美视频一区二区| 91成人免费网站| 日韩一区二区电影在线| 国产综合色在线视频区| 精品亚洲成av人在线观看|