和CPU说话01
参加小甲鱼老师的写学习笔记活动,开始了这个贴。也顺便督促自己坚持学习。要不老是爱偷懒。
看看自己能坚持到哪一步吧。
从0开始,学完了《汇编语言》,学着《带你学C带你飞》,
目前学到40课左右,小甲鱼老师没布置习题了,没题可做,一下子好像失去了人生目标 :(
无聊之余不得不停下来思考一下为什么学编程了。
其实从学汇编语言开始就一直存了个疑问,windows妈妈为什么隐藏了好多秘密不让我们知道?
例如端口的读写。
这里的端口是指用汇编 in/out 指令进行读写的端口。
学编程,我希望通过代码,控制CPU完成我希望做到的事,例如读写磁盘。
《汇编语言》中教了我们从CMOS中读出一些数据:
mov al,0
out 70h,al
in al,71h
这是从CMOS中读一个时间的值。
我当时就觉得好神奇啊,这就像一把钥匙,打开芯片世界的门。
可是windows很让人失望,学完《汇编语言》的朋友可能会有体会,
课程设计2中需要我们对时间进行修改,假如直接用out指令给其赋值,是没结果的。
这让我很恼火,为什么我的电脑,我想给它某个地方赋值还不行,windows你行你为什么不告诉我你是怎么做的。
虽然windows能让我们更改时间,可是我们就一定要用它的方式吗?
这给我的感觉就像面前一个美女,想XXOO她,windows给个套,说:戴上,往这里上。
又或者说windows直接虚拟个美女,然后告诉我说:恩 就是她了,你上吧~!
...
MD,我不想这样上。
对我这种宅男来说,电脑是第二个老婆。这样说的话,
windows这是给全世界用win的人们送上了lv帽子啊...
等我哪天厉害了,我要把windows每个洞都X一遍,哈哈哈哈哈哈
这算一个我学编程的一个小目标吧。
言归正传,因为想完全百分百控制自己的电脑,所以要学的东西太多太多。
眼前是一片迷茫。该怎么探索这个世界呢?
首先看看自己有什么装备和技能吧:
几台电脑,几本书(《汇编语言》、《Windows环境下32位汇编语言程序设计(典藏版)》、《C Primer Plus》),鱼C会员;
汇编技能(入门级+),C技能(入门级)。
哈哈,这就是仅有的了,小白一个,反正不会淹死,不怕。
哦,还有,自带一个脑子,不错的身体,大量的时间。
近期目标:
实模式下反汇编0000:0000~FFFF:FFFF的所有内容。
目的:
学习一些int指令(BIOS中断例程)到底是如何实现的。
试探的脚步踏到了这里:
建立一台虚拟电脑 =>
用自己的引导程序复制了F000:0000~F000:FFFF的内容进软盘镜像 =>
反汇编该软盘镜像 =>
逐条提取int13h(磁盘读写例程),给每条代码加注释,理解 (正在进行中)
2017.6.30
页:
[1]