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

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

?? c0w.asm

?? 這個就是所謂ucos的33個例子
?? ASM
字號:
;[]------------------------------------------------------------[]
;|      C0W.ASM -- Start Up Code For Windows                    |
;[]------------------------------------------------------------[]

;
;       C/C++ Run Time Library - Version 5.0
; 
;       Copyright (c) 1991, 1992 by Borland International
;       All Rights Reserved.
; 

                locals

                __C0__ = 1
include         RULES.ASI

                ASSUME CS:_TEXT, DS:DGROUP

                public  __acrtused              ;satisfy MS for now
__acrtused      equ     0

extrn           WINMAIN:DIST
extrn           INITAPP:far
extrn           INITTASK:far
extrn           FATALEXIT:far
extrn           WAITEVENT:far
extrn           LOCKSEGMENT:far
extrn           UNLOCKSEGMENT:far
extrn           GETWINFLAGS:far
extrn           _exit:DIST
extrn           __exitbuf:DIST
extrn           __exitfopen:DIST
extrn           __exitopen:DIST
extrn           __setupio:near                  ;required!

NULL            segment
                db      16 dup (?)
                ends

_CVTSEG         segment
                public __RealCvtVector
__RealCvtVector label word
                ends

_SCNSEG         segment
                public __ScanTodVector
__ScanTodVector label word
                ends

_FPSEG          segment
                public __FPVector
__FPVector      dd      0
                ends

_DATA           segment
                public _errno
_errno          dw      0
                public __protected
__protected     dw      0
                public __8087
__8087          dw      0
                public __psp
__psp           dw      0
                public __hInstance
__hInstance     dw      0
                public __hPrev
__hPrev         dw      0
                public __pszCmdline
__pszCmdline    dw      0
                public __cmdShow
__cmdShow       dw      0
                public __StartTime
__StartTime     dd      0
                public __version
__version       label word
                public __osversion
__osversion     label word
                public __osmajor
__osmajor       db      0
                public __osminor
__osminor       db      0
                public __osmode         ;Used for OS/2 protected mode by MS,
__osmode        db      0               ;currently set to 0 under Windows
                public __WinAllocFlag   ;Used by malloc to get additional flags
__WinAllocFlag  dw      0               ;to pass to GlobalAlloc (for DLL use)
                public __LockWIN87EM    ;Used do lock down WIN87EM to avoid
__LockWIN87EM   dw      1               ;DLL unload ordering problem

CopyRight       db      'Borland C++ - Copyright 1991 Borland Intl.',0
                ends

_TEXT           segment

Main            proc near

;Windows initialization.  Sets up registers and stack.

                ;INITTASK returns:
                ;  'Failure:
                ;    AX = zero if it failed
                ;  Success:
                ;    AX = 1
                ;    CX = stack limit
                ;    DX = cmdShow parameter to CreateWindow
                ;    ES:BX = -> DOS format command line (ES = PSP address)
                ;    SI = hPrevinstance
                ;    DI = hinstance
                call    INITTASK
                or      ax,ax
                jnz     @@OK
                jmp     @@Fail
@@OK:           mov     __psp,es
                mov     word ptr __pszCmdline,bx
                mov     __hPrev,si
                mov     __hInstance,di
                mov     __cmdShow,dx

IF LDATA EQ false
                mov     ax,-1
                push    ax
                call    LOCKSEGMENT
ENDIF

;Clear _BSS, uninitialized data area

IFNDEF  __HUGE__
                xor     ax, ax
                push    ds
                pop     es
                mov     di,offset DGROUP:BeginBSS
                mov     cx,offset DGROUP:EndBSS
                sub     cx,di
                cld
                rep
                stosb
ENDIF

;Init the Windows App

                xor     ax,ax
                push    ax
                call    WAITEVENT
                push    __hInstance
                call    INITAPP
                or      ax,ax
                jnz     @@InitOK
                jmp     @@Fail
@@InitOK:

;Save start time of App

                mov     ah, 0
                int     1ah             ; get current BIOS time in ticks
                mov     word ptr __StartTime,dx ; save it for clock() fn
                mov     word ptr __StartTime+2,cx
                or      al,al                   ; was midnight flag set?
                jz      @@NotMidnight
                mov     ax,40h                  ; set BIOS midnight flag
                mov     es,ax                   ;  at 40:70
                mov     bx,70h
                mov     byte ptr es:[bx],1
