用汇编在屏幕打印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位置看写入情况

 

posted @ 2021-05-02 09:39  紅人  阅读(448)  评论(0编辑  收藏  举报