ARM架构的CPU异常向量的基址可以是0x00000000,也可以是0xffff0000,Linux内核使用后者,这是一个虚拟地址,当建立了虚拟地址和物理地址的映射之后就可以把异常向量的基址定位到这里来(即把跳转指令复制到这里来), 用户注册中断处理函数:request_irq(unsigned i ...
分类:
其他好文 时间:
2019-04-01 00:54:46
阅读次数:
260
前言不了解JVM的类加载机制你也可以coding,但是当你了解之后,可以让你在coding的时候避免很多坑,本文将以一道常见的面试题去剖析一下。本文参考深入理解Java虚拟机(第2版)。1publicclassClassLoadTest{2privatestaticClassLoadTesttest=newClassLoadTest();34staticintx;5staticinty=0;67p
分类:
其他好文 时间:
2019-03-20 17:27:23
阅读次数:
143
计算机通电启动时,第一件事时需要找到BIOS的入口地址,首先cpu 的 cs:ip 寄存器被强制初始化为 0xF000:0xFFF0,由实模式下寻址可知,BIOS的入口地址即为0xFFFF0,而这个地址并不是BIOS的起始代码而是一个长跳转指令 jmp far f000:e05b,如下图: 而f00 ...
分类:
其他好文 时间:
2019-02-15 19:46:08
阅读次数:
185
CPU的主要组成部分,包括这四个方面:控制器,运算器,寄存器,时钟。其实可以简单的来说,程序计数器其实位置开始一条一条的执行命令,再通过return,指令调用栈寄存器中保存的下一条指令,其实cpu的处理也是非常简单的,就是将高级语言转换成机器语言,用数据传输指令,运算指令,跳转指令来实现.但需要注意 ...
分类:
其他好文 时间:
2019-01-27 18:58:10
阅读次数:
151
CPU的主要组成部分,包括这四个方面:控制器,运算器,寄存器,时钟。 其实可以简单的来说,程序计数器其实位置开始一条一条的执行命令,再通过return,指令调用栈寄存器中保存的下一条指令,其实cpu的处理也是非常简单的,就是将高级语言转换成机器语言,用数据传输指令,运算指令,跳转指令来实现. 内存是 ...
分类:
其他好文 时间:
2019-01-20 22:05:38
阅读次数:
190
jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令。 本地方法栈是jvm调用操作系统方法所使用的栈。 虚拟机栈是jvm执行java代码所使用的栈。 方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。 虚拟机堆是jvm执行java代码所使用的 ...
分类:
编程语言 时间:
2018-12-17 11:36:04
阅读次数:
192
我们先举个简单示例: 以上例程会输出:鸠摩智 解释:goto 操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。 PHP 中的 goto 有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无 ...
分类:
Web程序 时间:
2018-11-05 14:34:18
阅读次数:
221
第四周学习总结 1、程序员可见状态 15个程序寄存器(RF) 3个条件码(CC) 程序状态(Stat) 程序计数器(PC) 内存(DMEM) 2、Y86指令 在Y86当中,寄存器也是有8个,每一个寄存器可以存储一个字,也就是一个32位二进制。条 件码是一个一位二进制的寄存器,保存着最近的算术或逻辑运 ...
分类:
其他好文 时间:
2018-10-22 00:01:08
阅读次数:
198
第四周学习总结 Y86 64指令集体系结构 可见状态 :程序寄存器、条件码、程序状态、程序计数器和内存 比如条件码 ZF——零标志, SF——符号,OF——有符号 Y86 64指令 整数操作指令:addq、subq、andq、xorq 跳转指令:jmp、jle、jl、je、jne、jge、jg 条件 ...
分类:
其他好文 时间:
2018-10-21 22:01:01
阅读次数:
181
1.Y86 64指令集体系结构 ①Y86 64指令 movq指令 irmovq rrmovq mrmovq rmmovq 四个整数操指令 addq,subq,andq,xorq只对寄存器数据进行操作 7个跳转指令 cmovle cmovl cmove cmovne cmovge cmovg call ...
分类:
其他好文 时间:
2018-10-21 17:50:21
阅读次数:
146