ALU有两个输入: (1)通过暂存器1的输入:输入数据来自寄存器、直接寻址单 元(含ⅣO口)、内部RAM、寄存器B或是立即数。 (2)通过暂存器2或累加器ACC的输入:通过暂存器2的运 算的指令有 ANL direct, data ORL direct, #t data XRL direct, data 其它的运算,其输入之一大多数也要通过累加器ACC
ALU有两个输入: ⑴ 通过暂存器1的输入:输入数据来自寄存器、直接寻址单 元(含I/O口)、内部RAM、寄存器B或是立即数。 ⑵ 通过暂存器2或累加器ACC的输入:通过暂存器2的运 算的指令有 ANL direct, # data ORL direct, #data XRL direct, #data 其它的运算,其输入之一大多数也要通过累加器ACC
ALU有两个输出: (1)数 据经过运算后,其结果又通过内部总线送回到累加器中; (2)数据运算后产生的标志位输出至程序状态字PSW。 2.累加器A 累加器A是CPU中使用最频繁的一个八位专用寄存器, 简称ACC或A寄存器。主要功能:累加器A存放操作数,是 ALU单元的输入之一,也是ALU运算结果的暂存单元。 在80C51中只有一个累加器A,而单片微机中大部分数据操作 都要通过累加器A进行,容易产生“瓶颈”现象
ALU有两个输出: ⑴ 数 据经过运算后,其结果又通过内部总线送回到累加器中; ⑵ 数据运算后产生的标志位输出至程序状态字PSW。 2. 累加器A 累加器A是CPU中使用最频繁的一个八位专用寄存器, 简称ACC或A寄存器。主要功能:累加器A存放操作数,是 ALU单元的输入之一,也是ALU运算结果的暂存单元。 在80C51中只有一个累加器A,而单片微机中大部分数据操作 都要通过累加器A进行,容易产生“瓶颈”现象
3.B奇存器 B寄存器在乘法和除法指令中作为ALU的输入之一。乘法中 ALU的两个输入分别为A、B,运算结果存放在AB寄存器对中A 中放积的低8位,B中放积的高8位。 除法中,被除数取自A,除数取自B,商数存放于A,余数存放 于B。 在其它情况下,B寄存器可以作为内部RAM中的一个单元来使 用 4.程序状态字PSW PSW( Program Status Word)是一个逐位定义的8位寄 存器,其内容的主要部分是算术逻辑运算单元(ALU)的输出。 其中有些位是根据指令执行结果,由硬件自动生成,而有些位状 态可用软件方法设定
3.B寄存器 B寄存器在乘法和除法指令中作为ALU的输入之一。乘法中, ALU的两个输入分别为A、B,运算结果存放在AB寄存器对中A 中放积的低8位,B中放积的高8位。 除法中,被除数取自A,除数取自B,商数存放于A,余数存放 于B。 在其它情况下,B寄存器可以作为内部RAM中的一个单元来使 用。 4. 程序状态字PSW PSW(Program Status Word)是一个逐位定义的8位寄 存器,其内容的主要部分是算术逻辑运算单元(ALU)的输出。 其中有些位是根据指令执行结果,由硬件自动生成,而有些位状 态可用软件方法设定
些条件转移指令就是根据PSW中的相关标志位的状态,来实现 程序的条件转移 CYACFO RS IRSdOV-P 其中,除PSW.1(保留位)、RS1和RS0(工作寄存器组选择控制 位)及用户标志F0之外,其他四位:奇偶校验位P、溢出标志位Ov 辅助进位标志位AC及进位标志位CY都是ALU运算结果的直接输出 P(PSW.0)奇偶标志位。 每个指令周期都由硬件来置位或清除。 用以表示累加器A中值为1的个数的奇偶性:若累加器值为1 的位数是奇数,P置位(奇校验);否则P清除(偶校验)
一些条件转移指令就是根据PSW中的相关标志 位的状态,来实现 程序的条件转移。 其中,除PSW.1(保留位)、RS1和RS0(工作寄存器组选择控制 位)及用户标志F0之外,其他四位:奇偶校验位P、溢出标志位OV、 辅助进位标志位AC及进位标志位CY都是ALU运算结果的直接输出。 P (PSW.0) -奇偶标志位。 每个指令周期都由硬件来置位或清除。 用以表示累加器A中值为1的个数的奇偶性:若累加器值为1 的位数是奇数,P置位(奇校验);否则P清除(偶校验)。 CYAC F0 RS1RS0 OV - P
在串行通信中,常以传送奇偶校验位来检验传输数据的 可靠性。通常将P置入串行帧中的奇偶校验位。 OV(PSw.2)一溢出标志位。 当执行运算指令时,由硬件置位或清除,以指示运算是否 产生溢出,OV置位表示运算结果超出了目的寄存器A所能表示 的带符号数的范围(-128~+127)。 若以C裱表示位i位i+南进位,则OV=C6⊕C7;当位6 向位7有进位(借位而位7不向CY进位(借位)时;或当位7向C进 位(借位而位6不向位7进位(借位)时,OV标志置位,表示带符 号数运算时运算结果是错误的;否则,清除OV标志,运算个 结果正确
在串行通信中,常以传送奇偶校验位来检验传输数据的 可靠性。通常将P置入串行帧中的奇偶校验位。 • OV (PSW.2) -溢出标志位。 当执行运算指令时,由硬件置位或清除,以指示运算是否 产生溢出,OV置位表示运算结果超出了目的寄存器A所能表示 的带符号数的范围(一128~+127)。 若以Ci表示位 i向位 i +l有进位,则OV=C6⊕C7;当位6 向位 7有进位(借位)而位7不向CY进位(借位)时;或当位7向C进 位(借位)而位6不向位7进位(借位)时,OV标志置位,表示带符 号数运算时运算结果是错误的;否则,清除OV标志,运算个 结果正确