assume cs:code,ds:data
data segment
str1 db 'Welcome to masm !',0
str2 db 'Assam loves small bird.',0
data ends
code segment
start:
mov ax,data
mov ds,ax
mov dx,105h
mov cl,74h
mov si,offset str1
call show_str;
mov dx,500h
mov cl,74h
mov si,offset str2
call show_str;
mov ax,4c00h
int 21h
show_str:
;show a string at specific postion
;parameters:
; (dh)=horizontal number(0~24),(dl)=vertical number(0~79)
; (cl)=color, ds:si=start address of the string
push ax
push cx
push dx
push es
push di
push si
mov ax,0b800h
mov es,ax
mov ax,0a0h
mul dh
mov dh,0
add ax,dx
add ax,dx
mov di,ax
mov ah,cl
mov cx,0
putm:
mov ch,ds:[si]
jcxz ok
mov es:[di],ch
mov es:[di+1],ah
add di,2
inc si
jmp putm
ok:
pop si
pop di
pop es
pop dx
pop cx
pop ax
ret
code ends
end start
![学习动态](images/model1/b8.gif)
![最新评论](images/model1/b1.gif)
- [911911911] lpr: push cx mov cx,4h 11/12 10:32
- [qq93324030] 哦,谢谢,我以前理解错了,谢谢 10/10 01:48
- [mess] 做完了课设一,后面的程序反而简单了 ^_^ 10/09 15:18
- [mess] 对于第一题和第二题,我认为程序的第一条指令是在B和D处,而不是A或者C处,因为A和C处只是属于源程序 10/09 15:16
- [mess] 每一个人都有一个成长的过程。 大家一起努力。 10/09 15:13