@@NotMidnight:

;Determine DOS version

                mov     ah, 30h
                int     21h
                mov     __version, ax   ; save minor and major revision

;Determine whether we are in protected mode

                call    GETWINFLAGS
                test    ax,1            ; WF_PMODE = 1
                jz      @@realmode      ; Note:  GETWINFLAGS returns a long,
                                        ; so if WF_PMODE changed it could be
                                        ; in the high word.
                mov     __protected, 8  ; Eight is for convenience.
@@realmode:

;Test for 8087 presence

                test    dx,04h          ; WF_8087 = 0x0400
                jz      @@no8087
                mov     __8087, 1
@@no8087:

;Call our initialization functions, including C++ static constructors.

                mov     ax,ds
                mov     es,ax
                mov     si,offset DGROUP:InitStart      ;si = start of table
                mov     di,offset DGROUP:InitEnd        ;di = end of table
                call    Initialize

;Set up and call WinMain

                push    __hInstance
                push    __hPrev
                push    __psp
                push    word ptr __pszCmdline
                push    __cmdShow
                call    WINMAIN
                push    ax
                call    _exit

;---------------------------------------------------------------------------
;       _cleanup()      call all #pragma exit cleanup routines.
;       _checknull()    check for null pointer zapping copyright message
;       _terminate(int) exit program with error code
;       _restorezero()  restore interrupt vectors
;
;       These functions are called by exit(), _exit(), _cexit(),
;       and _c_exit().
;---------------------------------------------------------------------------

;       Call cleanup routines

__cleanup       PROC    DIST
                PUBLIC  __cleanup

                mov     ax,ds
                mov     es,ax
                push    si
                push    di
                mov     si,offset DGROUP:ExitStart
                mov     di,offset DGROUP:ExitEnd
                call    Cleanup
                pop     di
                pop     si
                ret
__cleanup       ENDP

;       Check for null pointers before exit.  NO-OP on Windows.

__checknull     PROC    DIST
                PUBLIC  __checknull
                ret
__checknull     ENDP

;       Restore grabbed interrupt vectors.  NO-OP on Windows.

__restorezero     PROC    DIST
                PUBLIC  __restorezero
                ret
__restorezero     ENDP

;       Exit to DOS

__terminate     PROC    DIST
                PUBLIC  __terminate

IF LDATA EQ false
                mov     ax,-1
                push    ax
                call    UNLOCKSEGMENT
ENDIF
                mov     bp,sp
                mov     al,[bp+cPtrSize]
                mov     ah,4ch                  ;exit
                int     21h
__terminate     ENDP

@@Fail:         mov     al,0ffh
                push    ax
                call    _exit

                mov     ah,4ch                  ;exit
                int     21h
                endp

;       Return default data segment in AX

__GetDGROUP     PROC    FAR
                PUBLIC  __GetDGROUP
                mov     ax, ss
                ret
                endp

;------------------------------------------------------------------
;  Loop through a startup/exit (SE) table,
;  calling functions in order of priority.
;  ES:SI is assumed to point to the beginning of the SE table
;  ES:DI is assumed to point to the end of the SE table
;  First 64 priorities are reserved by Borland
;------------------------------------------------------------------
PNEAR           EQU     0
PFAR            EQU     1
NOTUSED         EQU     0ffh

SE              STRUC
calltype        db      ?                       ; 0=near,1=far,ff=not used
priority        db      ?                       ; 0=highest,ff=lowest
addrlow         dw      ?
addrhigh        dw      ?
SE              ENDS

Initialize      proc near
@@Start:        mov     ax,100h                 ;start with lowest priority
                mov     dx,di                   ;set sentinel to end of table
                mov     bx,si                   ;bx = start of table

@@TopOfTable:   cmp     bx,di                   ;and the end of the table?
                je      @@EndOfTable            ;yes, exit the loop
                cmp     es:[bx.calltype],NOTUSED;check the call type
                je      @@Next
                mov     cl, es:[bx.priority]    ;move priority to CX
                xor     ch, ch
                cmp     cx,ax                   ;check the priority
                jae     @@Next                  ;too high?  skip
                mov     ax,cx                   ;keep priority
                mov     dx,bx                   ;keep index in dx
@@Next:         add     bx,SIZE SE              ;bx = next item in table
                jmp     @@TopOfTable

