文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Oracle一起学习在linux下使用汇编语言(1)
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·Oracle客户端文件打包

一起学习在linux下使用汇编语言(1)

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]



  作者:luster
  摘要:我开始学习在Linux使用汇编语言了。我以前从来没有在Linux下使用过汇编语言。我今天看到了一份文档,是Linux Assembly HOWTO,我看了看,决定学习学习。下面是我的学习笔记。让我一起学习吧。
  在Linux下使用汇编语言
  
    by Wang Hui(hwang@ustc.edu)
  
    2001/9/11
  
    我开始学习在Linux使用汇编语言了。我以前从来没有在Linux下使用过汇编语言。我今天看到了一份文档,是Linux Assembly HOWTO,我看了看,决定学习学习。下面是我的学习笔记。让我一起学习吧。
  
    1. 你需要汇编语言吗?
  
    汇编语言的优点和缺点
  
    汇编语言可以很直接的表达比较低层次的:
  
    · 你可以通过汇编代码访问与机器硬件直接相关的存储器或者I/O口。
  
    · 你可以在一些关键的代码区准确的控制某些代码的行文,避免其他方法带来的多线程共同访问或者硬件设备共享引起的死锁。
  
    · 你可以通过使用汇编打破通常的编译器编译的结果,例如你可以根据自己的考虑优化一些东西。
  
    · 我们可以在代码分片之间建立一些接口。
  
    · 我们可以通过一些汇编代码使处理器进入不寻常的编程模式。例如16 bit mode to interface startup, firmware, or legacy code on Intel PCs.
  
    · 可以优化一些代码,提高运行速度。
  
    · 可以为特定的应该编写优化代码。
  
    · 可以为某语言的编译器编写代码。
  
    汇编语言是一种层次非常低的语言(仅仅高于手动编写二进制机器指令码),这就意味着:
  
    · 开始写起来会很长而且单调
  
    · 很容易出现bug
  
    · 程序中的bug非常难查找
  
    · 写出来的代码非常难懂,而且不好维护和修改
  
    · 而且结果是不能到其他体系结构的平台上运行。
  
    · 代码只能针对某特特定体系结构的特定型号的处理器优化。例如,在Intel兼容系列的CPU中,每一款CPU都有特殊的设计,变量也不一样,都有特定的优化考虑。CPU的时间已经有很多了,例如:Intel 386, 486, Pentium, PPro, PII, PIII, PIV; Cyrix 5x86, 6x86, M2; AMD K5, K6 (K6-2, K6-III), K7 (Athlon, Duron). 而且新的设计还不断地出现。
  
    · 编写汇编代码时候,我们会花费很多的时间在一些细节事情上,而不能专注一些小的或者大的算法设计,而算法的优化能更快的提高程序运行的速度。例如,你可以用汇编加快一些数组的访问和管理,但是总体上讲,使用hash表会更大程度上加快访问速度。
  
    · 一个算法上的小的改动,可能需要我们全部重新写一段很长的代码。
  
  "compilers make it a lot easier to use complex data structures,
  and compilers don't get bored halfway through and generate
  reliably pretty good code."
  
    2. Linux 和汇编
  
    你可能已经注意到了,在linux下开发程序,通常不需要使用汇编语言。与DOS不一样,你不需要使用汇编来编写linux的驱动程序(当然,如果你非得用汇编写,也可以)。而且现在的编译器有很多优化器,可以针对不多的CPU优化尼的高级语言写的代码,例如C代码。当然既然我们在讨论这个问题,而且你都在阅读本文了,luster知道你肯定有自己的理由去使用汇编而不是C或者C++了。:)
  
    你可能需要使用汇编,或者你不得不使用汇编。简单的说,使用汇编的理由就是精简代码和libc无关性。还有一个理由就是,希望像一个以前的疯狂的hacker那样,这些20多岁的hacker的习惯就是用汇编写任何代码。
  
    然而,假如你要移植linux到某些嵌入式硬件环境下,你需要减少系统的大小,你需要将很多基本的系统精简到很小的空间。其中的一个可行的方法就是,重新用汇编写部分(或者全部?)代码。例如,用汇编写的简单的http服务器程序可能少于600 bytes,这样呢可以把建立一个webserver(包括一个内核和一个httpd),大小只有400KB或者更小。是不是很爽?:)
  
    今天就学习到这里。下面就让我们真正开始吧。
  
    待续'

(出处:清风网络学院


[1] 




上一篇:一起学习在linux下使用汇编语言(2)

下一篇:OEM联机自动热备份全攻略(2)

一起学习在linux下使用汇编语言(1) 相关文章:
·教你学习如何破解XP登陆密码
·GHOST使用方法(图解)
·Vista系统使用技巧总结
·为什么iexplore.exe在打开网页时CPU使用会100%?
·QQ空间导航代码最新版使用方法
·DataTable控件的使用
·AIX 5L 学习大纲/简易教程(2)(未经许可,请勿COPY)
·推荐:漂亮的手机上使用的墙纸图片分享下载
·腾讯QQ号码使用完全指南
·DENX U-Boot及Linux使用手册
一起学习在linux下使用汇编语言(1) 相关软件:
·黑客视频教程 VMware虚拟机的安装和使用
·黑客视频教程-灰鸽子远控使用教程
·洪恩轻松教你学电脑_internet学习
·跟我一起装电脑
·使用GPMC随心所欲管理组策略
·FLASH 8中文使用手册
·Adobe Photoshop CS 2 简体中文使用指南
·Windows环境下32位汇编语言程序设计
·鸟哥的linux私房菜:基础学习篇
·新东方演讲录 俞敏洪老师学习英语与人生奋斗

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot