会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
放飞梦想C
学习是一种信仰!
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
13
14
15
16
17
18
19
下一页
2020年3月24日
32位x86处理器编程架构
摘要: 1. IA 32架构的基本执行环境 1.1 寄存器的扩展 为了在汇编语言程序中使用经过 扩展(Extend) 的寄存器: 在32位模式下,为了生成32位物理地址,处理器需要使用32位的指令指针寄存器。标志寄存器也扩展到32位,第16位和原先保持一致。 32位处理器依然需要以段位单位访问内存,即,只分
阅读全文
posted @ 2020-03-24 19:48 放飞梦想C
阅读(625)
评论(0)
推荐(0)
2020年3月23日
中断和动态时钟显示
摘要: 中断 中断 就是打断处理器当前的执行流程,去执行另外一些和当前工作不相干的指令,执行完之后,还可以返回到原来的程序流程继续执行。 外部硬件中断 顾名思义,外部硬件中断,就是从处理器外面来的中断信号。当外部设备发生错误,或者有数据要传送(比如,从网络中接收到一个针对当前主机的数据包),或者处理器交给它
阅读全文
posted @ 2020-03-23 20:39 放飞梦想C
阅读(763)
评论(0)
推荐(0)
硬盘的访问,程序重定位和加载
摘要: 用户程序的结构 NASM编译器使用汇编指令 SECTION 或者 SEGMENT 来定义段。它的一般格式是: NASM 对段的数量没有限制,不过 Intel 处理器要求段在内存中的其实物理地址起码是 16 字节对齐的。相应的在段定义使用: 为了方便取得该段的汇编地址, NASM 编译器提供了以下的表
阅读全文
posted @ 2020-03-23 17:10 放飞梦想C
阅读(733)
评论(0)
推荐(0)
2020年3月21日
Bochs调试指令
摘要: Bochs Bochs就像一台真机一样,处理器在加电之后,要开始取指令并执行指令。 如图在左侧显示了该指令所在的物理内存地址 0x0000fffffff0 。 但为什么是 0x0000fffffff0 ?因为和8086不同,现代处理器在加电时,段寄存器CS的内容为,0xF000,指令指针寄存器IP的
阅读全文
posted @ 2020-03-21 17:27 放飞梦想C
阅读(2152)
评论(0)
推荐(0)
编写主引导扇区代码
摘要: 主引导扇区 处理器加电或者复位之后,如果硬盘是首选的启动设备,那么,ROM BIOS将试图读取硬盘的0面0道1扇区。传统上,这就是 主引导扇区(Main Boot Sector,MBR) 。 读取主引导扇区数据有 512 字节, ROM BIOS 程序将它加载到逻辑地址 0x0000:0x7c00
阅读全文
posted @ 2020-03-21 13:16 放飞梦想C
阅读(863)
评论(0)
推荐(1)
2020年3月19日
Linux下Bochs,NASM安装和使用
摘要: 安装环境 以Ubuntu为例,先更新一下: sudo apt-get update sudo apt-get upgrade 然后安装Bochs环境: sudo apt-get install build-essential xorg-dev libgtk2.0-dev 安装NASM NASM官网下
阅读全文
posted @ 2020-03-19 20:05 放飞梦想C
阅读(4933)
评论(2)
推荐(2)
2020年3月17日
计算机的加点和复位和硬盘的的工作原理
摘要: 计算机的加点和复位 在处理器众多的引脚中,有一个是 RESET ,用于接受复位信号。每当处理器加电,或者RESET 引脚的电平由低变高时①,处理器都会执行一个硬件初始化,以及一个可选的内部自测试(Build in Self Test,BIST),然后将内部所有寄存器的内容初始到一个预置的状态。 为了
阅读全文
posted @ 2020-03-17 19:02 放飞梦想C
阅读(452)
评论(0)
推荐(0)
处理器,内存和指令
摘要: 寄存器和算数逻辑部件 处理器的底部或者四周,有大量的引脚,可以接受从外面来的电信号,或者向外发出电信号。这些引脚有很多,其中一部分用来将参数与运算的数字送入处理器的内部。有些引脚是用来复用的,假如现在要进行加法运算,那么我们要重复使用这些引脚,来依次将被加数和加数送入。 一旦被加数通过引脚送入处理器
阅读全文
posted @ 2020-03-17 18:16 放飞梦想C
阅读(451)
评论(0)
推荐(0)
进制转换
摘要: 二进制到十进制的转换 十进制有 0,1,2,3,4,5,6,7,8,9 二进制有 0,1 由于所处的位置不同,每个数位都有一个不同的放大倍数,称为“权"。每个数位的权是这样计算的:从右向左开始,以基数为底,指数从0开始递增的幂。比如一个二进制数 10110001,它的基数是2,所以要这样计算它等值的
阅读全文
posted @ 2020-03-17 12:22 放飞梦想C
阅读(1135)
评论(0)
推荐(0)
2020年3月16日
汇编语言-使用BIOS进行键盘输入和磁盘读写
摘要: int9中断例程对键盘输入的处理 键盘输入将引发9号中断,BIOS提供了int9中断例程。CPU在9号中断发生后,执行int 9中断例程,从60h端口读出扫描码,并将其转化为相应的ASCII码或状态信息,存储在内存的指定空间(键盘缓冲区或状态字节)中。 一般的键盘输入,在CPU执行完int 9中断例
阅读全文
posted @ 2020-03-16 21:18 放飞梦想C
阅读(1043)
评论(0)
推荐(0)
上一页
1
···
13
14
15
16
17
18
19
下一页
公告