汇编实现屏幕中指定内容打印

来源:互联网 发布:苹果cms采集规则教程 编辑:程序博客网 时间:2024/06/06 13:09

在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串 ‘welcome to masm!’。

实现代码为:

    assume cs:code,ss:stack,ds:datadata segment        db  'welcome to masm!'        db  00000010B        db  00100100B        db  01110001Bdata endsstack segment stack        db 128 dup(0)stack ends stackcode segment start: mov ax,stack        mov ss,ax        mov sp,128        jmp show_masm   next:mov ax,4c00H        int 21H;===========================================show_masm:mov bx,data          mov ds,bx          mov cx,3          mov di,80*2*12+80          mov bx,0B800H          mov es,bx          mov bx,16showmasm: push cx          push di          mov cx,16          mov si,0          mov dh,ds:[bx]showstring:mov dl,ds:[si]         mov es:[di],dx         inc si         add di,2         loop showstring         pop di         pop cx         add di,160         inc bx         loop showmasm         jmp nextcode endsend start
  • 在内存地址空间中,B8000H-BFFFFFH共32KB的空间,共80*25彩色字符模式的显示缓冲区,向这个地址空间写入数据,写入的内容将立即显示在显示器上。
  • 显示缓冲区分为8页,每页4KB。
  • 在每一行中,一个字符占两个字节的存储空间(一个字),低位字符存储字符的ASCII码,高位字节存储字符的属性,一行80个字符,占160个字节。
  • 在显示缓冲区,偶数地址存放字符,奇数地址存放字符的颜色属性。

颜色属性字节中格式为:
这里写图片描述

如:红色高亮闪烁绿色:11001010B

原创粉丝点击