Linux下的汇编语言

上传人:工**** 文档编号:484892 上传时间:2017-03-13 格式:PDF 页数:15 大小:236.14KB
返回 下载 相关 举报
Linux下的汇编语言_第1页
第1页 / 共15页
Linux下的汇编语言_第2页
第2页 / 共15页
Linux下的汇编语言_第3页
第3页 / 共15页
Linux下的汇编语言_第4页
第4页 / 共15页
Linux下的汇编语言_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Linux下的汇编语言》由会员分享,可在线阅读,更多相关《Linux下的汇编语言(15页珍藏版)》请在金锄头文库上搜索。

1、可能碰到一些汇编语言片段,这种文件中,整个程序全部由汇编语言组成。这种文件中,既有有汇编语言,我们把出现在入式”汇编。不管这些汇编代码出现在哪里,它在一定程度上都成为阅读源代码的拦路虎。尽管是,在操作系统与硬件打交道的过程中,在需要频繁调用的函数中以及某些特殊的场合中,时,繁琐但又高效的汇编语言必须粉墨登场。因此,在了解一些硬件的基础上,必须对相关的汇编语言知 也所有了解。读 可能有过在写汇编程序的经 ,也 一定的汇编知 。但是,在可能 到了与不一 的 式,这 是的386汇编语言。一 与我们知道,的一 ,尽管不 ,但与 相关的 都 源 的386汇编语言 言,它也是 源 是为1 的,到上,这些上

2、的汇编语言都用的是的令 式。到用了的汇编语言 式, 不是。尽管这 种汇编语言在语上有一定的,但所基的硬件知 是相的,因此, 你”式,你也可以 把它“到 。 我们过对的语 式,以 你把过的知 能 “”过 。 1 在,“ 数都有 。但是在中,“以“ ”, 数以“$”。在, 数 以“h” “b”, 在中, 数以“0x”, 个相 的 。 的 语 8,% 00h 0操作数的 操作数的 相 。在, 一个操作数是 的操作数,个操作数源操作数。 在中, 一个数是源操作数, 个数是 的操作数。由此可以 出, 的语 合们的阅读。在中,% 操作数从上的 可以 出, 操作数也有所不。在,基“用“” , 在中,用“ ”

3、 。 在在,(% 式与 , 式可能 一些。 式是 的 式是% 中, 全可以 化掉。 有定定了“依赖 令以及 用程序是运行在实模式还是保护模式 ,在实模式 ,它依赖 令, 在保护模式 ,的。在中,数用在 在 以“$” , 语及 个相 的 。操作数的语及举 语令 令 % 0h % h (% (% %可以 出,的语 ,因为眼 可以 出 含义, 不可能做到这点。这种 式用在访问数据结构数组中某个特定 素 的一个字段, 中, ,的大小,。 数组 素还是一个结构,则字段在结构中的位。5操作码的 在上的 中你可能已注意到,在的操作码有一个 , 含义 是出操作码的大小。“l” 示 整数 32位 ,“w” 示字

4、 16位 ,“b” 示字节8位 。 在,则要在 操作数的加上 “ 个相 的 。作码的 举 语al,ax, %汇编语言的相关知 在”汇编语言的文件。这里,我们结合体的 再介绍一些汇编语言的相关知 。1程序你编写了一个程序, 需要对 行汇编 连。在 种 式,一种是 用汇编程序程序种是 用们 一 o 转换为 标文件 基本语 as o 文件, 需要把它连并执行,连一个 标文件的基本语为ld o 文件名, 输出(可执行) 文件。 的是的语 不是这 再次说明了语是必须”它。要 用可以一步 成汇编 连, o 这里,出文件 可执行文件 名为中,扩展名必须为大写的S,这是因为,大写的汇编程序中的令,像# 是说,

5、 用编译,你可以在汇编程序中 用令。2. 中的节 的语中, ,你编写汇编语言程序时,至少需要有以 种节包含程序已 始化的数据,也 是说,包含 有 值的些变量, : n 化的数据,也 是说,包含有 值的些变量。操作系统装入这个程序时将把这些变量都置为0, : 0 # 用 请求用户输入名字: 0 # 名字的 度 (尚未定义)这个程序装入时, 为0。 个变量赋了 值,这个值也会丢失,并且变量的值仍为0。在磁盘上,一个 整数足以程序装入到 时,操作系统也只 配 这个节4个字节的 大小。 ,编译程序把它对 在36字节上,也 是说,实际 它36字节的空 。这个节包含程序的代码,它是只读节, 节。3汇编程序

6、令 汇编程序令的一种,这 的令这种令都是以句点 . 为 头,跟令名 小写字母 ,在此,我们只介绍在 核源代码中出现的 个令 以。1 .示零个或 个 用逗号隔 字 串,并把每个字 串 结尾不“字节 中的字 放在连续的 。0“,每个字 串结尾“字节, n2 零或 个 达式 用逗号隔 ,每个 达式放在 一个字节 。3 达式。拷贝 0。 0,但不能超过8, 超过8,也只取8。把组的 高4个字节 为0, 4字节 置为 。 个逗号 ,则 定 一个逗号 ,则 定在化的过程中,对全 置的 ,8,0 /* SSs DTs */因为每个 占8个字节,因此,个放4个 的位置。4 连程序 到你的 部程序中定义了,与这个 部程序连的 部程序也能取 义号。5 零个或 个逗号 隔 ,对 每个缺省值是8字节整数。 打 一个 并只取8字节。,对全 的 用到这个 /* 0GB * 0GB * 0 4GB x00

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > linux/Unix相关

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号