at&t汇编------循环

本文深入探讨了AT&T汇编语言中的循环结构,包括如何使用跳转指令(如`jmp`和`loop`)来创建迭代,以及如何处理循环条件和循环计数器。通过实例解析,阐述了如何有效地编写和优化循环代码,提升程序性能。
摘要由CSDN通过智能技术生成
.section .rodata
    .LC0:.string "%d\n"
    .LC1:.string "%d\t%d\n"
.section .text

print_7:
    pushl %ebp
    movl %esp,%ebp
    pushl %ebx
    
    movl $1,%ebx
    jmp .L1
.L2:
    movl %ebx,%eax
    cltd
    movl $7,%ecx
    idivl %ecx
    
    cmpl $0,%edx
    jne .L3
    
    pushl %ebx
    pushl $.LC0
    call printf
    addl $8,%esp
    
.L3:
    addl $1,%ebx
.L1:
    cmpl $1000,%ebx
    jl .L2
    
    popl %ebx
    movl %ebp,%esp
    popl %ebp
    ret


print_7_2:
    pushl %ebp
    movl %esp,%ebp
    pushl %ebx
    
    movl $1,%ebx
    jmp .L4
.L5:   
    pushl %ebx
    pushl $.LC0
    call printf
    addl $8,%esp
    
    
    addl $1,%ebx
.L4:
    imull $7,%ebx,%eax
    cmpl $1000,%eax
    jl .L5 
    
    popl %ebx
    movl %ebp,%esp
    popl %ebp
    ret
    
   

print_rand:
    pushl %ebp
    movl %esp,%ebp
    pushl %ebx
    
    movl $0,%ebx
    jmp .L6
.L7:
    
    call rand
    cltd
    movl $100,%ecx
    idivl %ecx
    
    pushl %ed
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值