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

📄 posxy.asm

📁 汇编源代码大全
💻 ASM
字号:
;
; Tasm module, Call from C
;
; pos_xy( int x, int y );
;
; Written by Craig Allsop, Public Domain.
; Assumes 16 colour mode, and screen width of 640 pixels.
;
; I only typed this from memory, but it should work.
;

ideal
model   small,c
codeseg

proc    pos_xy
        arg     x:word, y:word

        mov     ax,[y]
        mov     bl,80                   ; width of screen / 8 (bytes)
        mul     bl
        mov     bx,[x]
        mov     cl,bl
        shr     bx,3                    ; Convert to bytes from pixels
        add     bx,ax
        and     cl,7                    ; Keep pixel offset
        mov     dx,3d4h
        mov     ah,0ch
        mov     al,bh
        out     dx,al                   ; Set high order of address
        mov     ah,0dh
        mov     al,bl
        out     dx,al                   ; Set low order of address
        mov     dh,0dah
        in      al,dx
        mov     dh,0c0h
        mov     al,33h                  ; Register 13 OR 20
        out     dx,al
        mov     al,cl
        out     dx,al                   ; Output pixel panning offset
        ret
endp
end pos_xy

⌨️ 快捷键说明

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