汇编语言-王爽实验10-题1显示字符串

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


code segment
start: mov dh,8   ;行数
	mov dl,3   ;列数
	mov cl,01110001B;颜色
	mov ax,data
	mov ds,ax
	mov si,0
	call show_str

	mov ax,4c00h
	int 21h
show_str: ;
	mov bh, cl   ;保存颜色到bx高位

	mov ax,25 ; 每行25个
	mul dh    ; 计算偏移位置 ax = dh * al 
	mov dh ,0   ; dh用完了
	add ax, dx     ; 得到最终偏移位置 = 行偏移+列偏移
	add ax,0B800h      ;  此时es指向要显示的首位置
	mov es, ax

	mov di,0 ; 存储位置

put_str:
	mov cl,ds:[si]
	mov ch,0
	jcxz ok   ; 如果cx=0就结束
	;不等于0就把字符串复制过去
	mov bl,cl

	mov es:[di], bx
	add di,2
	inc si
	jmp short put_str;短转移
ok : ret

code ends
end start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值