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

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

?? xbanking.a51

?? 一個電子表程序
?? 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.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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区在线观看| 久久婷婷色综合| 经典三级在线一区| 中文字幕一区二区日韩精品绯色| 欧美性受xxxx| 成人免费高清视频| 日本不卡一区二区三区高清视频| 国产精品护士白丝一区av| 91精品国产色综合久久不卡电影| 菠萝蜜视频在线观看一区| 免费一级欧美片在线观看| 亚洲女同一区二区| 中文字幕免费不卡| 精品理论电影在线| 欧美日韩国产区一| 色8久久精品久久久久久蜜| 国产成人在线视频免费播放| 久草精品在线观看| 五月婷婷综合在线| 亚洲精品视频一区| 国产精品少妇自拍| 久久精品这里都是精品| 日韩一级高清毛片| 欧美视频在线观看一区二区| 99久久99久久精品免费看蜜桃| 国产在线精品一区二区不卡了| 亚洲va国产天堂va久久en| 亚洲免费观看在线视频| 国产精品人人做人人爽人人添| 久久久噜噜噜久久中文字幕色伊伊| 在线播放亚洲一区| 欧美精品在线一区二区三区| 在线观看日韩一区| 色美美综合视频| 色综合久久综合网97色综合| av一区二区不卡| 99久久综合狠狠综合久久| 成人免费观看av| 成人黄色在线视频| 白白色 亚洲乱淫| 成人avav在线| av在线免费不卡| 色婷婷久久久久swag精品 | 国产欧美一区二区三区鸳鸯浴 | 麻豆中文一区二区| 天堂蜜桃91精品| 污片在线观看一区二区| 亚洲国产美国国产综合一区二区| 一区二区三区在线视频观看 | 亚洲综合免费观看高清完整版在线 | 国产中文一区二区三区| 久久99精品久久久久久久久久久久 | 91浏览器在线视频| 91麻豆免费看| 欧美日韩在线亚洲一区蜜芽| 欧美日韩一区高清| 日韩一级片在线播放| 久久这里只有精品视频网| 欧美激情一区二区三区不卡| 中文字幕不卡三区| 久久久国产午夜精品| 中文字幕一区二区日韩精品绯色| 亚洲欧洲制服丝袜| 同产精品九九九| 韩国理伦片一区二区三区在线播放| 国产一本一道久久香蕉| 91亚洲男人天堂| 6080午夜不卡| 欧美激情一二三区| 亚洲成av人片一区二区| 精品在线你懂的| 99精品1区2区| 91精品国产综合久久福利| 国产亚洲美州欧州综合国| **性色生活片久久毛片| 日韩经典中文字幕一区| 国产成人av电影在线播放| 91黄色免费网站| 精品蜜桃在线看| 亚洲摸摸操操av| 另类专区欧美蜜桃臀第一页| 99视频超级精品| 日韩欧美一级在线播放| 亚洲婷婷国产精品电影人久久| 日韩电影在线观看网站| 成人在线一区二区三区| 在线不卡中文字幕| 中文字幕日本不卡| 日韩av成人高清| 不卡高清视频专区| 欧美男人的天堂一二区| 国产日韩v精品一区二区| 亚洲第一福利一区| 粉嫩欧美一区二区三区高清影视 | 韩国v欧美v日本v亚洲v| 色狠狠av一区二区三区| 久久九九久精品国产免费直播| 一区二区成人在线视频| 国产盗摄女厕一区二区三区| 欧美另类一区二区三区| 国产精品嫩草99a| 久久精品免费观看| 欧美影视一区二区三区| 中文文精品字幕一区二区| 日韩中文字幕亚洲一区二区va在线| 成人av一区二区三区| 精品欧美一区二区在线观看| 亚洲sss视频在线视频| 91猫先生在线| 中文字幕一区视频| 国产美女主播视频一区| 制服丝袜亚洲色图| 亚洲最大成人综合| 粗大黑人巨茎大战欧美成人| 精品美女被调教视频大全网站| 午夜激情一区二区三区| 91九色02白丝porn| 国产精品久久精品日日| 国产成人综合网站| 久久九九影视网| 国产资源精品在线观看| 精品久久免费看| 伦理电影国产精品| 欧美高清视频www夜色资源网| 亚洲综合图片区| 一本在线高清不卡dvd| 亚洲欧美影音先锋| 丁香六月综合激情| 国产女人aaa级久久久级| 久久99精品国产91久久来源| 日韩欧美色电影| 欧美aaa在线| 日韩欧美国产高清| 麻豆91精品视频| 欧美不卡一区二区三区| 毛片不卡一区二区| 欧美xxxxxxxx| 国产在线视频不卡二| 久久嫩草精品久久久精品| 国产精品一级在线| 国产日韩亚洲欧美综合| 岛国av在线一区| 亚洲情趣在线观看| 欧美在线不卡视频| 午夜日韩在线观看| 日韩无一区二区| 精品一区二区免费| 国产人成一区二区三区影院| 成人av电影观看| 一区二区三区**美女毛片| 欧美日本视频在线| 美女视频黄 久久| 久久人人超碰精品| www.激情成人| 亚洲午夜免费视频| 91精品国产综合久久久久久久| 日本午夜精品一区二区三区电影| 日韩精品专区在线影院观看| 国产精品白丝av| 亚洲欧洲中文日韩久久av乱码| 欧美色爱综合网| 久久se精品一区精品二区| 久久精品男人的天堂| 色偷偷久久人人79超碰人人澡| 亚洲国产成人av网| 欧美一区二区三区在线看| 国产美女av一区二区三区| 1024成人网| 这里只有精品免费| 国产一区二区电影| 一区二区三区四区在线播放| 欧美一区二区三区在线看| 国产一区二区三区久久久 | 中文字幕一区二区三区色视频| 欧美私模裸体表演在线观看| 欧美日韩中文精品| 精品午夜一区二区三区在线观看| 国产精品久久久久久久久免费丝袜| 欧美性猛交xxxxxx富婆| 韩国女主播一区| 亚洲一区二区三区四区不卡| 亚洲精品一区二区三区影院| 一本大道久久a久久综合| 久久精工是国产品牌吗| 亚洲天堂2016| 精品国产免费久久| 色欧美日韩亚洲| 国产在线观看一区二区| 午夜精品福利久久久| 国产精品国产三级国产aⅴ无密码| 欧美一级片免费看| 91欧美一区二区| 国产美女一区二区三区| 亚洲电影一区二区三区| 亚洲国产电影在线观看| 日韩一区二区三区精品视频| 色婷婷精品久久二区二区蜜臂av| 国产一区二区在线视频| 无码av免费一区二区三区试看| 成人欧美一区二区三区白人 |