Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6465114
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16635
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

分类: LINUX

2013-04-01 11:37:32

操作系统:ubuntu11.10

    条件传送指令集包含了许多指令,所有指令都具有如下格式:
        cmovx source, destination
        其中 x 是一个或者连个字母的代码,表示将触发传送操作的条件。
        条件取决于 EFLAGS 寄存器的当前值。

        条件传送指令使用的特定位如下:





实例:

点击(此处)折叠或打开

  1. .section .data
  2.     output:
  3.         .asciz "The largest value is %d\n"

  4.     values:
  5.         .int    105,234,61,315,134,221,53,145,117,5

  6. .section .text
  7. .global    _start
  8.     _start:
  9.         nop
  10.         movl    values,    %ebx
  11.         movl    $1,        %edi

  12.     loop:
  13.         movl    values( ,%edi,4),    %eax
  14.         cmp        %ebx,    %eax
  15.         cmova    %eax,    %ebx    
  16.         inc        %edi
  17.         cmp        $10,    %edi
  18.         jne        loop

  19.         pushl    %ebx
  20.         pushl    $output
  21.         call    printf
  22.         addl    $8,        %esp
  23.         pushl    $0
  24.         call    exit

结果:





阅读(20936) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~