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

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

?? memory.inc

?? 單片機USB接口模擬鍵盤,該程序可以控制PC機的PS/2鍵盤的NUM LOCK和SCROLL LOCK的燈,以此說明通訊正常
?? INC
字號:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;;  memory.inc -- CY7C63000 Microcontroller Family Memory Declarations
;;;
;;;  Copyright (c) 2004 Cypress Semiconductor, Inc. All rights reserved.
;;;
;;;
;;;  This file provides memory address constants 
;;;
;;;  Last Modified: Mar 22, 2004
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;SYSTEM_STACK_PAGE: equ 0   
SYSTEM_STACK_BASE_ADDR: equ 0h   
SYSTEM_LARGE_MEMORY_MODEL: equ 0   
SYSTEM_SMALL_MEMORY_MODEL: equ 1   
SYSTEM_TOOLS: equ 1   
SYSTEM_IDXPG_TRACKS_STK_PP: equ 1   
SYSTEM_IDXPG_TRACKS_IDX_PP: equ 0   
SYSTEM_MULTIPAGE_STACK: equ 0 


;  ******* Function Class Definitions *******
;
;  These definitions are used to describe RAM access patterns. They provide
;  documentation and they control prologue and epilogue macros that perform
;  the necessary housekeeping functions for large memory model devices like
;  the CY8C27x66 and CY8C29x66.

RAM_USE_CLASS_1:               equ 1   ; PUSH, POP & I/O access
RAM_USE_CLASS_2:               equ 2   ; Indexed address mode on stack page
RAM_USE_CLASS_3:               equ 4   ; Indexed address mode to any page
RAM_USE_CLASS_4:               equ 8   ; Direct/Indirect address mode access


