摘要:
中断或异常发生之前当 CPU 执行了当前指令之后,CS 和 EIP 这对寄存器中所包含的内容就是下一条将要执行 指令的逻辑地址。在对下一条指令执行前,CPU 先要判断在执行当前指令的过程中是否发生 了中断或异常。如果发生了一个中断或异常那么 CPU 将做以下事情• 确定所发生中断或异常的向量i(在 ... 阅读全文
摘要:
Intel x86共有256种异常或者中断,也就是常说的中断向量,分别有对应的中断类型码,分布如下0-31异常和非屏蔽中断32-47由I/O设备引起的屏蔽中断,书中所讲为8259A单片机来处理响应34号中断外的其他中断48-255标识软中断,linux系统只使用了128号即0x80来实现系统内调用,... 阅读全文
摘要:
之前百度面试的时候被volatile虐了,内核中很多地方也会用到,这个面试的时候出现概率太大了,所以搜集了一些结果供大家参考,大部分是百度到的,说得挺明确的,以后读代码的时候遇到了再更新。百度知道有人提如下问题:#include "stdio.h"int main(void){ const c... 阅读全文
摘要:
之前百度面试的时候被volatile虐了,内核中很多地方也会用到,这个面试的时候出现概率太大了,所以搜集了一些结果供大家参考,大部分是百度到的,说得挺明确的,以后读代码的时候遇到了再更新。百度知道有人提如下问题:#include "stdio.h"int main(void){ const c... 阅读全文
摘要:
static inline int strcmp(const char * cs,const char * ct) { int d0, d1; register int __res; __asm__ __volatile__( "1:\tlodsb\n\t" "scasb... 阅读全文