您的位置:首页 > 其它

王爽《汇编语言》实验13:编写、应用中断例程 - 打印字符串 解答

2012-12-19 23:03 323 查看
中断例程:

assume cs:code

code segment
start:
mov ax,cs
mov ds,ax
mov si,offset prints
mov ax,0
mov es,ax
mov di,200h
mov cx,offset printsend-offset prints
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 ax,4c00h
int 21h
;dh 行号 dl列号 cl颜色 ds:si字符串首地址
prints:
push si
push ax
push es
push di
push cx

mov ax,0b800h
mov es,ax

mov al,160d
mul dh
mov di,ax
mov al,2
mul dl
add di,ax

mov al,cl
mov ch,0
print:
mov cl,ds:[si]
jcxz printok

mov es:[di],cl
mov es:[di+1],al
inc si
add di,2
jmp short print

printok:
pop cx
pop di
pop es
pop ax
pop si
iret

printsend:
nop

code ends
end start


测试程序:
assume cs:code

data segment
db "welcome to masm!",0
data ends

code segment
start:
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
code ends
end start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: