
CPU知识篇
fulinux
我热爱Linux、热爱Yocto、喜欢编程、热爱科学技术的码农!希望我的博客能帮助到哪些在茫茫黑夜中摸索的小白!
欢迎关注、点赞和订阅!
展开
-
jmpi是段间跳转指令
jmpi是段间跳转指令,用于x86实模式下,如:BOOTSEG = 0x0c70 jmpi 4, #BOOTSEG 假如当前段CS==00h,那么执行此指令后将跳转到段CS==0x0c70,当然段cs的值也变为0x0c70,接下来将执行指令0x0c70:0004处的指令。 实模式下寻址是为了兼容8086处理器,8086是16位CPU转载 2012-12-07 13:49:15 · 2338 阅读 · 0 评论 -
寄存器详解
AX/EAX: 累加器,算术通用寄存器,与端口的通讯也用这个寄存器.BX/EBX: 基址寄存器.CX/ECX: 计数器,结合串处理指令使用.DX/EDX: 算术通用寄存器.和累加器结合表示双字长的数,其中累加器用于存低位数.[From]http://blog.youkuaiyun.com/huangwei1024/archive/2007/01/29/1496560.aspx2转载 2012-12-07 18:09:14 · 2306 阅读 · 0 评论 -
lss _stack_start,%esp
LEA reg,memmem有效地址->regLDS reg,memmem低字->reg,mem高字->dsLES reg,memmem低字->reg,mem高字->esLFS reg,memmem低字->reg,mem高字->fsLGS reg,memmem低字->reg,mem高字->gsLSS reg,memmem低字->reg转载 2012-12-11 13:23:16 · 3161 阅读 · 1 评论 -
iret指令
好像中断返回都用到iret,因为要返回标志位,call返回用的是ret原创 2012-12-11 15:00:29 · 3259 阅读 · 0 评论 -
嵌入汇编中的编号解析
嵌入如汇编程序规定把输出和输入寄存器统一按顺序编号,顺序是从输出寄存器序列从左到右从上到下以“%0”开始,分别记为%0,、%1、。。。%9。因此下面的中的%4对应“1”(0),而“1”(0)有对应“=d”(__res)#define do_div(n,base)({\int __res;\__asm__("divl %4":"=a"(n),"=d"(_res):"0"(n),"1"(0原创 2012-12-13 13:15:48 · 2087 阅读 · 2 评论 -
INTR和INTE的区别
INTR——中断请求信号,高电平有效 8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据INTE ——中断允许信号,高电平有效 用于控制中断允许或中断屏蔽原创 2012-12-29 16:41:16 · 8630 阅读 · 0 评论 -
每个程序员都应该了解的 CPU 高速缓存
每个程序员都应该了解的 CPU 高速缓存http://www.linuxeden.com/html/news/20130320/137202_4.html转载 2013-03-20 14:57:59 · 2106 阅读 · 0 评论 -
u-boot-2014.10移植第11天----深入分析代码(六)
“从relocate_code回到_main中,接下来是main最后一段代码”也就是arch/arm/lib/crt0.S文件中: b relocate_codehere://从这里开始u-boot已经在重定位的地方运行了/* Set up final (full) environment */ bl c_runtime_cpu_setup /* we still call ol原创 2015-01-31 08:13:08 · 2284 阅读 · 0 评论