
汇编
汇编语言
@HDS
NULL
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
通过汇编程序理解汇编和链接过程
汇编代码简析通过编写汇编程序,然后分析它的汇编和链接过程,对理解汇编程序中的各种汇编器指令和各种标签很有帮助。首先介绍以下汇编器指令和标签这两个概念,观察下面一段求最大值的汇编程序代码maxmum.s:#目的:寻找一组数中的最大值#寄存器有以下用途:# %edi - 保存正在检测的数据的索引# %ebx - 当前已经找到的最大数据项# %eax - 当前数据项#使用以下内存位置:# data_items - 包含数据项# 0表示数据结束.section .dat原创 2020-09-17 18:20:17 · 3766 阅读 · 2 评论 -
区分处理器的字,字长和汇编中的字,双字,四字
字和字长64位系统和32位系统中64和32的含义:64和32指的是CPU中的寄存器(通用)的字长,字长就是一个字的位数。这里说的字的含义是:处理器进行数据处理时,一次存取,加工,和传送的数据长度。系统中的一个字的大小与CPU寄存器的大小有关,因此,16位,32位系统与64位系统中的字不一样:16位系统:一个字 = 2Byte32位系统:一个字 = 4Byte64位系统:一个字 = 8Byte汇编中的字,双字和四字汇编中的字,双字,四字其实指的是汇编指令的后缀,与处理器概念中的字和字长是不原创 2020-09-16 19:25:38 · 2218 阅读 · 0 评论 -
在64位Linux中编译32位AT&T格式的汇编程序
alloc.s源代码# 目的:用于管理内存使用的程序——按需分配和释放内存# # 注意:使用这些例程的程序将要求一定大小的内存,在实际操作中,我们使用的内更大,但在回传指针前将之放在开始处,。我们增加一个大小子段,以及一个# AVAILABLE/UNAVAILABLE标记。# 因此,内存看起来如下所示# # ##################################...原创 2020-05-01 16:41:45 · 494 阅读 · 0 评论 -
and和or指令技巧小记
技巧小记and 指令按位与作用:想要将某一位变成0,而其他位不变使用:谁要变0,谁就和0与示例:将一个小写的英文字母b变成大写B。思路:b的ASCII表示为0110 0010b,只需要把第5位(从最右边一位作为0位,开始算起)变成0就可以。所以第5位要变0,那就第五位需要和0与。数学上习惯把A-B中的A称为被减数,因为要从它里面减,它要减少,所以是被减的那个;B称为减数,因为B标明到...原创 2020-03-11 11:05:30 · 1730 阅读 · 2 评论 -
as86汇编器
as86汇编器在Linux 0.x系统中使用了两种汇编器(Assembler)。一种是能产生16位代码的as86汇编器,使用配套的ld86链接器;另一种是GNU的汇编器gas(as),使用GNU ld链接器来链接产生的目标文件。这里我们首先说明as86汇编器的使用方法。as86和ld86是由MINIX-386的主要开发者之一Bruce Evans编写的Intel 8086,80386汇编编译程...原创 2020-03-11 00:24:44 · 2036 阅读 · 0 评论