• 用汇编在屏幕打印hello word


    要在屏幕打印hello word 就要控制显卡,在显存写入hello word

    显存起始位置在b8000 ,这里地址是显存映射在内存的虚拟地址,从此处写入可以控制显示内容

    B800:0000 ~B800:FFFF

    在此处的地址 每个字的高位都是来决定显示的颜色

    0000 0000 这8个比特每一个位都不一样

    颜色代表

     这里使 显示亮白就是

    0000 1111

    0x0f

    编写示例代码

    start:
          mov ax,0xb800
          mov ds,ax
    
          mov byte [0x00],0x48;H
          mov byte [0x01],0x0f;亮白
    
          mov byte [0x02],0x45;E
          mov byte [0x03],0x0f;亮白
    
          mov byte [0x04],0x4c;L
          mov byte [0x05],0x0f;亮白
    
          mov byte [0x06],0x4c;L
          mov byte [0x07],0x0f;亮白
    
          mov byte [0x08],0x4f;O
          mov byte [0x09],0x0f;亮白
    
          mov byte [0x0a],0x20;空格
          mov byte [0x0b],0x0f;亮白
    
          mov byte [0x0c],0x57;W
          mov byte [0x0d],0x0f;亮白
    
          mov byte [0x0e],0x4f;O
          mov byte [0x0f],0x0f;亮白
    
          mov byte [0x10],0x52;R
          mov byte [0x11],0x0f;亮白
    
          mov byte [0x12],0x44;D
          mov byte [0x13],0x0f;亮白
    
          jmp 0x0000:0x7c00;循环
    
    current:
            times 510-(current-start) db 0
    
            db 0x55,0xaa

    写入虚拟机进行执行

     查看写入的b8000位置看写入情况

    从此山高路远,纵马扬鞭。愿往后旅途,三冬暖,春不寒,天黑有灯,下雨有伞。此生尽兴,不负勇往。
  • 相关阅读:
    本博客主题设置
    .NET开源类库Nini手册(INI、XML、注册表的配置应用)-中文翻译
    service层的@Autowired 与@Override
    ajax传值时各参数意义
    序列化+继承
    KMP
    SpringBoot启动过程:
    Web三层架构及MVC
    SpringBoot注解意义及作用
    Syntax error on token "{", { expected after this token相关的错误
  • 原文地址:https://www.cnblogs.com/feizianquan/p/14725306.html
Copyright © 2020-2023  润新知