;  ******* Page Pointer Manipulation Macros *******
;
;  Most of the following macros are conditionally compiled so they only
;  produce code if the large memory model is selected.

   ;-----------------------------------------------
   ;  Set Stack Page Macro
   ;-----------------------------------------------
   ;
   ;  DESC: Modify STK_PP in the large or small memory Models.
   ;
   ; INPUT: Constant (e.g., SYSTEM_STACK_PAGE) that specifies the RAM page on
   ;        which stack operations like PUSH and POP store and retrieve their
   ;        data
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_SETPAGE_STK( PG_NUMBER )
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      mov reg[STK_PP], @PG_NUMBER
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Set Current Page Macro
   ;-----------------------------------------------
   ;
   ;  DESC: Modify CUR_PP in the large or small memory Models.
   ;
   ; INPUT: Constant value (e.g., >bFoo) for the RAM page number used in
   ;        calculation of effective direct-mode address operands.
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_SETPAGE_CUR( PG_NUMBER )
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      mov reg[CUR_PP], @PG_NUMBER
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Set Index Page Macro
   ;-----------------------------------------------
   ;
   ;  DESC: Modify IDX_PP in the large or small emory Models.
   ;
   ; INPUT: Constant value (e.g., >caFoo) for the RAM page number used in
   ;         calculation of effective index-mode address operands.
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_SETPAGE_IDX( PG_NUMBER )
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      mov reg[IDX_PP], @PG_NUMBER
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Set MVI Read Page Macro
   ;-----------------------------------------------
   ;
   ;  DESC: Modify MVR_PP in the large or small memory Models.
   ;
   ; INPUT: Constant value (e.g., >pFoo) for the RAM page number used in
   ;        calculation of indirect address operands used in the
   ;        "mvi A, [pFoo]" instructions.
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_SETPAGE_MVR( PG_NUMBER )
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      mov reg[MVR_PP], @PG_NUMBER
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Set MVI Write Page Macro
   ;-----------------------------------------------
   ;
   ;  DESC: Modify MVW_PP in the large or small memory Models.
   ;
   ; INPUT: Constant value (e.g., >pFoo) for the RAM page number used in
   ;        calculation of indirect address operands used in the
   ;        "mvi [pFoo], A" instructions.
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_SETPAGE_MVW( PG_NUMBER )
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      mov reg[MVW_PP], @PG_NUMBER
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Force Index Page Pointer to Stack Page
   ;-----------------------------------------------
   ;
   ;  DESC: Map index-mode operands onto the stack page by modifying IDX_PP.
   ;        See also RAM_LOCK_INDEX_TO_STACKPAGE.
   ;
   ; INPUT: None
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_SETPAGE_IDX2STK
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      IF ( SYSTEM_MULTIPAGE_STACK )
         mov   A, reg[STK_PP]
         mov   reg[IDX_PP], A
      ELSE
         RAM_SETPAGE_IDX SYSTEM_STACK_PAGE
      ENDIF
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Change Memory Mode
   ;-----------------------------------------------
   ;
   ;  DESC: Modify FLAG_PAGEMODE bits in the large and small memory Models.
   ;
   ; INPUT: Constant value for PGMODE bitfield of CPU Flag register, F.
   ;        See FLAG_PGMODE_{x} constants in M8C.INC.
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_CHANGE_PAGE_MODE( MODE )
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      and   F, ~FLAG_PGMODE_MASK        ; NOTE: transition thru 00b state
      or    F,  FLAG_PGMODE_MASK & @MODE
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Set Large Memory Model Native Paging Mode
   ;-----------------------------------------------
   ;
   ;  DESC: Changes the FLAG_PAGEMODE bits to enter the native LMM RAM
   ;        paging mode *IFF* a simple "OR" is guaranteed to work---for
   ;        example, in an ISR, when the PGMODE bits have been cleared
   ;        to zero. If a simple "OR" is not guaranteed to work, use
   ;        the slower RAM_RESTORE_NATIVE_PAGING instead.
   ;
   ; INPUT: none
   ;
   ;  COST: 4 instruction cycles (in LMM only)

   macro RAM_SET_NATIVE_PAGING
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
      or    F,  FLAG_PGMODE_11b            ; LMM w/ IndexPage<==>StackPage
   ENDIF ;  PGMODE LOCKED
   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
      or    F,  FLAG_PGMODE_10b            ; LMM with independent IndexPage
   ENDIF ; PGMODE FREE
   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
   endm

   ;-----------------------------------------------
   ; Restore Large Memory Model Native Paging Mode
   ;-----------------------------------------------
   ;
   ;  DESC: Changes the FLAG_PAGEMODE bits to enter the native LMM RAM
   ;        paging mode. Always works because it clears the PGMODE bits
   ;        before OR-ing in the new ones. See RAM_RESTORE_NATIVE_PAGING
   ;        for a faster method.
   ;
   ; INPUT: none
   ;
   ;  COST: 8 instruction cycles (in LMM only)

   macro RAM_RESTORE_NATIVE_PAGING
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
   IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
      RAM_CHANGE_PAGE_MODE FLAG_PGMODE_11b ; LMM w/ IndexPage<==>StackPage
   ENDIF ;  PGMODE LOCKED
   IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
      RAM_CHANGE_PAGE_MODE FLAG_PGMODE_10b ; LMM with independent IndexPage
   ENDIF ; PGMODE FREE
   ENDIF ; SYSTEM_LARGE_MEMORY_MODEL
   endm

   ;-----------------------------------------------
   ; Force indexed addr mode operands to Stack Pg
   ;-----------------------------------------------
   ;
   ;  DESC: Force instructions that use indexed address mode to reference the
   ;        stack page (as defined by STK_PP). This macro sets the "Indexed
   ;        Stack Mode" bit (LSB) of the PGMODE bit field in the CPU Flag
   ;        register, F. (See also RAM_SETPAGE_IDX2STK, above.)
   ;
   ; INPUT: none
   ;
   ;  COST: 4 instruction cycles (in LMM only)

   macro RAM_X_POINTS_TO_STACKPAGE
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      or   F, FLAG_PGMODE_01b
   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
   endm

   ;-----------------------------------------------
   ;  Force indexed addr mode operands to Index Pg
   ;-----------------------------------------------
   ;
   ;  DESC: Permit instructions that use indexed address mode to reference page
   ;        zero or the page pointed to by the IDX_PP register, depending on the
   ;        setting of the MSb (or "Direct Page Mode" bit) of the PGMODE bits
   ;        in the CPU Flag register, F. (This macro clears the PGMODE LSb.)
   ;
   ; INPUT: none
   ;
   ;  COST: 4 instruction cycles (in LMM only)

   macro RAM_X_POINTS_TO_INDEXPAGE
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      and  F, ~FLAG_PGMODE_01b
   ENDIF ;  SYSTEM_LARGE_MEMORY_MODEL
   endm

   ;-----------------------------------------------
   ;  Function Prologue
   ;-----------------------------------------------
   ;
   ;  Prologue for functions that run in the LMM and SMM.
   ;

   macro RAM_PROLOGUE( ACTUAL_CLASS )

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_1 )
   ; Nothing to do
   ENDIF ; RAM_USE_CLASS_1

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_2 )
      IF ( SYSTEM_IDXPG_TRACKS_IDX_PP )
         RAM_X_POINTS_TO_STACKPAGE         ; exit native paging mode!
      ENDIF
   ENDIF ; RAM_USE_CLASS_2

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_3 )
      IF ( SYSTEM_IDXPG_TRACKS_STK_PP )
         RAM_X_POINTS_TO_INDEXPAGE         ; exit native paging mode!
      ENDIF
   ENDIF ; RAM_USE_CLASS_3

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_4 )
   ; Nothing to do
   ENDIF ; RAM_USE_CLASS_4

   endm

   ;-----------------------------------------------
   ;  Function Epilogue
   ;-----------------------------------------------
   ;
   ;  Prologue for functions that run in the LMM and SMM.
   ;

   macro RAM_EPILOGUE( ACTUAL_CLASS )

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_1 )
   ; Nothing to do
   ENDIF ; RAM_USE_CLASS_1

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_2 )
      RAM_RESTORE_NATIVE_PAGING
   ENDIF ; RAM_USE_CLASS_2

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_3 )
      RAM_RESTORE_NATIVE_PAGING
   ENDIF ; RAM_USE_CLASS_3

   IF ( @ACTUAL_CLASS & RAM_USE_CLASS_4 )
   ; Nothing to do
   ENDIF ; RAM_USE_CLASS_4

   endm

   ;-----------------------------------------------
   ;  Preserve Register
   ;-----------------------------------------------
   ;
   ;  DESC: Preserve a register value on the stack
   ;
   ; INPUT: Name or address of register in I/O Space
   ;        The I/O bank is an implicit parameter. That is, this function will
   ;        Access the I/O bank currently specified by the CPU Flag register.
   ;
   ;  USES: CPU 'A' register
   ;
   ;  COST: 9 instruction cycles

   macro REG_PRESERVE( IOReg )
   mov   A, reg[ @IOReg ]
   push  A
   endm

   ;-----------------------------------------------
   ;  Restore Register
   ;-----------------------------------------------
   ;
   ;  DESC: Restore a register value from the stack
   ;
   ; INPUT: Name or address of register in I/O Space
   ;        The I/O bank is an implicit parameter. That is, this function will
   ;        Access the I/O bank currently specified by the CPU Flag register.
   ;
   ;  USES: CPU 'A' register
   ;
   ;  COST: 10 instruction cycles

   macro REG_RESTORE( IOReg )
   pop   A
   mov   reg[ @IOReg ], A
   endm

   ;-----------------------------------------------
   ;  Preserve Volatile Page Pointer Registers
   ;-----------------------------------------------
   ;
   ;  DESC: Invoked by ISRs before switching to the LMM mode and calling
   ;        functions that require on it.
   ;
   ; INPUT: none
   ;
   ;  USES: CPU 'A' register
   ;
   ;  COST: 45 instruction cycles (in LMM only)

   macro ISR_PRESERVE_PAGE_POINTERS
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      REG_PRESERVE CUR_PP
      REG_PRESERVE IDX_PP
      REG_PRESERVE MVR_PP
      REG_PRESERVE MVW_PP
   ENDIF
   endm

   ;-----------------------------------------------
   ;  Restore Volatile Page Pointer Registers
   ;-----------------------------------------------
   ;
   ;  DESC: Undo for RAM_PRESERVE_PAGE_POINTERS macro. Invoked by ISRs after
   ;        calling functions that run in the LMM mode and before executing
   ;        the RETI instruction.
   ;
   ; INPUT: none
   ;
   ;  USES: CPU 'A' register
   ;
   ;  COST: 50 instruction cycles (in LMM only)

   macro ISR_RESTORE_PAGE_POINTERS
   IF ( SYSTEM_LARGE_MEMORY_MODEL )
      REG_RESTORE MVW_PP
      REG_RESTORE MVR_PP
      REG_RESTORE IDX_PP
      REG_RESTORE CUR_PP
   ENDIF
   endm

