![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编
imgodor
这个作者很懒,什么都没留下…
展开
-
80x86 CPU 的工作模式(扫盲贴)
CPU工作模式分为实模式和保护模式两种,虚拟8086是保护模式下一种任务的运行模式,并非CPU的工作模式。Windows系统是运行在保护模式下的,电脑在刚启动的时候是在实模式下运行,在启动Windows系统时进入保护模式,除非关闭系统,否则不会回到实模式。如果要一直在实模式下运行,可以使用DOS等实模式下的操作系统。cmd是一个win32程序(win32 console),运行在保护模式,转载 2014-12-16 23:32:34 · 1096 阅读 · 0 评论 -
保护模式下的寻址
[内存寻址]实模式下的内存寻址:让我们首先来回顾实模式下的寻址方式段首地址×16+偏移量 = 物理地址为什么要×16?因为在8086CPU中,地址线是20位,但寄存器是16位的,最高寻址64KB,它无法寻址到1M内存。于是,Intel设计了这种寻址方式,先缩小4位成16位放入到段寄存器,用到时候,再将其扩大到20位,这也造成了段的首地址必须是16的倍数的限制。保护模式下分段转载 2014-12-16 23:30:06 · 466 阅读 · 0 评论 -
三个关于汇编的程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 该程序是一个简单的动态链接库,用于实现对对话框中的某个值的加减.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 程序名: MyDll.asm;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.386 .转载 2014-12-16 23:17:03 · 567 阅读 · 0 评论 -
80x86保护模式之DOS与虚拟8086模式
虚拟8086模式....继推出80386之后,Intel又推出了80386、Pentium和Pentium PRO。这些处理器都具有实模式和保护模式两种工作方式。前面已介绍过,实模式与8086兼容,可以运行DOS及以其为平台的几乎所有软件;但在实模式下,处理器不能发挥自身的优越性能,不能支持多用户、多任务操作系统的运行。为了充分发挥处理器的功能,同时使DOS及以其为平台的软件继转载 2014-12-16 23:33:47 · 1473 阅读 · 0 评论 -
数值显示
功能:在屏幕8行3列显示12666的绿色字体编译工具:masm5.0连接工具:overlay linker3.6运行环境:DOS osassume cs:codedata segment db 10 dup (0)data endsstack segment dw 16 dup(0)stack endscode segme原创 2014-12-16 23:16:03 · 380 阅读 · 0 评论 -
关于[特权级],[一致/非一致] 代码段 [内核栈] 的思考
逻辑上应该是这样:- 为什么要有特权级概念?“现实”的需要,导致了硬件设计中包括了所谓特权级的概念,我们对现实问题的分析和认识,发现了特权级的思想应该存在于OS设计中,这种思想的物理表现形式就是硬件寄存器中的CPL,DPL,RPL位以及一整套实现特权级审查逻辑的电路;- 为什么要有所谓一致和非一致代码段的概念呢?还是因为“现实”的需要,由于OS设计时的需要,OS无疑应该转载 2014-12-16 23:28:35 · 461 阅读 · 0 评论 -
实模式、保护模式和虚拟8086模式
实模式、保护模式和虚拟8086模式 从80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式。只有在刚刚启动的时候是real-mode,等到linux操作系统运行起来以后就运行在保护模式。实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;转载 2014-12-16 23:31:56 · 531 阅读 · 0 评论 -
关于len指令汇总
需要正确理解LEA指令的功能。 该指令有两个操作数。左边是目的操作数,表示操作结果保存在此,该指令目的操作数只能是8个通用寄存器之一。逗号右边的是源操作数,该指令的源操作数只能是一个存储单元,表达存储单元有多种寻址方式。 LEA指令的功能是将源操作数、即存储单元的有效地址(偏移地址)传送到目的操作数。 示例指令中,[BX+SI+0F54H]采用相对基址变址的寻址方式表达存储单元,它表示转载 2014-12-16 23:27:47 · 6682 阅读 · 0 评论 -
float和double变量的内存布局
转载:http://blog.csdn.net/demon__hunter/article/details/3566232浮点数在c/c++以及java中的内存布局遵循IEEE标准的,首先看一下IEEE所规定的存储的方式:符号位指数位小数部分指数偏移量单精度浮点数1 位[31]8位 [30-23]23位 [22-00]127转载 2015-03-13 16:46:03 · 458 阅读 · 6 评论