向显存里面写数据画白屏!。
汇编实现部分:
; naskfunc
; TAB=4
[FORMAT "WCOFF"] ;
[INSTRSET "i486p"] ;
[BITS 32] ;
[FILE "naskfunc.nas"] ;
GLOBAL _io_hlt,_write_mem8
[SECTION .text]
_io_hlt: ; void io_hlt(void);
HLT
RET
_write_mem8: ; void write_mem8(int addr, int data);
MOV ECX,[ESP+4] /addr 第一个参数 ;
MOV AL,[ESP+8] /data 第二个参数 ;
&n
; TAB=4
[FORMAT "WCOFF"] ;
[INSTRSET "i486p"] ;
[BITS 32] ;
[FILE "naskfunc.nas"] ;
GLOBAL _io_hlt,_write_mem8
[SECTION .text]
_io_hlt: ; void io_hlt(void);
HLT
RET
_write_mem8: ; void write_mem8(int addr, int data);
MOV ECX,[ESP+4] /addr 第一个参数 ;
MOV AL,[ESP+8] /data 第二个参数 ;
&n

本文介绍如何使用C语言和汇编在显存中写入数据以显示白色屏幕。通过`write_mem8`函数将内存地址与数据写入显存,以及讲解使用指针直接操作显存的方法。同时探讨了CPU处理图形数据时的运算,如异或操作,并解释了为什么需要预先定义指针类型。最后提到了CPU与设备交互的`OUT`指令、中断处理和绘制矩形的基础知识。
最低0.47元/天 解锁文章
1239

被折叠的 条评论
为什么被折叠?



