汇编实验:彩色字符中间位置显示字符串-创新互联

汇编实验九:在屏幕中间位置显示三行彩色字符串

创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达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。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司