王爽《汇编语言》实验9:显示字符,个人简单方法,

assume cs:code,ds:datasg,ss:stack

datasg segment
		db "welcome to masm!";十六个字符
		db 02H,24H,71H
datasg ends

stack segment
		db 16 dup(0)
stack ends


;绿字02h,绿底红字24h,白底蓝字71h
;25行,所以要从0开始,我们要用到的是11,12,13行。
;偏移量为11*160=1760,12*160=1920,13*16=2080
;我们需要放进16+16个字符,分别是welcome to masm!和颜色属性
;所以列偏移量为(160-16*2)/2 = 64
;所以偏移依次为:1824,1984,2144
code segment 
start:
	mov ax,datasg 
	mov ds,ax;

	mov ax,0b800h
	mov es,ax;

	mov ax,stack
	mov ss,ax 
	mov sp,10H;

	mov bx,0
	mov si,16
	mov di,1824;11行64列开始11*160+(160-16(wel...字符)+16(效果字符))/2=1824
				;11*160-(16+16)/2
	mov cx,3
s0:
	push cx
	mov bx,0
	mov cx,16
s1:
	mov ah,byte ptr ds:[si]
	mov al,byte ptr ds:[bx]
	mov word ptr es:[di],ax
	inc bx
	add di,2
	loop s1
	inc si
	add di,128;转移到下一行
	pop cx
	loop s0

	mov ax,4c00h
	int 21H
code ends 
end start 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未成年梦想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值