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

📄 asc16.asm

📁 独孤剑客 ASM Source Code 1998-2001 for DOS
💻 ASM
字号:
code    segment
        org     100h
        assume  cs:code,ds:code
Start:  push    cs
        pop     ds
        cld

        mov     ax,0013h
        int     10h

        call    DrawDot

        call    wrap

        mov     ah,08h
        int     21h

        mov     ax,0003h
        int     10h

        mov     ax,4c00h
        int     21h

DrawDot proc    near

        mov     ah,11h
        mov     al,30h
        mov     bh,06
        int     10h

        mov     ax,es
        mov     ds,ax
        mov     si,bp

        mov     bh,32           ;char color

        mov     ax,0a000h
        mov     es,ax
        mov     di,20*320+20
        mov     dh,8
DotLoop2:
        push    di
        mov     dl,32
DotLoop1:
        mov     bl,16
DotLoop0:
        lodsb
        mov     ah,al
        mov     al,bh
        mov     cx,8
DotLoop:
        rol     ah,1
        jc      NoDot
        inc     di
        jmp     DotNext
NoDot:  stosb
DotNext:loop    DotLoop
        add     di,320-8

        dec     bl
        jnz     DotLoop0

        sub     di,320*16-8
        dec     dl
        jnz     DotLoop1

        pop     di
        add     di,320*16
        dec     dh
        jnz     DotLoop2
        ret
DrawDot endp

wrap    proc    near
        mov     ah,32
        mov     al,31
Wrap_color:
        mov     di,320*1
        mov     cx,320*198
LoopWrap:
        cmp     es:[di],al
        jbe     No_Wrap
        mov     bx,320

        cmp     es:[bx+di],al
        ja      Wrap_next1
        mov     es:[bx+di],al
Wrap_next1:
        cmp     es:[di+1],al
        ja      Wrap_next2
        mov     es:[di+1],al
Wrap_next2:
        cmp     es:[di-1],al
        ja      Wrap_next3
        mov     es:[di-1],al
Wrap_next3:
        neg     bx
        cmp     es:[bx+di],al
        ja      Wrap_next4
        mov     es:[bx+di],al
Wrap_next4:

No_Wrap:
        inc    di
        loop   loopWrap

        dec     al
        cmp     al,16
        ja      Wrap_Color

        ret
wrap    endp

code    ends
        end     Start

⌨️ 快捷键说明

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