汇编语言——显示字符串(子程序)

运行效果(显示"Welcome to masm!"字符串):

(https://img-blog.csdnimg.cn/f77a4961df2f4350b7fae9e82aa44a89.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MzM5MTk1Nw==,size_16,color_FFFFFF,t_70)
程序如下:

assume cs:code
data segment
	db 'Welcome to masm!',0
data ends

code segment
start:	
	mov dh,8
	mov dl,3
	mov cl,2
	mov ax,data 
	mov ds,ax
	mov si,0
	
	call show_str
	
	mov ax,4c00h
	int 21h

show_str:
	push cx
	push si
	;ax获取,bx存放
	mov al,0a0h
	
	dec dh
	mul dh
	
	mov bx,ax
	
	mov al,2
	mul dl
	sub ax,2
	
	add bx,ax
	;ax行列号偏移地址获取,bx存放行列号偏移地址
	
	mov ax,0b800h
	mov es,ax
	
	mov di,0
	
	mov al,cl	;al存放颜色,cl存放字符
	
	mov ch,0

s:	
	mov cl,ds:[si]
	
	jcxz ok
	
	;al存放颜色,cl存放字符
	mov es:[bx+di],cl
	mov es:[bx+di+1],al
	
	inc si
	
	add di,2
	jmp short s
	
ok:
	pop si
	pop cx
	ret


code ends
end start
		

猜你喜欢

转载自blog.csdn.net/weixin_53391957/article/details/119819015
今日推荐