c語言中有分支結構和迴圈結構,他們是用機器指令完成的。那麼他們是怎麼實現的呢?
機器指令中有cmp指令,比較兩個數的大小,接著用jxx指令跳轉。
c語言中有分支結構和迴圈結構,他們是用機器指令完成的。那麼他們是怎麼實現的呢?
機器指令中有cmp指令,比較兩個數的大小,接著用jxx指令跳轉。
je 相等則跳轉
jne 不相等則跳轉
jg 有符號數大於則跳轉
jge 有符號數大於等於則跳轉
jl 有符號數小於則跳轉
jle 有符號數小於等於則跳轉
ja 無符號數大於則跳轉
jae 無符號數大於等於則跳轉
jb 無符號數小於則跳轉
jbe 無符號數小於等於則跳轉
jmp 無條件跳轉
cmp 和 jxx的組合可以看成if(***)goto 語句的組合。
cmp 和 jxx的組合可以看成if(***)goto 語句的組合。
void fun(void)
}改為goto模式
void fun(void)
改為彙編模式
.section .rodata
.lc0:.string "%d\n"
.section .text
fun:
pushl %ebp
movl %esp,%ebp
pushl %ebx
movl $0,%ebx
jmp .l1
.l2:
pushl %ebx
pushl $.lc0
call printf
addl $8,%esp
addl $1,%ebx
.l1:
cmpl $10,%ebx
jl .l2
popl %ebx
movl %ebp,%esp
popl %ebp
ret
其他語句的組合方式
if語句
void fun(int a)
}///
void fun(int a)
if-else語句
void fun(int a)
else
}///
void fun(int a)
for語句
void fun(int len)
{ int i;
for(i=0;i
Java分支結構與迴圈結構
一 分支結構 1 if語句 if語句將根據條件的真假,判斷if的從屬語句,也就是條件符合才能執行裡面的 格式 if 條件 2 if else結構 if else結構根據乙個布林值的真假來選擇做不同的事情,也就是如果.否則.的意思。格式 if 條件 else 格式 if 條件 else else 4 ...
分支結構和迴圈結構
一 分支結構 當需要在程式進行條件判斷來決定是否執行後面 的場合中,可以使用分支結構。1 if 如果成立則執行下列語句 如果不成立則不執行語句 2 if else ifelse 代表 如果成立則執行語句一 如果不成立則執行語句二 3 if else if else 跟if else 相類似 只不過比...
java中的分支結構,迴圈結構
今天學習重點是分支結構,和迴圈結構 關於分支結構,有四種 if if else else if switch case 其中if 乙個分支,if else兩個分支,else if和switch case 多個分支 關於switch case 有幾個知識點 1 case分支後加break,才會跳出sw...