鱼C论坛

 找回密码
 立即注册
查看: 3055|回复: 3

关于loop的问题

[复制链接]
发表于 2022-1-7 22:07:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
听课时讲到,循环通常用loop指令,也可以使用其他的指令实现循环功能。谁能给我讲讲其他的指令?谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-7 22:36:58 | 显示全部楼层
  1. $ ls
  2. main.s  Makefile
  3. $ cat main.s
  4. .data
  5. hello:  .string "hello world!\n"
  6. count:  .int
  7. fmt:    .string "%d"

  8. .text
  9. .globl main
  10. main:
  11.     pushl   $count
  12.     pushl   $fmt
  13.     calll   scanf
  14.     addl    $8, %esp
  15.     jmp     .L2

  16. .L1:pushl   $hello
  17.     calll   printf
  18.     addl    $4, %esp

  19.     subl    $1, count
  20. .L2:cmpl    $0, count
  21.     jg      .L1

  22.     pushl   $0
  23.     calll   exit
  24. $ cat Makefile
  25. ASFLAGS = -m32 -g -Wall
  26. LDFLAGS = -static

  27. all: main

  28. clean:
  29.         rm -rf main
  30. $ make
  31. cc -m32 -g -Wall -static  main.s   -o main
  32. $ ls
  33. main  main.s  Makefile
  34. $ ./main
  35. 0
  36. $ ./main
  37. 1
  38. hello world!
  39. $ ./main
  40. 3
  41. hello world!
  42. hello world!
  43. hello world!
  44. $ ./main
  45. 5
  46. hello world!
  47. hello world!
  48. hello world!
  49. hello world!
  50. hello world!
  51. $
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-7 22:42:33 | 显示全部楼层

晕。不好意思,我是个小白,刚刚开始学习汇编语言。我想请教的是“汇编语言中,除了loop指令,还有什么指令可以实现循环功能。”
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-7 23:26:12 | 显示全部楼层
凡得友 发表于 2022-1-7 22:42
晕。不好意思,我是个小白,刚刚开始学习汇编语言。我想请教的是“汇编语言中,除了loop指令,还有什么指 ...


cmp + jmps
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-7 15:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表