;编程实现一个int 7ch的中断例程
;输入(dh)=行号,(dl)=列号,(cl)=颜色 ds:si指向字符串首地址,0结尾
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start: ;程序装载程序
mov ax,cs
mov ds,ax
mov si,offset head
mov ax,0
mov es,ax
mov di,200h
mov cx,offset tail-offset head
cld
rep movsb
;设置程序入口地址
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov dh,10
mov dl,10
mov cl,2
mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
head: push ax
push bx
push cx
push di
push si
mov al,dh
mov ah,0
mov bl,160
mul bl
mov dh,0
add ax,dx
add ax,dx
mov di,ax
mov ax,0b800h
mov es,ax
mov bl,cl
mov ch,0
s: mov ax,[si]
mov es:[di],ax
mov es:[di+1],bl
mov cl,[si]
jcxz ok
inc si
add di,2
loop s
ok: pop si
pop di
pop cx
pop bx
pop ax
iret
tail: nop
code ends
end start
王爽实验13
最新推荐文章于 2022-10-15 15:11:11 发布