目录 上一页 下一页 下一章

-266- PC机汇编语言实战精解















even_line:

























push
push
push
push
push

mov
mov
mov

mov
shr
jnc
mov

mov
mul
add

mov
mov
div

push
mov
add

pop
xchg
shl
mov
shr

or

pop
pop
pop
pop
pop
bx
cx
dx
di
es

ax,0b800h
es,ax
di,0

ax,dx
ax,1
even_line
di,2000h

bx,80
bx
di,ax

ax,cx
bl,4
bl

ax
ah,0
di,ax

cx
ch,cl
cl,1
al,01000000b
al,cl

byte ptr es:[di],al

es
di
dx
cx
bx






;ES:DI指向图形显示缓冲区首



;Y坐标送入AX寄存器
;判断Y坐标是否为奇数
;若移出的位是0,说明所画线位于偶数行
;所画线位于奇数行,DI指向偏移2000H处

;计算"行数 x 80"

;"行数 x 80"累加入DI寄存器

;计算一行内的偏移量



;暂存余数
;将商转换成16位累加入DI寄存器


;将余数送入CH寄存器
;交换CH,CL寄存器
;余数 x 2作为移位计数
;最高两位为颜色值
;将颜色值移到指定位置

;将含有颜色值的字节送入显示缓冲区

;恢复寄存器





Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章