AT&T 汇编语言

AT&T 风格汇编语言(chapter2 查找最大值)

2018-05-05  本文已影响0人  李2牛

查找最大值代码:

    .section .data           #数据项                        
data_items:     
    .long 3,67,34,222,45,75,54,34,44,34,33,22,11,66,0
    .section .text
    .globl _start
_start:   
    movl    $0, %edi    #将0引入索引寄存器
    movl    data_items(,%edi,4),    %eax  #加载数据的第一个字节
    movl    %eax,   %ebx    #ebx记录当前最大的数据项
start_loop:
    cmpl    $0, %eax  #是否到达数据末尾
    je  loop_exit #退出
    incl    %edi #加载下一个值
    movl    data_items(,%edi,4),    %eax 
    cmpl    %ebx,   %eax #比较
    jle start_loop #如果新的数据项不大于原最大值 ,退出本次循环
     
    movl    %eax,   %ebx  #更新最大值寄存器
     
    jmp start_loop #循环开始处
loop_exit:
    movl    $1, %eax
    int $0x80
  1. .section .data
    伪指令,表示数据区的开始
    几种数据类型:
  1. .section .text
    伪指令,表示指令的开始

总结:

上一篇 下一篇

猜你喜欢

热点阅读