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

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

?? scitech.mac

?? 自己修改的U-boot1.1.4For AT91RM9200DK. 請用armgcc3.3.2編譯。
?? MAC
?? 第 1 頁 / 共 2 頁
字號:
;****************************************************************************;*;*  ========================================================================;*;*    The contents of this file are subject to the SciTech MGL Public;*    License Version 1.0 (the "License"); you may not use this file;*    except in compliance with the License. You may obtain a copy of;*    the License at http://www.scitechsoft.com/mgl-license.txt;*;*    Software distributed under the License is distributed on an;*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or;*    implied. See the License for the specific language governing;*    rights and limitations under the License.;*;*    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.;*;*    The Initial Developer of the Original Code is SciTech Software, Inc.;*    All Rights Reserved.;*;*  ========================================================================;*;* Language:    NetWide Assembler (NASM) or Turbo Assembler (TASM);* Environment: Any Intel Environment;*;* Description: Macros to provide memory model independant assembly language;*              module for C programming. Supports the large and flat memory;*              models.;*;*              The defines that you should use when assembling modules that;*              use this macro package are:;*;*                  __LARGE__   Assemble for 16-bit large model;*                  __FLAT__    Assemble for 32-bit FLAT memory model;*                  __NOU__     No underscore for all external C labels;*                  __NOU_VAR__ No underscore for global variables only;*;*              The default settings are for 16-bit large memory model with;*              leading underscores for symbol names.;*;*              The main intent of the macro file is to enable programmers;*              to write _one_ set of source that can be assembled to run;*              in either 16 bit real and protected modes or 32 bit;*              protected mode without the need to riddle the code with;*              'if flatmodel' style conditional assembly (it is still there;*              but nicely hidden by a macro layer that enhances the;*              readability and understandability of the resulting code).;*;****************************************************************************; Include the appropriate version in here depending on the assembler. NASM; appears to always try and parse code, even if it is in a non-compiling; block of a ifdef expression, and hence crashes if we include the TASM; macro package in the same header file. Hence we split the macros up into; two separate header files.ifdef __NASM_MAJOR__;============================================================================; Macro package when compiling with NASM.;============================================================================; Turn off underscores for globals if disabled for all externals%ifdef  __NOU__%define __NOU_VAR__%endif; Define the __WINDOWS__ symbol if we are compiling for any Windows; environment%ifdef  __WINDOWS16__%define __WINDOWS__         1%endif%ifdef  __WINDOWS32__%define __WINDOWS__         1%define __WINDOWS32_386__   1%endif; Macros for accessing 'generic' registers%ifdef  __FLAT__%idefine _ax    eax%idefine _bx    ebx%idefine _cx    ecx%idefine _dx    edx%idefine _si    esi%idefine _di    edi%idefine _bp    ebp%idefine _sp    esp%idefine _es%idefine UCHAR  BYTE        ; Size of a character%idefine USHORT WORD        ; Size of a short%idefine UINT   DWORD       ; Size of an integer%idefine ULONG  DWORD       ; Size of a long%idefine BOOL   DWORD       ; Size of a boolean%idefine DPTR   DWORD       ; Size of a data pointer%idefine FDPTR  FWORD       ; Size of a far data pointer%idefine NDPTR  DWORD       ; Size of a near data pointer%idefine CPTR   DWORD       ; Size of a code pointer%idefine FCPTR  FWORD       ; Size of a far code pointer%idefine NCPTR  DWORD       ; Size of a near code pointer%idefine FPTR   NEAR        ; Distance for function pointers%idefine DUINT  dd          ; Declare a integer variable%idefine intsize 4%idefine flatmodel 1%else%idefine _ax    ax%idefine _bx    bx%idefine _cx    cx%idefine _dx    dx%idefine _si    si%idefine _di    di%idefine _bp    bp%idefine _sp    sp%idefine _es    es:%idefine UCHAR  BYTE        ; Size of a character%idefine USHORT WORD        ; Size of a short%idefine UINT   WORD        ; Size of an integer%idefine ULONG  DWORD       ; Size of a long%idefine BOOL   WORD        ; Size of a boolean%idefine DPTR   DWORD       ; Size of a data pointer%idefine FDPTR  DWORD       ; Size of a far data pointer%idefine NDPTR  WORD        ; Size of a near data pointer%idefine CPTR   DWORD       ; Size of a code pointer%idefine FCPTR  DWORD       ; Size of a far code pointer%idefine NCPTR  WORD        ; Size of a near code pointer%idefine FPTR   FAR         ; Distance for function pointers%idefine DUINT  dw          ; Declare a integer variable%idefine intsize 2%endif%idefine invert ~%idefine offset%idefine use_nasm; Convert all jumps to near jumps, since NASM does not so this automatically%idefine jo     jo near%idefine jno    jno near%idefine jz     jz near%idefine jnz    jnz near%idefine je     je near%idefine jne    jne near%idefine jb     jb  near%idefine jbe    jbe near%idefine ja     ja  near%idefine jae    jae near%idefine jl     jl  near%idefine jle    jle near%idefine jg     jg  near%idefine jge    jge near%idefine jc     jc  near%idefine jnc    jnc near%idefine js     js  near%idefine jns    jns near%ifdef  DOUBLE%idefine    REAL    QWORD%idefine    DREAL   dq%else%idefine    REAL    DWORD%idefine    DREAL   dd%endif; Boolean truth values (same as those in debug.h)%idefine False      0%idefine True       1%idefine No         0%idefine Yes        1%idefine Yes        1; Macro to be invoked at the start of all modules to set up segments for; later use. Does nothing for NASM.%imacro header 1%endmacro; Macro to begin a data segment%imacro begdataseg 1%ifdef __GNUC__segment .data public class=DATA use32 flat%else%ifdef flatmodelsegment _DATA public align=4 class=DATA use32 flat%elsesegment _DATA public align=4 class=DATA use16%endif%endif%endmacro; Macro to end a data segment%imacro enddataseg 1%endmacro; Macro to begin a code segment%imacro begcodeseg 1%ifdef __PIC__%ifdef __LINUX__        extern _GLOBAL_OFFSET_TABLE_%else        extern __GLOBAL_OFFSET_TABLE_%endif%endif%ifdef __GNUC__segment .text public class=CODE use32 flat%else%ifdef flatmodelsegment _TEXT public align=16 class=CODE use32 flat%elsesegment %1_TEXT public align=16 class=CODE use16%endif%endif%endmacro; Macro to begin a near code segment%imacro begcodeseg_near 0%ifdef __GNUC__segment .text public class=CODE use32 flat%else%ifdef flatmodelsegment _TEXT public align=16 class=CODE use32 flat%elsesegment _TEXT public align=16 class=CODE use16%endif%endif%endmacro; Macro to end a code segment%imacro endcodeseg 1%endmacro; Macro to end a near code segment%imacro endcodeseg_near 0%endmacro; Macro for an extern C symbol. If the C compiler requires leading; underscores, then the underscores are added to the symbol names, otherwise; they are left off. The symbol name is referenced in the assembler code; using the non-underscored symbol name.%imacro cextern 2%ifdef  __NOU_VAR__extern %1%elseextern _%1%define %1 _%1%endif%endmacro%imacro cexternfunc 2%ifdef  __NOU__extern %1%elseextern _%1%define %1 _%1%endif%endmacro; Macro for a public C symbol. If the C compiler requires leading; underscores, then the underscores are added to the symbol names, otherwise; they are left off. The symbol name is referenced in the assembler code; using the non-underscored symbol name.%imacro cpublic 1%ifdef  __NOU_VAR__global %1%1:%elseglobal _%1_%1:%define %1 _%1%endif%endmacro; Macro for an global C symbol. If the C compiler requires leading; underscores, then the underscores are added to the symbol names, otherwise; they are left off. The symbol name is referenced in the assembler code; using the non-underscored symbol name.%imacro cglobal 1%ifdef  __NOU_VAR__global %1%elseglobal _%1%define %1 _%1%endif%endmacro; Macro for an global C function symbol. If the C compiler requires leading; underscores, then the underscores are added to the symbol names, otherwise; they are left off. The symbol name is referenced in the assembler code; using the non-underscored symbol name.%imacro cglobalfunc 1%ifdef __PIC__global %1:function%else%ifdef  __NOU__global %1%elseglobal _%1%define %1 _%1%endif%endif%endmacro; Macro to start a C callable function. This will be a far function for; 16-bit code, and a near function for 32-bit code.%imacro cprocstatic 1%push cproc%1:%ifdef flatmodel%stacksize flat%define ret retn%else%stacksize large%define ret retf%endif%assign %$localsize 0%endmacro%imacro cprocstart 1%push cproc    cglobalfunc %1%1:%ifdef flatmodel%stacksize flat%define ret retn%else%stacksize large%define ret retf%endif%assign %$localsize 0%endmacro; This macro sets up a procedure to be exported from a 16 bit DLL. Since the; calling conventions are always _far _pascal for 16 bit DLL's, we actually; rename this routine with an extra underscore with 'C' calling conventions; and a small DLL stub will be provided by the high level code to call the; assembler routine.%imacro cprocstartdll16 1%ifdef  __WINDOWS16__cprocstart  _%1%elsecprocstart  %1%endif%endmacro; Macro to start a C callable near function.%imacro cprocnear 1%push cproc    cglobalfunc %1%1:%define ret retn%ifdef flatmodel%stacksize flat%else%stacksize small%endif%assign %$localsize 0%endmacro; Macro to start a C callable far function.%imacro cprocfar 1%push cproc    cglobalfunc %1%1:%define ret retf%ifdef flatmodel%stacksize flat%else%stacksize large%endif%assign %$localsize 0%endmacro; Macro to end a C function%imacro cprocend 0%pop%endmacro; Macros for entering and exiting C callable functions. Note that we must; always save and restore the SI and DI registers for C functions, and for; 32 bit C functions we also need to save and restore EBX and clear the; direction flag.%imacro enter_c 0        push    _bp        mov     _bp,_sp%ifnidn %$localsize,0        sub     _sp,%$localsize%endif%ifdef  flatmodel        push    ebx%endif        push    _si        push    _di%endmacro%imacro leave_c 0        pop     _di        pop     _si%ifdef  flatmodel        pop     ebx        cld%endif%ifnidn %$localsize,0        mov     _sp,_bp%endif        pop     _bp%endmacro%imacro   use_ebx 0%ifdef flatmodel        push    ebx%endif%endmacro%imacro   unuse_ebx 0%ifdef flatmodel        pop     ebx%endif%endmacro; Macros for saving and restoring the value of DS,ES,FS,GS when it is to; be used in assembly routines. This evaluates to nothing in the flat memory; model, but is saves and restores DS in the large memory model.%imacro use_ds 0%ifndef flatmodel        push    ds%endif%endmacro%imacro unuse_ds 0%ifndef flatmodel        pop     ds%endif%endmacro%imacro use_es 0%ifndef flatmodel        push    es%endif%endmacro%imacro unuse_es 0%ifndef flatmodel        pop     es%endif%endmacro; Macros for loading the address of a data pointer into a segment and; index register pair. The %imacro explicitly loads DS or ES in the 16 bit; memory model, or it simply loads the offset into the register in the flat; memory model since DS and ES always point to all addressable memory. You; must use the correct _REG (ie: _BX) %imacros for documentation purposes.%imacro _lds    2%ifdef flatmodel        mov     %1,%2%else        lds     %1,%2%endif%endmacro%imacro   _les  2%ifdef flatmodel        mov     %1,%2%else        les     %1,%2%endif%endmacro; Macros for adding and subtracting a value from registers. Two value are; provided, one for 16 bit modes and another for 32 bit modes (the extended; register is used in 32 bit modes).%imacro   _add  3%ifdef flatmodel        add     e%1, %3%else        add     %1, %2%endif%endmacro%imacro _sub    3%ifdef flatmodel        sub     e%1, %3%else        sub     %1, %2%endif%endmacro; Macro to clear the high order word for the 32 bit extended registers.; This is used to convert an unsigned 16 bit value to an unsigned 32 bit; value, and will evaluate to nothing in 16 bit modes.%imacro clrhi   1%ifdef  flatmodel        movzx   e%1,%1%endif%endmacro%imacro sgnhi   1%ifdef  flatmodel        movsx   e%1,%1%endif%endmacro; Macro to load an extended register with an integer value in either mode%imacro loadint 2%ifdef flatmodel        mov     e%1,%2%else        xor     e%1,e%1        mov     %1,%2%endif%endmacro; Macros to load and store integer values with string instructions%imacro LODSINT 0%ifdef flatmodel        lodsd%else        lodsw%endif%endmacro%imacro STOSINT 0%ifdef flatmodel        stosd%else        stosw%endif%endmacro; Macros to provide resb, resw, resd compatibility with NASM%imacro dclb 1times %1 db 0%endmacro%imacro dclw 1times %1 dw 0%endmacro%imacro dcld 1times %1 dd 0%endmacro; Macro to get the addres of the GOT for Linux/FreeBSD shared; libraries into the EBX register.%imacro     get_GOT 1            call    %%getgot%%getgot:   pop     %1            add     %1,_GLOBAL_OFFSET_TABLE_+$$-%%getgot wrt ..gotpc%endmacro; Macro to get the address of a *local* variable that is global to; a single module in a manner that will work correctly when compiled; into a Linux shared library. Note that this will *not* work for; variables that are defined as global to all modules. For that; use the LEA_G macro%macro      LEA_L    2%ifdef __PIC__        get_GOT %1        lea     %1,[%1+%2 wrt ..gotoff]%else        lea     %1,[%2]%endif%endmacro; Same macro as above but for global variables public to *all*; modules.%macro      LEA_G    2%ifdef __PIC__        get_GOT %1        mov     %1,[%1+%2 wrt ..got]%else        lea     %1,[%2]%endif%endmacro; macros to declare assembler function stubs for function structures%imacro BEGIN_STUBS_DEF 2begdataseg  _STUBS%ifdef  __NOU_VAR__extern %1%define STUBS_START %1%elseextern _%1%define STUBS_START _%1%endifenddataseg  _STUBSbegcodeseg  _STUBS%assign off %2%endmacro%imacro   DECLARE_STUB  1%ifdef __PIC__        global %1:function%1:        get_GOT eax        mov     eax,[eax+STUBS_START wrt ..got]        jmp     [eax+off]%else%ifdef  __NOU__        global %1%1:%else        global _%1_%1:%endif        jmp     [DWORD STUBS_START+off]%endif%assign off off+4%endmacro%imacro   SKIP_STUB  1%assign off off+4%endmacro%imacro DECLARE_STDCALL 2%ifdef  STDCALL_MANGLE        global _%1@%2_%1@%2:%else%ifdef STDCALL_USCORE        global _%1_%1:%else        global %1%1:%endif%endif        jmp     [DWORD STUBS_START+off]%assign off off+4%endmacro%imacro   END_STUBS_DEF 0endcodeseg  _STUBS%endmacro

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级二级三级| 日韩三级视频中文字幕| 在线观看亚洲一区| 亚洲精品一线二线三线无人区| 中文无字幕一区二区三区| 亚洲成人综合网站| 99久久婷婷国产综合精品| 欧美情侣在线播放| 亚洲天堂成人网| 国内精品久久久久影院色| 欧美在线观看视频在线| 国产欧美一区二区精品忘忧草| 香蕉久久夜色精品国产使用方法 | 成人福利视频网站| 91精品中文字幕一区二区三区 | 精品日韩一区二区三区免费视频| 亚洲人亚洲人成电影网站色| 激情五月婷婷综合网| 在线成人av影院| 亚洲国产精品一区二区www在线| 91在线视频网址| 国产精品你懂的在线欣赏| 国产白丝网站精品污在线入口| 欧美成人伊人久久综合网| 日韩电影免费在线观看网站| 欧洲一区二区三区在线| 亚洲精品美国一| 色就色 综合激情| 亚洲摸摸操操av| 91丝袜美腿高跟国产极品老师 | 亚洲人成网站色在线观看| 国产一区二区三区久久悠悠色av| 欧美一区二区三区播放老司机| 亚洲gay无套男同| 欧美三级乱人伦电影| 亚洲高清三级视频| 欧美顶级少妇做爰| 男男gaygay亚洲| 精品sm在线观看| 国产成人免费高清| 亚洲视频免费观看| 一区二区三区日韩欧美| 99久久久久久| 亚洲人精品一区| 欧美性欧美巨大黑白大战| 亚洲精选在线视频| 欧美群妇大交群中文字幕| 秋霞电影网一区二区| 日韩一区二区三区高清免费看看| 免费观看成人av| 久久久99免费| www.成人网.com| 一区二区三区在线视频观看| 欧美日韩国产乱码电影| 日本一区中文字幕| 久久久久青草大香线综合精品| 国产+成+人+亚洲欧洲自线| 国产精品亲子伦对白| 91麻豆精东视频| 日韩电影在线一区| 久久免费视频一区| 色综合中文字幕国产| 91麻豆精品久久久久蜜臀| 欧美日韩三级视频| 日本特黄久久久高潮| 26uuu精品一区二区| 91视频在线观看免费| 亚洲国产一区二区视频| 欧美精品一区二区精品网| heyzo一本久久综合| 日精品一区二区| 国产精品免费人成网站| 欧美日韩精品三区| 岛国一区二区在线观看| 亚洲不卡一区二区三区| 欧美国产精品专区| 7777精品伊人久久久大香线蕉的 | 亚洲国产精品国自产拍av| 色综合久久久久久久久久久| 丝袜亚洲另类欧美综合| 久久久不卡影院| 欧美久久一二区| 成人精品免费网站| 老鸭窝一区二区久久精品| 最好看的中文字幕久久| 欧美成人aa大片| 欧美性欧美巨大黑白大战| 成人一级黄色片| 精品亚洲国内自在自线福利| 亚洲最色的网站| 亚洲欧洲日产国码二区| 欧美videos大乳护士334| 在线观看视频一区| 成人黄色综合网站| 国产美女一区二区三区| 蜜桃久久精品一区二区| 亚洲图片欧美一区| 亚洲女爱视频在线| 国产精品久久久久一区| 精品动漫一区二区三区在线观看| 欧美日韩精品系列| 欧美午夜理伦三级在线观看| 91最新地址在线播放| 国产成人精品1024| 国产激情一区二区三区| 美女网站色91| 免费日本视频一区| 日韩激情av在线| 亚洲chinese男男1069| 亚洲一区自拍偷拍| 亚洲一卡二卡三卡四卡| 洋洋成人永久网站入口| 一区二区三区免费看视频| 亚洲视频一区二区免费在线观看| 在线观看亚洲一区| 亚洲黄色免费网站| 亚洲图片激情小说| 国产精品久久久久永久免费观看| 国产欧美日韩麻豆91| 久久久无码精品亚洲日韩按摩| 欧美本精品男人aⅴ天堂| 日韩久久久精品| 久久伊人蜜桃av一区二区| 久久亚洲捆绑美女| 国产日韩欧美高清在线| 欧美国产精品v| 亚洲你懂的在线视频| 夜色激情一区二区| 免费成人结看片| 国产一区二区三区久久悠悠色av| 国产成人在线看| 成人av在线一区二区三区| 99国产精品久| 欧美三电影在线| 欧美一级在线视频| 国产日韩欧美在线一区| 中文字幕人成不卡一区| 亚洲一区二区三区中文字幕| 日本va欧美va精品发布| 国产一区二区三区在线观看免费 | 亚洲超碰精品一区二区| 蜜桃一区二区三区四区| 成人久久18免费网站麻豆| 色婷婷久久久综合中文字幕| 欧美肥妇毛茸茸| 久久久久国产精品人| 亚洲精品国产a| 麻豆国产91在线播放| 丁香另类激情小说| 色综合久久久久久久| 国产69精品久久久久777| 色欧美日韩亚洲| 精品国产伦一区二区三区免费| 国产精品毛片大码女人| 婷婷中文字幕综合| 成人亚洲一区二区一| 欧美日韩一区二区三区高清| 久久久久久久久免费| 亚洲综合激情网| 成人做爰69片免费看网站| 欧美日本在线一区| 中文字幕va一区二区三区| 日韩精品免费专区| 97久久人人超碰| 精品91自产拍在线观看一区| 一区二区三区在线观看网站| 国产一区视频网站| 欧美精品xxxxbbbb| 国产精品久久久久久久久动漫| 蜜桃免费网站一区二区三区| 在线视频国内一区二区| 久久精品视频免费观看| 日本三级亚洲精品| 欧美日韩一区不卡| 综合在线观看色| 国产丶欧美丶日本不卡视频| 欧美日韩精品系列| 洋洋成人永久网站入口| 99久久精品费精品国产一区二区| 欧美大片在线观看| 日韩经典中文字幕一区| 欧美在线观看一区| 亚洲精选免费视频| 99精品黄色片免费大全| 国产欧美一区视频| 国产成人精品网址| 久久精品一区二区三区四区 | 国产精品激情偷乱一区二区∴| 蜜桃传媒麻豆第一区在线观看| 欧美亚洲综合另类| 亚洲精品乱码久久久久久| 成人午夜激情影院| 国产欧美一区二区精品久导航| 黄网站免费久久| 欧美变态tickle挠乳网站| 免费观看在线色综合| 日韩一级免费一区| 久久99九九99精品| 欧美不卡在线视频| 国产九色sp调教91|