(1) 编写,并安装myshow程序
assume cs:code
code segment
start:
mov ax , cs
mov ds , ax
mov si , offset myshow
mov ax , 0
mov es , ax
mov di , 200h
mov cx , offset myshowend - offset myshow
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
myshow:
push ax
push es
push bx
push si
mov ax , 0B800h
mov es , ax
mov ax , 160
mul dh
mov bx , ax
mov ax , 2
mul dl
add bx , ax
show:
cmp byte ptr [si] , 0
je over
mov al , [si]
mov es:[bx] , al
inc bx
mov es:[bx] , cl
inc bx
inc si
jmp short show
over:
pop si
pop bx
pop es
pop ax
iret
myshowend: nop
code ends
end start
(2)编写调用程序
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