汇编实验九:在屏幕中间位置显示三行彩色字符串
创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达10年累计超上千家客户的网站建设总结了一套系统有效的全网整合营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:石牌坊等企业,备受客户称赞。80*25彩色字符模式显示缓冲区在B8000H到BFFFFH位置。一行80个字符号,160个字节。其中每个字的低位存储ASC2码,高位存储字符颜色属性。
属性格式:
7 6 5 4 3 2 1 0
BL R G B I R G B
7闪烁; 6、5、4背景; 3高亮; 2、1、0前景
0 1 0 0 1 0 1 0 4ah
0 1 0 0 0 1 0 1 45h
0 0 1 0 0 0 0 1 21h
1 assume cs:codes,ds:dates,ss:stacks
2
3 dates segment
4 db 4ah,45h,21h ;颜色 5 db 'welcome to masm!' 6 dates ends
7 stacks segment
8 db 6 dup (0)
9 stacks ends
10 codes segment
11 start:12 mov ax,dates
13 mov ds,ax
14
15 mov ax,stacks
16 mov ss,ax
17 mov sp,25 ;3+16+6,指向栈底18
19 mov ax,0b800h;彩色模式缓冲区20 mov es, ax
21
22 ;(25-3)/2 = 11行23 ;(80-16)/2 = 32列24 ;(11-1)*160 + 32 = 1632 = 0660h25 mov bx,0660h;
26
27 mov di,028 mov cx,329 setcolor:30 push cx
31 push di;颜色存放偏移位置32
33 mov ax,ds:[di];依次获取颜色值34 mov di,ax
35 mov si,336 mov cx,1637 setchar:38 mov al,[si]
39 mov es:[bx],al;设置字符40 mov ax,di
41 mov es:[bx+1],al;设置颜色属性42 add bx,243 inc si
44 loop setchar
45
46 ;输出字符串16个字节加16个属性字节47 ;160-16*2 = 0080h48 add bx,0080h;
49 pop di
50 pop cx
51 inc di
52 loop setcolor
53
54 mov ax,4c00h
55 int 21h
56 codes ends
57 end start
View Code
新闻标题:汇编实验:彩色字符中间位置显示字符串-创新互联
转载注明:https://www.cdcxhl.com/article4/dggjie.html
成都网站建设公司_创新互联,为您提供全网营销推广、微信小程序、网站设计、ChatGPT、企业网站制作、面包屑导航
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联