`
Ydoing
  • 浏览: 101071 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

汇编语言学习系列 for循环实现

 
阅读更多

假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。

复制代码
#include<stdio.h>
int fact_for(int n)
{
    int i;
    int result = 1;
    for(i = 2; i <= n; i++)
        result *= i;
    return result;
}

int main(){
    printf("%d\n", fact_for(3));
    return 0;
}
复制代码
  • 代码for.s
复制代码
.section .data
        n: .int 3
        format: .asciz "%d\n"
.section .text
.global _start
_start:
        pushl %ebp
        movl %esp, %ebp
        subl $8, %esp
        
        movl n, %ecx        
        movl %ecx, (%esp)
        call fact_for

        pushl %eax
        pushl $format
        call printf
        
        movl $0, (%esp)
        call exit
        
fact_for:
        pushl %ebp
        movl %esp, %ebp
        pushl %ebx
        
        movl 8(%ebp), %edx    #get n
        movl $1, %eax        #init result
        movl $2, %ecx        #init i
        
        cmp %ecx, %edx
        jl .done
        
.loop:
        imul %ecx, %eax
        inc %ecx
        cmp %ecx, %edx
        jge .loop

.done:
        popl %ebx
        popl %ebp
        
        ret        
复制代码
  • 编译

as for.s -o for.o

  • 链接

ld -lc -I /lib/ld-linux.so.2 for.o -ofor

  • 执行

./for

分享到:
评论

相关推荐

    汇编语言学习大全

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言.chm 学习汇编语言入门

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言基础学习资料

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言教程chm版本

    汇编语言教程chm版本 值得收藏。 课程介绍 第1章 预备知识  1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1...

    (chm)汇编语言全接触

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    WINDOWS系统开发汇编语言教程

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言经典电子书

    这是一本关于汇编的电子书,制作精良,内附有大量彩图,希望能给想学汇编的朋友带来帮助. 第1章 预备知识  1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的...

    汇编语言 详细 电子书

    这是一本关于汇编的电子书,制作精良,内附有大量彩图,希望能给想学汇编的朋友带来帮助. 第1章 预备知识  1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的...

    80x86汇编语言教程

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言程序设计 第二版

     在内容组织上,把学习高级语言的习惯和汇编语言的特点相结合,按“硬件资源—变量定义一指令系统—编程”的顺序安排相应的内容。结合MASM V6.1x的编程环境,使汇编语言源程序具有一定的高级语言特点和结构。书中用...

    汇编语言入门到精通文档

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言(特点与应用)

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言教程-学习的极佳资料

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言学习大全 很实用的

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言程序教程(.chm格式)

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    从汇编语言到Windows内核编程

    2.1.1 for循环 2.1.2 do循环 2.1.3 while循环 2.2 C 语言判断与分支的反汇编 2.2.1 if-else判断分支 2.2.2 switch-case判断分支 2.3 C语言的数组与结构 2.4 C语言的共用体和枚举类型 第3章 练习反汇编C语言程序 3.1 ...

    汇编语言教程chm电子书

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

    汇编语言教程

     1.1 汇编语言的由来及其特点  1 机器语言  2 汇编语言  3 汇编程序  4 汇编语言的主要特点  5 汇编语言的使用领域  1.2 数据的表示和类型  1 数值数据的表示  2 非数值数据的表示  3 基本的数据类型 ...

Global site tag (gtag.js) - Google Analytics