LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2437|回复: 9

学习汇编和操作系统有关吗

[复制链接]
发表于 2009-7-18 19:14:40 | 显示全部楼层 |阅读模式
我是菜鸟,多多包涵

正要学习汇编,目的是为了看懂内核中的一些汇编代码,只是找不到AT&A汇编的书,满图书馆的intel汇编,大部分书都注明是windows环境下的汇编

intel汇编也就算了,反正听说两者有区别有相似的

只是想问问学习汇编在不同操作系统下相差大不大?我学习windows下的汇编,在linux上做试验行不行?


谢谢。。。
发表于 2009-7-19 03:35:34 | 显示全部楼层
汇编语言和机器语言主要和CPU指令集有关,汇编语言只有一些高级部份与操作系统相关。AT&T的汇编不是啥好东西,也不适合写大的程序,也就是嵌入到C语言里面实现点小功能时有用,程序长了连查错都是很大问题,调试也不方便。用Intel风格的就很好了。Linux也有Intel风格的汇编器,比如nasm。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-19 08:06:32 | 显示全部楼层
Post by 没本;2007536
汇编语言和机器语言主要和CPU指令集有关,汇编语言只有一些高级部份与操作系统相关。AT&T的汇编不是啥好东西,也不适合写大的程序,也就是嵌入到C语言里面实现点小功能时有用,程序长了连查错都是很大问题,调试也不方便。用Intel风格的就很好了。Linux也有Intel风格的汇编器,比如nasm。


也就是说,我学了windows 下的intel汇编,再看内核中嵌入c的汇编也是可行的?

谢谢大大
回复 支持 反对

使用道具 举报

发表于 2009-7-19 12:55:47 | 显示全部楼层
AT&T 的汇编可以看Richard Blum 写的 Professional Assembly Language
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-19 15:31:10 | 显示全部楼层
谢谢楼上推荐,好大一本书,还是英文的。。。。

等我再稍微牛X一点再去看吧
回复 支持 反对

使用道具 举报

发表于 2009-7-19 22:22:54 | 显示全部楼层
Post by stesen;2007610
谢谢楼上推荐,好大一本书,还是英文的。。。。

等我再稍微牛X一点再去看吧

牛人?!!

等你看懂GRUB代码先啦!!!
回复 支持 反对

使用道具 举报

发表于 2009-7-20 08:39:51 | 显示全部楼层
Post by stesen;2007431
我是菜鸟,多多包涵
正要学习汇编,目的是为了看懂内核中的一些汇编代码,只是找不到AT&A汇编的书,满图书馆的intel汇编,大部分书都注明是windows环境下的汇编
intel汇编也就算了,反正听说两者有区别有相似的
只是想问问学习汇编在不同操作系统下相差大不大?我学习windows下的汇编,在linux上做试验行不行?
谢谢。。。


汇编就是 CPU 指令的翻译,严格的说来他与操作系统关系不大,但与CPU关系很大。

windows汇编指令都是针对x86的。而实际生产应用中,x86汇编几乎是用途最少的一类汇编。相反,arm汇编,单片机汇编运用得都非常广泛。如果你只是为了学习汇编,那么学x86汇编并不是一个好的选择。

intel汇编是个很笼统的概念,intel有x86/x64的CPU,也有很多单片机。甚至嵌入式CPU,他们的指令都完全不同,汇编也就完全不同。所以你得搞清楚CPU。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-20 09:04:00 | 显示全部楼层
Post by poet;2007755
汇编就是 CPU 指令的翻译,严格的说来他与操作系统关系不大,但与CPU关系很大。

windows汇编指令都是针对x86的。而实际生产应用中,x86汇编几乎是用途最少的一类汇编。相反,arm汇编,单片机汇编运用得都非常广泛。如果你只是为了学习汇编,那么学x86汇编并不是一个好的选择。

intel汇编是个很笼统的概念,intel有x86/x64的CPU,也有很多单片机。甚至嵌入式CPU,他们的指令都完全不同,汇编也就完全不同。所以你得搞清楚CPU。


这样阿,我手上有本清华的《ibm-pc 汇编语言程序设计》,图书馆也有不少其他书,都是x86的,基本都是80x86奔3或奔4,我的电脑是core2的
他们指令上是不是相同、相似或继承关系,我对各种cpu之间的关系不太了解,微机原理还没上过,现在《ibm-pc 汇编语言程序设计》,一片浆糊
回复 支持 反对

使用道具 举报

发表于 2009-7-20 14:24:09 | 显示全部楼层
Post by stesen;2007757
这样阿,我手上有本清华的《ibm-pc 汇编语言程序设计》,图书馆也有不少其他书,都是x86的,基本都是80x86奔3或奔4,我的电脑是core2的
他们指令上是不是相同、相似或继承关系,我对各种cpu之间的关系不太了解,微机原理还没上过,现在《ibm-pc 汇编语言程序设计》,一片浆糊


汇编的书一大堆啦,随便看一本,懂就可以!

话说,看懂清华的哪本,可以看懂GRUB代码么?
回复 支持 反对

使用道具 举报

发表于 2009-7-20 17:22:21 | 显示全部楼层
汇编其实就是机器语言,和硬件关系很紧密,根据自己的硬件去找对应的汇编语言
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表