1.4条件分支和循环机制

      程序的流程分为顺序执行、条件分支和循环三种。顺序执行是指按照地址内容的顺序执行。条件分支是指根据条件执行任意地址的指令。循环是指重复执行同一地址指令。顺序执行的情况比较简单,每执行一个指令程序计数器的值就自动加1。但若程序中存在条件分支和循环,机器语言的指令就可以将程序计数器的值设定为任意地址。这样一来,程序便可以返回上一个地址来重复执行同一个指令,或者跳转到任意地址。接下来,我们就以条件分支为例,来说明循环时程序计数器的数值设定机制也是一样的。下图1-5所示

 

           条件分支和循环中使用的跳转指令,会参照当前执行的运算结果来判断是否跳转。在1前面1.1表1-1中所列出的寄存器中,我们提到了标志寄存器。无论当前累加寄存器的运算结果是负数、零还是正数,标志寄存器都会将其保存(也负责存放溢出和奇偶校验的结果)。

        CPU在进行运算时,标志寄存器的数值会根据运算结果自动设定。条件分支在跳转指令前会进行比较运算。至于是否执行跳转指令,则由CPU在参考标志寄存器的数值后进行判断。运算结果的正

零、负三种状态由标志寄存器的三个位表示。图1-6是32位CPU(寄存器的长度是32位)的标志寄存器的示例。标志寄存器的第一个字节位、第二个字节位和第三个字节位的值为1时,表示运算结果分别为正数、零和负数。

 

posted @ 2023-02-08 18:56  原魏薯片  阅读(51)  评论(0)    收藏  举报