; end of file Memory.inc

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品日产第一区二区三区高清版| 日韩三级精品电影久久久| 亚洲综合成人在线| 久久一夜天堂av一区二区三区| 色哦色哦哦色天天综合| 久久电影国产免费久久电影| 亚洲欧美日韩综合aⅴ视频| 日韩免费观看高清完整版| 99久久国产免费看| 国产尤物一区二区在线| 一区二区三区四区在线| 久久久综合激的五月天| 欧美美女视频在线观看| www.亚洲色图.com| 国内成人免费视频| 亚洲高清不卡在线| 中文字幕日韩欧美一区二区三区| 欧美成人vps| 欧美剧情片在线观看| 一本大道久久精品懂色aⅴ| 国产在线播精品第三| 蜜臀国产一区二区三区在线播放 | 中文字幕免费一区| 欧美大片日本大片免费观看| 欧美视频一区二区三区在线观看| 成人精品视频.| 国产伦精品一区二区三区视频青涩| 午夜欧美电影在线观看| 亚洲精品久久久蜜桃| 国产精品情趣视频| 久久综合给合久久狠狠狠97色69| 欧美日韩国产高清一区二区| 色综合婷婷久久| www.欧美色图| 成人一区二区三区视频在线观看| 久久99热这里只有精品| 蜜臀av性久久久久蜜臀aⅴ| 亚洲国产成人精品视频| 一区二区久久久| 亚洲精选视频免费看| 成人欧美一区二区三区黑人麻豆 | 免费在线看成人av| 日韩一区精品视频| 天堂影院一区二区| 日韩专区欧美专区| 亚洲成人激情社区| 亚洲3atv精品一区二区三区| 亚洲一区二区三区不卡国产欧美| 亚洲精品免费在线播放| 一区二区三区美女视频| 亚洲综合久久久| 亚洲午夜免费电影| 亚洲国产成人tv| 日韩电影在线观看一区| 看电影不卡的网站| 国模套图日韩精品一区二区| 国产精品99精品久久免费| 国产成人精品影视| av网站免费线看精品| 色老综合老女人久久久| 欧美日韩国产综合草草| 日韩欧美www| 久久综合国产精品| 亚洲欧美一区二区视频| 亚洲午夜电影在线观看| 蜜桃av一区二区三区| 国产精品亚洲午夜一区二区三区 | 日本精品一级二级| 欧美日韩一区在线观看| 欧美日韩综合在线| 欧美tickle裸体挠脚心vk| 欧美激情一区二区三区全黄| 亚洲欧洲日本在线| 午夜精品久久久久久| 精品一区二区三区影院在线午夜| 国产99久久久国产精品免费看 | 国产99精品视频| 色婷婷av一区二区三区gif| 欧美日韩亚洲综合一区二区三区| 日韩欧美国产午夜精品| 亚洲国产精品激情在线观看| 亚洲与欧洲av电影| 国产一区二区三区免费| 99精品欧美一区| 欧美一卡二卡三卡| 中文字幕在线不卡一区| 日日夜夜免费精品| 国产精品亚洲成人| 欧美天堂一区二区三区| 日韩欧美高清在线| 亚洲视频香蕉人妖| 免费成人在线影院| 91视频在线观看免费| 日韩精品一区二区三区老鸭窝| 欧美韩国一区二区| 亚洲成人一区二区在线观看| 国产精品原创巨作av| 欧美日韩精品一区二区在线播放| 日本一区二区三级电影在线观看| 天天综合天天做天天综合| 成人a级免费电影| 制服丝袜中文字幕一区| 成人欧美一区二区三区视频网页 | 国产欧美久久久精品影院| 亚洲一区二区三区四区的| 国产精品一区二区在线看| 欧美日韩三级一区| 中文字幕一区不卡| 激情综合色丁香一区二区| 欧美三级电影网站| 亚洲欧洲日韩一区二区三区| 国产一区二区免费看| 欧美疯狂性受xxxxx喷水图片| 国产精品丝袜一区| 精品亚洲国产成人av制服丝袜| 欧美性生活影院| 亚洲欧洲成人精品av97| 国产精品一区二区无线| 日韩三级精品电影久久久| 亚洲国产一区二区三区青草影视| 97久久精品人人爽人人爽蜜臀| xnxx国产精品| 久久精品久久99精品久久| 精品视频一区二区三区免费| 亚洲欧美另类小说| www.久久精品| 中文字幕av一区二区三区| 国产精品自拍三区| 精品国产亚洲一区二区三区在线观看| 亚洲成人激情社区| 欧美这里有精品| 亚洲激情在线播放| 91网站在线播放| 国产精品美女久久久久高潮| 国产成人无遮挡在线视频| 久久伊人中文字幕| 国产精品一区二区久久精品爱涩 | 精品区一区二区| 日韩制服丝袜先锋影音| 在线成人高清不卡| 婷婷成人激情在线网| 欧美高清视频在线高清观看mv色露露十八| 亚洲影院久久精品| 欧美日韩电影在线播放| 无码av免费一区二区三区试看 | 精品在线免费视频| 精品蜜桃在线看| 久久91精品国产91久久小草| 日韩女优av电影| 狠狠色丁香婷婷综合| 久久麻豆一区二区| 成人精品一区二区三区中文字幕| 国产精品久久久久婷婷| 99久久综合精品| 亚洲免费色视频| 国产成人在线色| 国产寡妇亲子伦一区二区| 欧美日韩一区视频| 国产精品高清亚洲| 国产在线不卡一区| 国产精品视频一二三区| fc2成人免费人成在线观看播放| 国产精品美女久久久久aⅴ| 91蝌蚪porny九色| 亚洲一区二区三区四区在线免费观看 | 在线观看亚洲精品视频| 婷婷久久综合九色综合绿巨人| 777亚洲妇女| 国产剧情一区在线| 最新久久zyz资源站| 精品视频在线免费看| 韩日欧美一区二区三区| 国产精品国产成人国产三级| 欧美在线综合视频| 精品亚洲成a人| 亚洲色图欧美偷拍| 91精品国产一区二区三区蜜臀 | 99热99精品| 五月激情六月综合| 国产清纯美女被跳蛋高潮一区二区久久w | 奇米精品一区二区三区在线观看一 | 国产精品高潮呻吟| 制服丝袜亚洲精品中文字幕| 国产一区二区女| 亚洲一级电影视频| 久久九九久久九九| 在线视频观看一区| 国产精品99久久久| 午夜精品视频一区| 国产精品黄色在线观看| 91精品国产aⅴ一区二区| 成人永久aaa| 免费观看日韩电影| 亚洲摸摸操操av| 久久综合九色综合欧美亚洲| 91国偷自产一区二区使用方法| 久久国产精品露脸对白| 亚洲欧美激情插| 久久综合网色—综合色88| 欧美视频一区在线|