
汇编
shiawaseli
我的GitHub(https://github.com/shiawaseli)
展开
-
[汇编与C] 函数调用
我们用下面的代码来研究函数调用的过程。int bar(int c, int d) { int e = c + d; return e; }int foo(int a, int b) { return bar(a, b); }int main(void) { foo(2, 3); retur...原创 2019-10-17 00:33:39 · 1311 阅读 · 0 评论 -
[汇编] 寻址方式
访问内存时在指令中可以用多种方式表示内存地址,比如可以用数组基地址、元素长度和下标三个量来表示,增加了寻址的灵活性。本文介绍 x86 常用的几种寻址方式(Addressing Mode)。内存寻址在指令中可以表示成如下的通用格式:ADDRESS_OR_OFFSET(%BASE_OR_OFFSET,%INDEX,MULTIPLIER)它所表示的地址可以这样计算出来:FINAL ADDRESS...原创 2019-10-11 22:23:01 · 693 阅读 · 0 评论 -
[汇编] 最简单的汇编程序
简单的汇编程序#PURPOSE: Simple program that exits and returns a # status code back to the Linux kernel # #INPUT: none # #OUTPUT: returns a status code. This can be viewed # by typin...原创 2019-10-04 21:05:32 · 3028 阅读 · 0 评论 -
[汇编] x86的寄存器
x86 的通用寄存器有 eax、ebx、ecx、edx、edi、esi。这些寄存器在大多数指令中是可以任意选用的,比如 movl 指令可以把一个立即数传送到 eax 中,也可传送到 ebx 中。但也有一些指令规定只能用其中某个寄存器做某种用途,例如除法指令 idivl 要求被除数在 eax 寄存器中,edx 寄存器必须是 0, 而除数可以在任意寄存器中,计算结果的商数保存在 eax 寄存器中(覆盖...原创 2019-10-09 20:17:18 · 554 阅读 · 0 评论 -
[汇编] 第二个汇编程序
求一组数的最大值的汇编程序#PURPOSE: This program finds the maximum number of a # set of data items. # #VARIABLES: The registers have the following uses: # # %edi - Holds the index of the data item be...原创 2019-10-11 17:57:53 · 183 阅读 · 0 评论