小编Dam*_*ako的帖子

本例中按位运算的目的

在函数中outb(0x3D5, (uint8_t) (pos & 0xFF));,我无法理解按位运算的目的。pos是一个uint16_t变量。

&仅 8 位 1 的按位运算的目的是什么。该&操作只是将该值与 8 位 1 进行比较,据我所知,这只会产生相同的值。这个操作如何改变pos的值?

作为背景,如果它很重要,则该函数outb旨在将右侧参数的值移动到由端口(左侧参数)索引的寄存器中。在本例中,pos是 VGA 适配器内存中的位置。该函数outb使用内联汇编和汇编指令out。

c x86 assembly operating-system osdev

1
推荐指数
1
解决办法
91
查看次数

标签 统计

assembly ×1

c ×1

operating-system ×1

osdev ×1

x86 ×1