王爽《汇编语言》实验9:显示字符 解答

来源:互联网 发布:仿2017小米商城源码 编辑:程序博客网 时间:2024/04/30 08:16
直接看代码:
assume cs:code,ds:data,ss:stackdata segmentdb "welcome to masm!"; 绿字02h,绿底红字24h,白底蓝字71hdb 02h,24h,71h; 25行,从0开始,算出中间为11,12,13行。偏移量为11*160=1760,12*160=1920,13*16=2080; 16个字符,加上颜色属性,算出列偏移量为(160-16*2)/2 = 64dw 1824,1984,2144data endsstack segmentdw 8 dup(0)stack endscode segmentstart:mov ax,datamov ds,axmov ax,0b800hmov es,axmov cx,3mov di,0 ;每行的初始地址的递增量,每个循环加2mov si,0 ;每次的颜色属性的递增量,每个循环加1s:push cxpush dipush simov bx,[19+di] ;取初始地址,19是data数据前两行占的大小mov bp,[16+si] ;取颜色,16是data数据前一行行占的大小mov di,0 ;循环加入字符的递增量,每次加1mov si,0 ;写入内存时字符递增量,每次加2mov cx,16s0:mov al,[di]mov es:[bx+si],al mov al,[bp]mov es:[bx+si+1],alinc diadd si,2loop s0pop sipop dipop cxinc siadd di,2loop smov ax,4c00hint 21hcode endsend start



win7的话要装一个dos才能运行看到效果,我这篇文章有介绍怎么安装:
http://blog.csdn.net/lixiang0522/article/details/8290382
原创粉丝点击