随笔 - 179  文章 - 0 评论 - 14 阅读 - 40万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  汇编

简单的内嵌汇编很容易理解
摘要:内核代码绝大部分使用C 语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。 简单的内嵌汇编很容易理解 例: __asm__ __volatile__("hlt"); “__a 阅读全文
posted @ 2017-12-09 15:13 学习记录园 阅读(602) 评论(0) 推荐(0) 编辑
GCC内嵌汇编一些限制字符串
摘要:/******************/ “b”将输入变量放入ebx “c”将输入变量放入ecx “d”将输入变量放入edx “s”将输入变量放入esi “d”将输入变量放入edi “q”将输入变量放入eax,ebx ,ecx ,edx中的一个 “r”将输入变量放入通用寄存器,也就是eax ,ebx 阅读全文
posted @ 2017-12-04 08:43 学习记录园 阅读(321) 评论(0) 推荐(0) 编辑
gcc内嵌汇编详解
摘要:有时候我们希望在C/C++代码中使用嵌入式汇编,因为C中没有对应的函数或语法可用。比如我最近在ARM上写FIR程序时,需要对最后的结果进行饱和处理,但gcc没有提供ssat这样的函数,于是不得不在C代码中嵌入汇编指令。 1. 入门 在C中嵌入汇编的最大问题是如何将C语言变量与指令操作数相关联。当然, 阅读全文
posted @ 2017-12-02 14:54 学习记录园 阅读(1109) 评论(0) 推荐(0) 编辑
bcd码
摘要:BCD码 binary-coded decimal 简称为BCD码或者二-十进制代码,也称为 二进制码十进制数。是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了四个位元来存储一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。 简介编辑:由于十进制数共有0 1 2 . 阅读全文
posted @ 2017-11-27 18:33 学习记录园 阅读(8070) 评论(0) 推荐(1) 编辑
x86 保护方式 简介 一
摘要:80386 三种工作方式 实模式 保护模式和虚拟86模式 只有在保护方式下 全部32条地址线才有效 可以寻址高达4g字节的物理地址空间 超过1m的内存空间 被成为扩展的内存空间 保护模式下 才有存储器饭段管理和分页管理机制 实模式下是没有这些概念的。 不仅提供了存储器的共享和保护 而且实现了虚拟存储 阅读全文
posted @ 2017-11-25 21:30 学习记录园 阅读(199) 评论(0) 推荐(0) 编辑
x86实模式到保护模式 李忠 王晓波
摘要:x86实模式到保护模式 李忠 王晓波 第3到4章 各个进制间的转换省略 实验环境 编译器 nasm 虚拟机 virtual box 小程序 hexview 观察编译后的机器代码 fixvhdwr 向虚拟硬盘写入数据 计算机启动简介 cpu的引脚 reset 接受复位信号 电平由低变高时 cpu进行硬 阅读全文
posted @ 2017-11-25 21:30 学习记录园 阅读(375) 评论(0) 推荐(0) 编辑
x86保护模式-七中断和异常
摘要:x86保护模式-七中断和异常 386相比较之前的cpu 增强了中断处理能力 并且引入了 异常概念 一 80386的中断和异常 为了支持多任务和虚拟存储器等功能,386把外部中断称为中断 把内部中断称为异常 最多支持256中断或异常 1.中断 中断是由异步的外部事件引起的。外部事件及中断响应与正执行的 阅读全文
posted @ 2017-11-25 21:30 学习记录园 阅读(2072) 评论(0) 推荐(0) 编辑
x86保护模式 二 分段管理机制
摘要:分段管理机制 段选择子和偏移地址的二维虚拟地址转换为一维的线性地址 一 段定义和虚拟地址到线性地址的转换 三个参数定义段:段基地址 段界限 和段属性 同时也是段描述符的结构 段基地址为段的开始地址 386下为32位 可以在线性地址空间中的任何一个字节开始 段界限规定段的大小 保护模式下用20位表示 阅读全文
posted @ 2017-11-25 21:29 学习记录园 阅读(584) 评论(0) 推荐(0) 编辑
x86保护模式 控制寄存器和系统地址寄存器
摘要:控制寄存器和系统地址寄存器 控制寄存器 crx cr0 指示cpu工作方式的控制位 包含启用和禁止分页管理机制的控制位 包含控制浮点协处理器操作的控制位 注意必须为0的位 cr2和cr3 分页管理机制使用 1.保护控制位 cr0中位0 pe表示 为0实模式 为1 保护模式 位31 pg表示 为0 禁 阅读全文
posted @ 2017-11-25 21:28 学习记录园 阅读(636) 评论(0) 推荐(0) 编辑
x86保护模式 任务状态段和控制门
摘要:x86保护模式 任务状态段和控制门 每个任务都有一个任务状态段TSS 用于保存任务的有关信息 在任务内权变和任务切换时 需要用到这些信息 任务内权变的转移和任务切换 一般需要通过控制门进行这些转移。 <一> 系统段描述符 系统段是为了实现存储管理机制所使用的一种特别的段 任务状态段TSS和局部描述符 阅读全文
posted @ 2017-11-25 21:27 学习记录园 阅读(583) 评论(0) 推荐(0) 编辑
x86保护模式 实模式与保护模式切换实例
摘要:x86保护模式 实模式与保护模式切换实例 实例一 逻辑功能 以十六进制数的形式显示从内存地址110000h开始的256个字节的值 实现步骤: 1 切换保护方式的准备 2. 切换到保护方式 3. 把指定内存区域的内容传送到位于常规内存的缓冲区中 4. 切换回实模式 5. 显示缓冲区内容 代码: 386 阅读全文
posted @ 2017-11-25 21:27 学习记录园 阅读(2623) 评论(1) 推荐(0) 编辑
x86保护模式-六 控制转移
摘要:控制转移可以分为两大类 :同一任务内的控制转移 和 任务间的控制转移(任务切换) 同一个任务内的控制转移可以分为段内转移 、特权级不变的段间转移和特权级改变的段间转移 段内转移与实模式相同 不涉及特权级变换和任务切换 只有段间转移才涉及特权级变换和任务切换任务 重点为任务内的特权级变换和任务间的切换 阅读全文
posted @ 2017-11-25 21:25 学习记录园 阅读(1374) 评论(0) 推荐(0) 编辑
x86 保护模式 十 分页管理机制
摘要:x86 保护模式 十 分页管理机制 8.386开始支持分页管理机制 段机制实现虚拟地址到线性地址的转换,分页机制实现线性地址到物理地址的转换。如果不启用分页,那么线性就是物理地址 一 分页管理简介 cr0中的pg位=1 分页生效,将线性地址转换为物理地址。 只有在保证pe位为1的情况下 才能使pg位 阅读全文
posted @ 2017-11-23 14:44 学习记录园 阅读(2415) 评论(1) 推荐(0) 编辑
X86保护模式 八操作系统类指令
摘要:X86保护模式 八操作系统类指令 通常在操作系统代码中使用,应用程序中不应用这些指令 指令分为三种:实模式指令,任何权级下使用的指令、实模式权级0下可执行的指令和仅在保护模式下执行的指令 一 实模式和任务特权级下可执行的指令 1.存储全局和中断描述符表寄存器指令 利用存储描述符表寄存器指令能把描述符 阅读全文
posted @ 2017-11-20 11:07 学习记录园 阅读(1453) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示