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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值