摘要:“一致”的意思是这样的,当转移目标是一个特权级更高的一致代码段,当前的特权级会被延续下去,而向特权级更高的非一致代码段转移会引起常规保护错误,除非使用调用门或者任务门。如果系统代码不访问受保护的资源和某些类型的异常处理,它可以放在一致代码段中。为避免低特权级的程序访问而被保护起来的系统代码则应放到非一致代码段中。要注意的是,如果目标代码的特权级低的话,无论它是不是一致代码段,都不能通过call或者jmp转移进去,尝试这样的转移会导致常规保护错误。所有的数据段都是非一致的,这意味着不可能被低特权级的代码访问到。然而,与代码段不同的是,数据段可以被更高特权级的代码访问到,而不需要使用特定的门,记住
阅读全文
摘要:以前看的都是理论,今天拿起《自己动手写操作系统》,把其中的一个小例子改了一个验证自己的理解是否正确原本是这样的 1 ; ========================================== 2 ; pmtest1.asm 3 ; 编译方法:nasm pmtest1.asm -o pmtest1.com 4 ; ========================================== 5 6 %include "pm.inc" ; 常量, 宏, 以及一些说明 7 8 org 0100h 9 jmp LABEL_BEGIN10 11 ...
阅读全文
摘要:原来看得都是赵博的书,讲的很详细,理论性很强,最近想动手实践下,看《自己动手写操作系统》第三章的一个例子,突然发现gdt和gdtr可以这么得来赵博的书上,这两个东西是直接设定好的(一直认为也要这么做)。今天就来说下,《自己动手写操作系统》这本书是怎么实现的我主要说gdt和gdtr其他的都简单 1 ; ========================================== 2 ; pmtest1.asm 3 ; ±àÒë·œ·š£ºnasm pmtest1.asm -o pmtest1.com 4 ;
阅读全文
摘要:可执行文件的装载分为三个部分1:创建的独立的虚拟地址空间 2:读取可执行文件的头部,并且建立虚拟空间与可执行文件的映射关系。3:将cpu通过指令寄存器设置可执行文件入口,启动运行
阅读全文
摘要:最近在看看雪,无奈只是临时会员,好多限制,于是想把在线时间提上去,来快速升级好吧,代码很简单,从别的地方找的,在寻找代码的过程中发现好多语言都可以实现,我这个是用js实现的<html> <head> <script> function FindObj(id) { return document.getElementById(id); } function MyFlush() { var obj = FindObj("kx"); obj.src = "http://bbs.pediy.com/"; se...
阅读全文
摘要:FPGA设计中ROM的应用时比较常见的,在调用ROM时经常要加载mif文件,对于初学者,无论mif还是hex都是很令人疑惑的东西,这里就对mif文件的格式及其创建做一点简单的说明。mif在fpga设计中试memory initialization file 的缩写,中文意思就是存储器初始化文件。直接说就是给rom赋值的文件。先看一个简单的mif文件的内容(可以用记事本将mif文件打开,看到里面的代码):DEPTH=256; %存储器的纵向容量,就是存多少个数据,本例中是256个WIDTH=8 ; %存储器的横向宽度,就是每个数据多少位,8位宽ADDRESS_RADIX=DEC ; %设置地址基
阅读全文