⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 window.asm

📁 独孤剑客 ASM Source Code 1998-2001 for DOS
💻 ASM
字号:
;include sub follow
;       version_        show verion
;       window_         window test
       colormarginlight equ     30
       colormargindark  equ     24
;       colorbody
code    segment
        org     100h
        assume  cs:code,ds:code
Start:
        push    cs
        pop     ds
        mov     ax,0a000h
        mov     es,ax

        mov     ax,0013h
        int     10h

        mov     window_mleft,50
        mov     window_mtop,50
        mov     window_mheight,120
        call    window_

        mov     ax,1
        int     33h

        mov     ah,08h
        int     21h
        mov     ax,0003h
        int     10h

        call    version_

        mov     ax,4ch
        int     21h

window_ proc    near
        push    ax
        push    bx
        push    cx
        push    dx
        mov     ax,window_mleft
        mov     bx,window_mtop
        mov     cx,window_mwidth
        mov     dx,window_mheight

        mov     bar3d_mleft,ax
        mov     bar3d_mtop,bx
        mov     bar3d_mwidth,cx
        mov     bar3d_mheight,dx
        call    bar3d_

        mov     bar_mcolor+1,1
        mov     bar_mcolor+2,1
        inc     ax
        mov     bar_mleft,ax
        inc     bx
        mov     bar_mtop,bx
        sub     cx,2
        mov     bar_mWidth,cx
        mov     bar_mheight,16
        call    bar_

        mov     bar3d_mcolor+1,colormarginlight
        mov     bar3d_mcolor+2,colormargindark
        mov     bar3d_mcolor+3,31
        inc     ax
        inc     ax
        mov     Bar3d_mleft,ax
        add     bx,17
        mov     Bar3d_mtop,bx
        sub     cx,4
        mov     Bar3d_mwidth,cx
        sub     dx,20
        mov     Bar3d_mheight,dx
        call    Bar3d_

        pop     dx
        pop     cx
        pop     bx
        pop     ax
        ret
window_mleft    dw      50
window_mtop     dw      100
window_mwidth   dw      203
window_mheight  dw      80
window_mcolor   db      0,24,30,9
window_ endp

version_        proc    near
        mov     ax,1110h
        mov     bh,16
        mov     bl,0
        mov     cx,6
        mov     dx,250
        push    cs
        pop     es
        mov     bp,offset Buff_n
        int     10h

        mov     ah,09h
        mov     dx,offset verstr
        int     21h

        ret

verstr  db      "http://www.asm32.net/",13,10
        db      13,10,9,250,251,252,253,254,255," ^_^ Ver 1.0",13,10
        db      9,"Ring soft 2000.08.15",13,10,"$"

Buff_n  db      2,1,255,0,31,16,16,31,0,127,64,79,72,72,79,64
	db	0,4,254,0,240,16,16,240,4,254,4,228,36,36,228,12
;*************<< 高 >>****************
	db	2,1,0,31,1,1,125,5,5,9,9,17,33,65,5,2
	db	0,0,0,0,8,24,160,64,64,32,32,16,14,4,0,0
;*************<< 永 >>****************
	db	1,127,0,31,16,16,31,0,127,64,143,8,8,8,16,96
	db	8,252,16,248,16,16,240,0,254,34,244,32,32,34,34,30
;*************<< 亮 >>****************
version_        endp

bar_    proc    near
        push    ax
        push    bx
        push    cx
        push    dx
        cmp     bar_mtop,199
        ja      bar_l1
        cmp     bar_mleft,319
        ja      bar_l1
        cmp     bar_mheight,2
        jb      bar_l1
        cmp     bar_mwidth,2
        jb      bar_l1
        jmp     bar_l2
bar_l1:
        jmp     bar_lEndSub
bar_l2:
        mov     ax,0a000h
        mov     es,ax

        mov     ax,bar_mtop
        mov     cx,bar_mwidth
        mov     cx,320
        mul     cx
        mov     di,ax
        add     di,bar_mleft

        push    di
        mov     bx,bar_mleft
        mov     cx,bar_mwidth
        mov     al,bar_mcolor+2
