![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
x86汇编语言 从实模式到保护模式
文章平均质量分 56
x86汇编语言
java硕哥
这个作者很懒,什么都没留下…
展开
-
Thinkpad x1 carbon 2022,2021 各个版本CPU性能对比
i7-1260P原文链接Intel Core i7-1260P是一款 12 核的移动处理器,于 2022 年第一季度推出。它是酷睿 i7 系列的成员,采用 BGA 1744 的 Alder Lake-P 架构。支持英特尔超线程技术,达到 16 个线程。 Core i7-1260P 具有 18MB 的三级缓存,默认运行频率为 2.1 GHz,但根据工作负载可提升至 4.7 GHz。酷睿 i7-1260P基于 10 纳米生产工艺制造。Core i7-1260P 的 TDP 为 28 W,处理器支持双通道接原创 2022-05-15 22:59:30 · 10579 阅读 · 1 评论 -
12、(12.4.2)保护模式下数据段和栈段保护
1/向下扩展的栈段实际使用的段界限就是段内不允许访问的最低端偏移地址, (基地址+0)~(基地址+段界限)这段空间是不属于栈段.举例画图说明:例1, 基地址为0x00,段界限为0x10段界限可以理解为栈向下扩展的一个红线,不能碰, 所以压栈时ESP - 操作数的长度后的值必须大于这个边界值.(这里这么理解与书中ESP - 操作数的长度>=(实际使用的段界限+1)是一个意思)例2 , 基地址为0x7c00 , 段界限为0x10线性基地址为 0x00007C00, 段界限为 0xFFFFE原创 2021-08-28 11:22:24 · 301 阅读 · 1 评论 -
附录 - NASM&MASM 安装、部署、使用
Netwide Assembler (NASM)是针对80x86和x86-64平台设计的,可移植的、模块化的汇编语言编译器。它也可以输出纯二进制文件,英特尔十六进制和摩托罗拉S-Record格式。它的语法设计得简单且易于理解,类似于英特尔软件开发人员手册中的语法,但复杂性最小。它支持所有当前已知的x86架构扩展,并对宏有强大的支持。1、下载、安装、配置NASM到 NASM 官网 下载nasm;NASM 官方参考文档;和安装普通软件一样,安装NASM;我选择安装在 C:\NASM目录wind原创 2021-08-06 16:47:03 · 2912 阅读 · 0 评论 -
1、汇编语言开发环境部署&使用
搭建实验环境https://www.dosbox.com下载后,像安装普通软件一样安装起来即可。启动程序在d盘创建一个文件夹 asm,用来挂在C盘.然后输入命令:mount c: d:\ASMc:debug每次启动都需要输入上述的命令,比较麻烦,我们可以将上面的命令放入配置文件中,启动的时候自动执行,配置文件的路径在启动后的页面有显示:打开该文件,在文件的[autoexec]块中添加上面的3条命令[autoexec]# Lines in this section will原创 2021-03-22 18:59:30 · 2183 阅读 · 1 评论 -
附录 - 汇编指令
相对 - 绝对 - 短 - 近 - 远 - 间接 - 不是立即数直接 - 是立即数8086处理器的无条件转移指令 |-"相对" |-1、"相对"短转移 jmp short offset |-2、"相对"近转移 jmp near offset |-"绝对" |-"间接" |-3、间接绝对近转移 jmp r/m |-4、间接绝对远转移 jmp far m |-"直接" |-5、直接绝对远转移 jmp segment:offset1、原创 2021-08-05 10:15:59 · 826 阅读 · 0 评论 -
附录-实模式下1M内存
按照比例画出1MB的内存如下:原创 2021-08-02 17:02:13 · 1693 阅读 · 0 评论 -
附录:保护模式下的各个“对象”
1、GDTR - 全局描述符表寄存器2、段描述符3、CR0CR0是处理器内部的控制寄存器(Control Register, CR);保护模式允许位(Protection Enable, PE) |-1,表示进入保护模式 |-0,表示未进入保护模式4、32位段寄存器...原创 2021-07-28 13:46:07 · 440 阅读 · 0 评论 -
10、32位 x86处理器编程架构
10.1、IA-32架构的基本执行环境10.1.1、寄存器的扩展通用寄存器扩展: (AX、BX、CX、DX) 16位 -> 32位 (EAX、EBX、ECX、EDX) (SI、DI、BP、SP) 16位 -> 32位 (ESI、EDI、EBP、ESP) IP扩展: IP 扩展到了 32 位,即 "EIP" 标志寄存器FLAGE扩展: FLAGE 扩展到了 32 位,即 "EFLAGS",低 16 位和原先保持一致 指令的源操作数和目的操作数必须具有相同的长度;(错:mo原创 2021-07-24 09:17:03 · 818 阅读 · 1 评论 -
11、进入保护模式
;计算GDT所在的逻辑段地址{ mov ax,[cs:gdt_base+0x7c00] ;0X00007E00的低16位放入ax mov dx,[cs:gdt_base+0x7c00+0x02] ;0X00007E00的高16位放入dx mov bx,16 div bx ;商(段地址)在ax,余数(段内偏移地址)在dx中 mov ds,ax mov bx,dx ;段内起始偏移地址原创 2021-05-10 15:27:41 · 215 阅读 · 0 评论 -
11、进入保护模式-V
1、保护模式是要保护什么?在实模式下下面这么段程序0~1000字节是中断向量表mov ax,0mov ds,axmov byte [0x30],0上面的3行程序破坏了中断向量表保护模式下,每个程序都有个特权级,特权级从高到低分别是0~3( 0最高, 3最低)2、全局描述符表GDT和全局描述符表寄存器GDTR我们知道,为了让程序在内存中能自由浮动而又不影响它的正常执行,处理器将内存划分成逻辑上的段,并在指令中使用段内偏移地址。在保护模式下,对内存的访问仍然使用段地址和偏移地原创 2021-04-28 22:01:55 · 148 阅读 · 1 评论 -
附录-开机过程
当你按下电脑的电源后,电脑会做哪些事情?(一)自检及初始化(1)加电自检电脑刚接通电源时会对硬件部分的检测,也叫做加电自检(Power On Self Test,简称POST)。就是检查电脑是否良好,通常完整的POST自检将包括对CPU,640K基本内存,1M以上的扩展内存,ROM,主板,CMOS存储器,串并口,显示卡,软硬盘子系统及键盘进行测试。一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没完原创 2021-04-21 16:01:19 · 527 阅读 · 0 评论 -
《x86汇编语言-实模式到保护模式》 总结、习题解析
第3章 汇编语言和汇编软件检测点3.1mov本章习题原创 2021-04-17 12:58:21 · 1044 阅读 · 0 评论 -
x86汇编语言 从实模式到包含模式-汇总笔记
1、寄存器2、指令3、寻址方式(3)、变址寻址使用变址寄存器(或称索引寄存器) SI 或 DI 提供偏移地址,默认使用DS段寄存器提供段地址。mov [si], dx ; DX内容复制到 - > (DS左移4位 + SI )地址开始的内存mov [si + 1], dx ; DX内容复制到 - > (DS左移4位 + SI +1)地址开始的内存mov [si + label_1], dx ; DX内容复制到 - > (DS左移4位 + SI +label_1)地址开始原创 2021-02-27 19:29:58 · 525 阅读 · 0 评论 -
第7章-2、INTEL8086处理器的寻址方式-1.1h
[18.1]–寄存器、立即数和直接寻址寄存器寻址立即数寻址⭐️ 标号本质上是个汇编地址,在编译阶段会转换为一个立即数内存寻址CS / DS / ES / SS[18.2]–基址寻址[18.3]–变址寻址[18.4]–基址变址寻址[18.5]–原书第1版第7章检测点和习题解析...原创 2021-02-21 23:20:20 · 193 阅读 · 0 评论 -
第7章 比高斯更快的计算
[17.1]–字符串的定义和累加过程[17.2]–栈的原理和使用各个寄存器保存各个段的起始位置push dx ;将dx内容取出来,压入栈中push word [0x2002] ; 偏移地址0x2002处的一个字取出来, 压入栈中pop ax ;从栈中取出一个字,放入axpop word [0x08] ;从栈中取出一个字,放入偏移地址为0x08的内存中压栈和出栈的细节由处理器来完成,SP 栈指针寄存器,提供栈的偏移地址SS 栈寄存器,提供栈的段地址SS左移4位,加上SP,形成内存原创 2021-02-21 23:07:53 · 147 阅读 · 0 评论 -
Bochs 调试命令
; 打断点b 0x???; 执行到断点处c; 单步执行s 或 n;查看 ”段寄存器“ 的值sreg ;查看 “通用寄存器” 内容r;查看栈的内容print-stack;反汇编u; 反汇编10条指令u/10原创 2021-02-21 18:16:41 · 133 阅读 · 0 评论 -
第6章 -2 计算机中的负数-1.23h
[15.1]–无符号数和有符号数(1)、无符号数:(2)、有符号数[15.2]–减法指令SUB和求补指令NEG[15.3]–计算机如何区分对待无符号数和有符号数[15.4]–有符号数除法指令IDIV[15.5]–有符号数的符号扩展指令...原创 2021-02-20 20:15:48 · 100 阅读 · 0 评论 -
第5章 编写主引导扇区代码
1-显卡和显存每个字节表示三原色中的一个(红绿蓝)两种模式:文本模式、图像模式,两种模式的显存也是分开的。文本模式下,显存的内容是文本的编码;图像模式下,显存的内容是像素的颜色。“字符发生器”根据字符的编码来控制显示的像素,比如其接收到字符“e”的编码,就根据接收到的字符编码来控制显示器上的像素,显示出字符的轮廓。为了要显示字符,处理器就要访问显存,把字符的编码写进去,2-准备访问文本模式下的显存3-字符的编码和显示属性3-文本模式下的显存操作mov byt原创 2021-02-15 11:55:39 · 305 阅读 · 0 评论 -
第6章 循环、批量传送和条件转移-1.34h
c06_mbr.asm ;代码清单6-1 ;文件名:c06_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-4-12 22:12 jmp near start mytext db 'L',0x07,'a',0x07,'b',0x07,'e',0x07,'l',0x07,' ',0x07,'o',0x07,\ 'f',0x07,'f',原创 2021-02-20 12:30:03 · 121 阅读 · 0 评论