精华内容
下载资源
问答
  • C语言loop

    千次阅读 2011-02-23 12:19:00
    loop

     

     

    展开全文
  • ,我就把学习的东西写下来吧,当作以后可以学习的笔记~loop指令的格式是:loop标号,cpu执行loop指令的时候,要进行两步操作1:(cx)=(cx)-12:判断cx中的值,不为零则转至标号处执行,如果为零,则向下执行从上面的...

    现在在学习汇编,感觉挺有意思的!,我就把学习的东西写下来吧,当作以后可以学习的笔记~

    loop指令的格式是:loop标号,cpu执行loop指令的时候,要进行两步操作

    1:(cx)=(cx)-1

    2:判断cx中的值,不为零则转至标号处执行,如果为零,则向下执行

    从上面的描述中,可以看到,cx中影响者loop指令的执行结果,通常,我们用loop指令来实现循环功能,cx中存放着循环次数

    编程计算 2^2,结果存放在ax中

    汇编代码实现,很简单

    assume   cs:code

    code  segment

    mov ax,2

    ass ax, ax

    mov   ax,4c00h

    int 21h

    code ends

    end

    这个实现起来很简单,但是若要求的一个数的幂很大时,就不能这样算了,就想c语言中的for循环一样,用一个loop来控制汇编语言中的循环累加

    编程计算2^12

    代码如下:

    assume    cs:code

    code  segment

    mov ax,2

    mov  cx,11

    s:    add  ax,ax

    loop  s

    mov  ax,4c00h

    int   21h

    code  ends

    end

    分析:

    1:标号,在汇编语言中,标号代表一个地址,这个地址处有一条指令:add   ax,ax

    在上面的过程中,我们可以总结出用cx和loop指令相配合实现循环功能的三个要点

    (1)  在cx中存放着循环次数

    (2) loop指令中的标号所标识的地址要在前面

    (3)要循环执行的程序段,要写在标号和loop指令的中间

    用cx和loop指令配合实现循环功能的程序框架如下

    mov   cx,循环次数

    s:

    循环执行的程序段

    loop  s

    好了,loop就没什么问题了~

    展开全文
  • loop是一个在编程中习惯用的语句标号。且长配合goto语句使用。由于现在编程不提倡使用goto语句,c中的语句标号也好少用到。另附上goto,break, continue和return用法:=========================================== ...

    loop是一个在编程中习惯用的语句标号。

    且长配合goto语句使用。

    由于现在编程不提倡使用goto语句,c中的语句标号也好少用到。

    另附上goto,break, continue和return用法:=========================================== 程序中的语句通常总是按顺序方向, 或按语句功能所定义的方向执行的。

    假如需要改变程序的正常流向, 可以使用本小节介绍的转移语句。

    在C语言中提供了4种转移语句: goto,break, continue和return。

    其中的return语句只能出现在被调函数中, 用于返回主调函数,我们将在函数一章中具体介绍。

    本小节介绍前三种转移语句。

    1.goto语句 goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的 前面,标号后加冒号:。

    语句标号起标识语句的作用,与goto 语句配合使用。

    如: label: i++; loop: while(x的循环,并不跳出循环。

    void main(){ int n; for(n=7;n中的字符赋予b,输入下一次循环。

    输出100以内的素数。

    素数是只能被1 和本身整除的数。

    可用穷举法来判定一个数是否是素数。

    void main(){ int n,i; for(n=2;n=n) printf(" %d",n); } } int n,i; for(n=2;n=n) printf(" %d",n); } 本例程序中,第一层循环表示对1~100这100个数逐个判定是否是素数,共循环100次,在第二层循环中则对数n用2~n-1逐个去除,若某次除尽则跳出该层循环,说明不是素数。

    假如在所有的数都是未除尽的情况下结束循环,则为素数,此时有i>=n, 故可经此判定后输出素数。

    然后转入下一次大循环。

    实际上,2以上的所有偶数均不是素数,因此可以使循环变量的步长值改为2,即每次增加2,此外只需对数n用2~n去除就可判定该数是否素数。

    这样将大大减少循环次数,减少程序运行时间。

    #include"math.h" void main(){ int n,i,k; for(n=2;n=k) printf(" %2d",n); } }

    展开全文
  • __asm__ __volatile__( "MOV R5 , %1\n"//val放入寄存器r5 "MOV R1 , #0\n" //sum = 0 "MOV R2 , #1\n"//i = 1 "LOOP:\n" " ADD R1 , R1 ,R2\n" //sum = sum + i " ADD R2 , R2 ,#1\n" //i++ " CMP R5 , R2\n" //...

    满意答案

    00e27ab806e4881f8254fe7ae8741834.png

    foy23q

    2018.11.16

    00e27ab806e4881f8254fe7ae8741834.png

    采纳率:59%    等级:9

    已帮助:3714人

    int GetSum(int val) //使用汇编求1+2+3+...+val的值 { int sum = 0; __asm__ __volatile__( "MOV R5 , %1\n"//val放入寄存器r5 "MOV R1 , #0\n" //sum = 0 "MOV R2 , #1\n"//i = 1 "LOOP:\n" " ADD R1 , R1 ,R2\n" //sum = sum + i " ADD R2 , R2 ,#1\n" //i++ " CMP R5 , R2\n" //判断 i 是否等于val if(i==val) " BEQ END\n" //若相等 跳转至END处 break " B LOOP\n" //若不相等 跳转至LOOP处进入下次循环 else continue "END:\n" "MOV %0 , R1\n" //sum = R1 :"=r"(sum)//输出 :"r"(val)//输入 :"memory" ); return sum; } 随便写了个求和的例子 其余的循环大同小异 不懂可以继续探讨 运行之前请交叉编译然后在ARM平台上运行追问: 大神,你写的有点乱,我这个初学者看的头皮发麻啊

    00分享举报

    展开全文
  • c语言之循环 Loop

    2009-06-19 19:05:36
    来自全国一流知名大学的一位老师的课件,很值得一看哦
  • c语言-循环(C language - loop)c语言-循环(C language - loop)Fill in the blanks, and do not change the statements that relate to the input and output.Enter a positive integer repeat (0Read in 1 positive ...
  • C语言

    千次阅读 2015-03-26 20:19:08
    第一章C语言概述  1.1什么是语言,什么是C语言  1.2计算机结构组成  1.3二进制的概念和进制的概念  1.4计算机信息存储  1.5机器语言与指令  1.6编译器的概念  1.7主流语言进化史  1.8 C语言特点和适用的领域...
  • For Loop in C
  • 文章目录1....linux下编译c代码,报错break statement not within loop or switch 2. 解决 错误原因,if判断错误使用break,将break修改为return即可。 总结 没注意导致的错误,希望尽量避免。 ...
  • 解决【dev-c++】 c语言项目报错’for’ loop initial declarations are only allowed in C99 or C11 mode 报错提示 解决方法 在项目管理中,点击当前项目名称,右键 编译器 -> 代码生成 -> 语言标准 -> ...
  • C语言经典面试题 与 C语言面试宝典

    万次阅读 多人点赞 2017-12-22 16:15:26
    1 预处理 问题1:什么是预编译?何时需要预编译? ...预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。...如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。...
  • c语言实用专业英语词汇带翻译c语言的学习跟一些相关专业的...c语言实用专业英语词汇cascading if statement 级联if语句control expression 控制表达式infinite loop 无限循环loop-and -a-half problem 半途退出funct...
  • ``` for (ArcNode *p=G.vertices[index].fristarc; p; p=p->nextarc){} ```
  • c语言常用专业词汇术语想要学好c语言,对于...c语言常用专业词汇Constant常量Symbolic constants符号常量Operator运算符Expression表达式Control flow控制流程Loop循环Initialize初始化Binary二进制Octal八进制Hexad...
  • 标题《嵌入式C语言》 --最具价值的嵌入式C语言 #1 C语言简介 C语言是国际上广泛流行的高级语言,是在B语言的基础上发展起来的, 1970年, 美国贝尔实验室的D.M.Ritchie设计了B 语言, 并用于编写了第一个UNIX操作...
  • C语言goto语句C语言goto语句实例代码教程 - goto语句在C编程语言提供的goto无条件跳转到带标签的语句相同的功能。goto语句在C编程语言提供的goto无条件跳转到带标签的语句相同的功能。注意:强烈建议不要使用goto...
  • C语言试题

    千次阅读 2020-10-08 22:44:07
    Explain the syntax for for loop. for(expression-1;expression-2;expression-3) { //set of statements } When control reaches for expression-1 is executed first. Then following expression-2, and if ...
  • C语言内联汇编

    千次阅读 2018-09-26 22:06:43
    在阅读linux 源码的时候,我们会看到很多C语言内联汇编的代码。下面我们集中看看C语言内联汇编是怎么样的。 首先,我们得想想为什么会有在C语言里面内联汇编的需求。 主要有两个,一个是我们觉得在被频繁调用的函数...
  • C语言中的continue语句用于继续执行循环(while,do while和for)。 它与循环中的条件一起使用。在内循环的情况下,它跳过当前迭代,继续内循环的下一个迭代。语法jump-statement;continue;跳转语句可以是while,do ...
  • C语言是一种计算机编程语言,属于高级语言的类别. 它具有高级语言和汇编语言的特征. 通过实习报告. 本文是C语言实习报告,仅供参考.对于通过电话预订的服务生,我们需要做什么?首先,我们需要准备一张大小合适的...
  • 在编译C语言模块的时候,可以令gcc使用c99标准进行编译 CC='gcc -std=c99' python build.py
  • C语言基础

    千次阅读 2016-04-10 18:20:20
    C 语言基础Object-C 语言是C语言的超集,意思就是我们可以将两种语言写在同一个源代码文件中。Object-C语言结构的核心是建立在C语言之上的。所以在学习语言的高级特性之前,掌握C语言基础是很重要的。这个模块为...
  • C语言中的break语句用于中断循环的执行(while,do while和for)和switch case。在内循环的情况下,仅终止内循环的控制。C语言中有两种使用break关键字:与switch一起使用与循环语句一起使用语法如下:jump-statement;...
  • 如何用c语言插入(背景)音乐

    千次阅读 多人点赞 2020-03-11 09:45:09
    c语言
  • c语言必背专业英语词汇大全要想学好c语言,对于c语言方面的专业英语词汇的学习非常重要,那么现在就一起来学习一些必背的`c语言专业英语词汇吧,希望能够帮到大家!c语言专业英语词汇comment 注释program comment ...
  • C语言常用单词贡献者:游客10727681 类别:英文 时间:2016-09-19 19:31:53 收藏数:131 评分:2.5返回上页举报此文章请选择举报理由:广告/谣言/欺诈政治敏感色情/违法信息垃圾文章其他收藏到我的文章改错字include...
  • C语言的头文件和宏定义详解

    万次阅读 多人点赞 2018-01-24 21:00:44
    之前对C语言的头文件和宏定义抱着一知半解的态度,现理清思路并以文字的形式整理出来,以供不时之需 头文件 头文件,顾名思义就是定义在C语言文件头部的那一坨东西 #include 这就是一个标准输入输出的...
  • C语言是很多程序猿的入门语言,而且C语言也是一门用不过时的语言。编写高效简洁的C语言代码,是许多软件工程师追求的目标。今天小编针对编程工作中的一些体会和经验给大家做相关的阐述。 第一招:以空间换时间 ...
  • 问题描述:C语言 if else 用法while(1) \x05 //infinite loop{if (DSK6414_DIP_get(0) ==0) DIP0pressed =1 ;else DIP0pressed = 0;if (DSK6414_DIP_get(1) ==0) DIP0pressed =1 ;else DIP1pressed = 0;if (DSK6414_...
  • 解决方法:有两种,个人推荐第二种 1)将for循环里的int 定义到for循环外 2) Tools -> Compiler Options ->  General ->  ...将 Add the following commands when calling the compiler;...在下面填写上 -std=c99 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,591
精华内容 13,036
关键字:

c语言loop

c语言 订阅