实验10的第一个实验
自己敲出来的,中间遇到了一些问题,上来看了看其他同学的代码呵呵。不过我只是看了看思路。下面是我敲的代码assume cs:code
data segment
db 'Welcone to masm',0
data ends
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov ax,stack
mov ss,ax
mov sp,10h
mov dh,8 ;行数 0--24
mov dl,30 ;列数 0---79
mov cl,2 ;颜色 B8000H---Bffff
mov ch,0
mov si,0 ;数值的首地址
mov al,dh ;下面到CALL的代码都是行数和列数的运算
mov ah,0
mov dh,160
mul dh
mov bx,ax
mov al,dl
mov ah,0
mov dl,2
mul dl
mov di,ax
call show
mov ax,4c00h
int 21h
show: push cx
mov al, ; 把si内存的内容给AL
mov cl,al
jcxz ok ;循环到CX=0就跳转
mov es:,al
pop cx
mov es:,cl
inc si
add di,2
jmp short show
ok: pop cx
ret
code ends
end start
来看看,那个颜色的范围好像不是b8000-bffff吧,这应该是显存范围 没错额,b8000-bffff是显存的地址,但颜色也要在显存段中设置额,楼主是对的 看看老帖,支持下
页:
[1]