@@EndOfTable:   cmp     dx,di                   ;did we exhaust the table?
                je      @@Done                  ;yes, quit
                mov     bx,dx                   ;bx = highest priority item
                cmp     es:[bx.calltype],PNEAR  ;is it near or far?
                mov     es:[bx.calltype],NOTUSED;wipe the call type
                push    es                      ;save es
                je      @@NearCall

@@FarCall:      call    DWORD PTR es:[bx.addrlow]
                pop     es                      ;restore es
                jmp     short @@Start

@@NearCall:     call    WORD PTR es:[bx.addrlow]
                pop     es                      ;restore es
                jmp     short @@Start

@@Done:         ret
                endp

Cleanup         proc near
@@Start:        mov     ah,0                    ;start with highest priority
                mov     dx,di                   ;set sentinel to end of table
                mov     bx,si                   ;bx = start of table

@@TopOfTable:   cmp     bx,di                   ;and the end of the table?
                je      @@EndOfTable            ;yes, exit the loop
                cmp     es:[bx.calltype],NOTUSED;check the call type
                je      @@Next
                cmp     es:[bx.priority],ah     ;check the priority
                jb      @@Next                  ;too low?  skip
                mov     ah,es:[bx.priority]     ;keep priority
                mov     dx,bx                   ;keep index in dx
@@Next:         add     bx,SIZE SE              ;bx = next item in table
                jmp     @@TopOfTable

@@EndOfTable:   cmp     dx,di                   ;did we exhaust the table?
                je      @@Done                  ;yes, quit
                mov     bx,dx                   ;bx = highest priority item
                cmp     es:[bx.calltype],PNEAR  ;is it near or far?
                mov     es:[bx.calltype],NOTUSED;wipe the call type
                push    es                      ;save es
                je      @@NearCall

@@FarCall:      call    DWORD PTR es:[bx.addrlow]
                pop     es                      ;restore es
                jmp     short @@Start

@@NearCall:     call    WORD PTR es:[bx.addrlow]
                pop     es                      ;restore es
                jmp     short @@Start

