正在学习汇编语言,很喜欢小甲鱼的视频,吼吼实验十,显示字符串,自己的答案,哈哈
assume cs:code,ds:data
data segment
db 'Welcome to masm,haha!',0
data ends
code segment
main:
mov dh,11
mov dl,32
mov cl,24h
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str: ;参数:(dh)=行号(取值范围0-24),(dl)=列号(取值范围0-79)
;(cl)=颜色,ds:si 指向字符串的首地址
push ax
push bx
push cx
push dx
push si
push es
push di ; 保存寄存器原始信息,防止被子程序破坏
mov ax,0 ;注意,使用前,清零。否则很有可能会影响结果
mov bx,0
mov ah,dh
mov bl,160
mul bl
add dl,dl
add al,dl
add ax,0b800h
mov es,ax ;显示字符串的屏幕起始位置
mov di,0
mov al,cl
s: mov cl,[si]
mov ch,0
jcxz ok
mov es:[di],cl
mov es:1[di],al
inc si
add di,2
jmp short s
ok: pop di ;恢复寄存器信息,并返回主程序
pop es
pop si
pop dx
pop cx
pop bx
pop ax
ret
code ends
end main