《汇编语言》王爽 --实验十 显示字符串

正在学习汇编语言,很喜欢小甲鱼的视频,吼吼实验十,显示字符串,自己的答案,哈哈
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

你可能感兴趣的:(汇编)