@@Done:         ret
                endp

                ends

                end Main

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美一区二区三区乱码| 在线看一区二区| 亚洲国产高清不卡| av一本久道久久综合久久鬼色| 26uuu国产日韩综合| 日韩电影在线免费| xf在线a精品一区二区视频网站| 91视视频在线观看入口直接观看www | 国产喂奶挤奶一区二区三区| 一区二区日韩av| 从欧美一区二区三区| 综合中文字幕亚洲| 色噜噜狠狠色综合欧洲selulu| 亚洲一二三区在线观看| 欧美亚洲精品一区| 亚洲444eee在线观看| 日韩精品中文字幕在线不卡尤物 | 国产精品丝袜在线| 99久久国产综合精品女不卡| 亚洲自拍偷拍av| 亚洲欧美日韩综合aⅴ视频| 91久久精品一区二区| 老司机免费视频一区二区三区| 国产欧美日韩精品a在线观看| 日本国产一区二区| 国产精品综合网| 亚洲最大成人综合| 国产性天天综合网| 欧美日韩大陆在线| 成人激情校园春色| 日韩精品视频网| 国产精品久久免费看| 91精品国产一区二区人妖| 懂色av一区二区夜夜嗨| 亚洲综合丝袜美腿| 国产精品成人一区二区艾草| 欧美一个色资源| 欧美日韩午夜在线视频| 99精品视频在线观看| 久久成人综合网| 天天色综合天天| 亚洲卡通欧美制服中文| 国产亚洲精品中文字幕| 欧美一级电影网站| 9191精品国产综合久久久久久| 波多野结衣亚洲| 成人午夜又粗又硬又大| 国产一区欧美一区| 狠狠狠色丁香婷婷综合激情 | 精品女同一区二区| 日韩三级高清在线| 欧美一区二区三区视频在线观看| 色素色在线综合| 91在线观看成人| 91亚洲精品一区二区乱码| 丁香激情综合国产| 菠萝蜜视频在线观看一区| 国产**成人网毛片九色| 国产盗摄一区二区| a在线欧美一区| 99精品黄色片免费大全| 99精品视频在线播放观看| 成人免费视频国产在线观看| 经典一区二区三区| 国产一区二区在线观看免费| 国精产品一区一区三区mba桃花| 日本欧美在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品亚洲一区二区三区妖精 | 中文文精品字幕一区二区| 中文字幕巨乱亚洲| 一区二区三区欧美亚洲| 午夜免费久久看| 国产一区在线精品| 国产精品亚洲一区二区三区在线| 成人app网站| 欧美日韩免费电影| 国产日韩精品一区二区浪潮av| 亚洲国产高清不卡| 亚洲人吸女人奶水| 婷婷丁香久久五月婷婷| 国产成人自拍在线| 欧美丰满少妇xxxxx高潮对白 | 亚洲线精品一区二区三区| 狠狠色丁香婷婷综合久久片| 欧美午夜精品理论片a级按摩| 久久先锋资源网| 日本色综合中文字幕| 91久久精品一区二区二区| 国产精品网站一区| 久久99精品一区二区三区| 欧美日韩国产综合一区二区 | aaa国产一区| 久久久久国产成人精品亚洲午夜| 日韩不卡免费视频| 欧美日韩一区二区三区不卡| 亚洲柠檬福利资源导航| 懂色av一区二区在线播放| 欧美精品一区二区三区蜜桃| 天堂影院一区二区| 欧美日韩精品欧美日韩精品| 亚洲激情一二三区| 欧美在线观看视频一区二区 | 国产精品久久影院| 成人免费视频视频在线观看免费| 久久久美女艺术照精彩视频福利播放| 蜜桃视频免费观看一区| 精品欧美黑人一区二区三区| 毛片一区二区三区| 欧美xxxx老人做受| 国产一区二区三区久久悠悠色av| 久久蜜桃一区二区| 成人在线一区二区三区| 18欧美乱大交hd1984| 色久优优欧美色久优优| 亚洲成人自拍网| 日韩欧美电影在线| 国产精品一区二区黑丝| 国产三级欧美三级日产三级99 | 欧美精选一区二区| 看电影不卡的网站| 国产精品视频麻豆| 欧美视频日韩视频| 久久99精品国产.久久久久久| 久久综合999| 色综合色综合色综合色综合色综合 | 国产精品久久久久久久浪潮网站| 波多野结衣在线一区| 亚洲最色的网站| 精品av久久707| 99精品视频在线播放观看| 婷婷国产在线综合| 久久婷婷久久一区二区三区| 99久久er热在这里只有精品66| 一区二区不卡在线视频 午夜欧美不卡在 | 99国产精品视频免费观看| 日本不卡在线视频| 亚洲欧洲色图综合| 精品乱人伦小说| 日本福利一区二区| 国产成人在线视频网站| 丁香五精品蜜臀久久久久99网站| 一区二区三区91| 国产三级精品三级在线专区| 欧美三级日韩三级| zzijzzij亚洲日本少妇熟睡| 蜜臀精品一区二区三区在线观看| 中文字幕在线不卡视频| 欧美精品一区二区蜜臀亚洲| 欧美影视一区二区三区| 波多野结衣一区二区三区| 激情深爱一区二区| 亚洲va韩国va欧美va精品| 综合欧美亚洲日本| 国产女人aaa级久久久级| 日韩午夜小视频| 666欧美在线视频| 欧美视频中文字幕| 色狠狠桃花综合| 91视频国产观看| 99久久精品免费看| 粉嫩绯色av一区二区在线观看| 精品一区中文字幕| 久久精品国产亚洲a| 免费高清视频精品| 日本欧美一区二区| 美国av一区二区| 国精产品一区一区三区mba桃花| 美女视频第一区二区三区免费观看网站 | 色视频欧美一区二区三区| 91在线视频免费观看| www.一区二区| 色综合激情五月| 色婷婷亚洲婷婷| 欧美人体做爰大胆视频| 日韩欧美一区在线观看| 精品国产伦一区二区三区观看方式 | 91麻豆国产在线观看| 91成人在线免费观看| 欧美视频日韩视频在线观看| 欧美另类z0zxhd电影| 精品国产1区2区3区| 色噜噜狠狠色综合欧洲selulu| 久久国产精品第一页| 日韩成人av影视| 日本黄色一区二区| 国产精品毛片高清在线完整版| 美日韩一区二区三区| 欧美色综合网站| 1区2区3区欧美| 成人做爰69片免费看网站| 日韩欧美视频在线| 99免费精品视频| 国产成人免费视频网站高清观看视频 | 国产成人免费视频一区| 91精品国产综合久久精品麻豆| 亚洲欧美激情插| 成人精品一区二区三区四区| 欧美成人伊人久久综合网| 丝袜美腿亚洲色图|