什麼是各種型別的分支?
計算機程式中的分支是一條指令,它指示裝置開始執行多條指令,而不是簡單地按順序執行指令。在高階語言中,這些被定義為流程控制階段,並被整合到語言中。在彙編程式設計中,分支指令被整合到 CPU 中。
分支用於無條件或有條件地控制傳輸到程式的指定位置。無條件分支總是被執行。相反,條件分支包含一個條件,因此根據特定條件是真還是假,要麼被執行,要麼不被執行。
如圖表所示,它可以顯示三種類型的無條件分支 - 簡單條件分支、子程式分支和子程式返回。**簡單無條件分支**不儲存返回地址,而子程式分支則儲存。
**子程式返回**是專門的無條件分支,實現對儲存的返回地址的控制轉移。在巢狀子程式中,在分支到和從單個子程式返回時,返回地址以後進先出 (LIFO) 的方式儲存和使用。

一種特殊的條件分支是**迴圈閉合條件分支**。這些分支是後向分支,除了迴圈的最後一次迭代之外,其他所有迭代都會執行。特定的架構提供了實現迴圈閉合分支的方法。例如,一些架構指定了一個計數暫存器,可以用作迴圈計數器,例如 PowerPC 架構。
DEC Alpha 和 PowerPC 架構中使用的相應分支指令示例。值得一提的是,PowerPC 架構對分支有一個很好的概念,至少在兩個方面是這樣。首先,該架構在處理器級別沒有不同的分支和分支到子程式指令。
所有分支,無論是條件分支還是無條件分支,都可以透過將指令編碼中指定的位(稱為 LK 位)設定為 1,轉換為分支到子程式指令。在這種情況下,返回地址將儲存在一個架構定義的暫存器中,稱為連結暫存器。
子程式返回指令的實現很簡單,它是一種特殊型別的分支,其中目標地址取自連結暫存器。
其次,該架構以統一的方式處理條件分支和無條件分支。無條件分支是條件分支的簡單變體,其條件始終滿足。但是,這種方法有一個缺點,導致了一些不常見的指令助記符。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP