zoukankan      html  css  js  c++  java
  • x8086汇编在显存中显示字符串

    题目:在屏幕中间显示绿色,绿底红色,白底蓝色的字符串‘welcome to masm!’

    80X25彩色字符模式显示缓冲区的结构:

      在内存地址结构中,B8000H~BFFFFH共32KB的空间,为80x25彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在

    显示器上。

      在80x25彩色模式下,显示器可以显示25行,每行80个字符,每个字符可以由256中属性。

      80x25模式下,一屏的内容在显示缓冲区共4000个字符。

    ===========================================================

    绿色:    0000 0010B -> 02H

    绿底红色:  0010 0100B -> 24H

    白底蓝色:  0111 0001B -> 71H

    ============================================================

    代码:

     1 assume cs:code,ss:stack,ds:data
     2 
     3 data segment
     4         db 'welcome to masm!'
     5         db 00000010B
     6         db 00100100B
     7         db 01110001B
     8 data ends
     9 
    10 stack segment
    11         db 128 dup (0)
    12 stack ends
    13 
    14 code segment
    15 
    16  start: mov ax,stack
    17         mov ss,ax
    18         mov sp,128
    19 
    20         mov ax,data
    21         mov ds,ax
    22 
    23         jmp show_m
    24 
    25    xh:  jmp xh
    26 
    27   next: mov ax,4c00h
    28         int 21h
    29 ;-------------------------------------
    30 show_m:
    31 
    32         mov bx,0b800h
    33         mov es,bx
    34 
    35         mov bx,16             ; ds:[bx]  color
    36         mov di,12*160+60      ; es:[di]  zimu + color
    37 
    38         mov cx,3
    39 
    40  s_c:   push cx
    41         push di
    42 
    43         mov si,0              ; ds:[si] zimu
    44         mov cx,16
    45 
    46 
    47  s_w:   mov dl,ds:[si]
    48         mov dh,ds:[bx]
    49         mov es:[di],dx
    50         inc si
    51         add di,2
    52         loop s_w
    53 
    54         pop di
    55         pop cx
    56         inc bx
    57         add di,160
    58         loop s_c
    59 
    60         jmp next
    61         
    62 
    63 
    64 code ends
    65 
    66 end start
  • 相关阅读:
    响应报文
    IntelliJ IDEA 使用Git怎样记住密码和忘记密码的方法
    vue基础——命名路由
    vue基础——路由懒加载
    vue hash模式下如何使用a标签的锚点定位
    vue项目中修改第三方库的组件样式的方法
    CSS3实现水波纹效果
    日期对象Date的计算
    兼容性查询工具
    根据.svg文件借助IconMoon生成字体图标及应用的方法
  • 原文地址:https://www.cnblogs.com/xautxuqiang/p/5468115.html
Copyright © 2011-2022 走看看