bar_l3:
        stosb
        inc     bx
        cmp     bx,320
        loopnz  bar_l3
        pop     di
        add     di,320

        mov     cx,bar_mheight
        sub     cx,2
        mov     dx,bar_mtop
        inc     dx
bar_l4:
        push    cx
        push    di
        mov     al,bar_mcolor+2
        stosb
        mov     bx,bar_mleft
        inc     bx
        mov     cx,bar_mwidth
        dec     cx
        dec     cx
        mov     al,bar_mcolor+1
bar_l5:
        stosb
        inc     bx
        cmp     bx,320
        loopnz  bar_l5
        inc     bx
        cmp     bx,320
        jnb     bar_l6
        mov     al,bar_mcolor+2
        stosb
bar_l6:
        pop     di
        add     di,320
        pop     cx
        inc     dx
        cmp     dx,200
        loopnz  bar_l4

        cmp     dx,200
        jnb     bar_lEndSub
        push    di
        mov     bx,bar_mleft
        mov     cx,bar_mwidth
        mov     al,bar_mcolor+2
bar_l7:
        stosb
        inc     bx
        cmp     bx,320
        loopnz  bar_l7
        pop     di

bar_lEndSub:
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        ret
bar_mleft    dw      50
bar_mtop     dw      100
bar_mwidth   dw      203
bar_mheight  dw      80
bar_mcolor   db      0,24,30
        ret
bar_    endp

Bar3d_ proc    near
        push    ax
        push    bx
        push    cx
        push    dx
        cmp     Bar3d_mtop,199
        ja      Bar3d_l1
        cmp     Bar3d_mleft,319
        ja      Bar3d_l1
        cmp     Bar3d_mheight,3
        jb      Bar3d_l1
        cmp     Bar3d_mwidth,3
        jb      Bar3d_l1
        jmp     Bar3d_l2
Bar3d_l1:
        jmp     Bar3d_lEndSub
Bar3d_l2:
        mov     ax,0a000h
        mov     es,ax

        mov     ax,Bar3d_mtop
        mov     cx,Bar3d_mwidth
        mov     cx,320
        mul     cx
        mov     di,ax
        add     di,Bar3d_mleft

        push    di
        mov     bx,Bar3d_mleft
        mov     cx,Bar3d_mwidth
        mov     al,Bar3d_mColor+2
Bar3d_l3:
        stosb
        inc     bx
        cmp     bx,320
        loopnz  Bar3d_l3
        pop     di
        add     di,320

        mov     cx,Bar3d_mheight
        sub     cx,2
        mov     dx,Bar3d_mtop
        inc     dx
Bar3d_l4:
        push    cx
        push    di
        mov     al,Bar3d_mColor+2
        stosb
        mov     bx,Bar3d_mleft
        inc     bx
        mov     cx,Bar3d_mwidth
        dec     cx
        dec     cx
        mov     al,Bar3d_mColor+3
Bar3d_l5:
        stosb
        inc     bx
        cmp     bx,320
        loopnz  Bar3d_l5
        inc     bx
        cmp     bx,320
        jnb     Bar3d_l6
        mov     al,Bar3d_mColor+1
        stosb
Bar3d_l6:
        pop     di
        add     di,320
        pop     cx
        inc     dx
        cmp     dx,200
        loopnz  Bar3d_l4

        cmp     dx,200
        jnb     Bar3d_lEndSub
        push    di
        mov     bx,Bar3d_mleft
        mov     cx,Bar3d_mwidth
        mov     al,Bar3d_mColor+1
Bar3d_l7:
        stosb
        inc     bx
        cmp     bx,320
        loopnz  Bar3d_l7
        pop     di

Bar3d_lEndSub:
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        ret
Bar3d_mleft    dw      50
Bar3d_mtop     dw      100
Bar3d_mwidth   dw      203
Bar3d_mheight  dw      80
Bar3d_mColor   db      0,24,30,9
Bar3d_ endp

code    ends
        end     Start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -