溢出时是正溢出还是负溢出:
C2C1=00=11时,无溢出;
C2C1=01时,为正溢出;
C2C1=10时,为负溢出。
补
根据 C 1、C2值亦可判断有溢出时是正溢出还是负溢出:
C2C1=00=11时,无溢出;
C2C1=01时,为正溢出;
C2C1=10时,为负溢出。
1.2.2计算机中有符号数的运算152
例1.4求:55+66
[55] =00110111
例1.5求:(-93)+(-59)
[-93] 补= 10100011
+ [-59] 补= 11000101
1补
□01101000=[+104]
1 0
韩山师范学院
因为 C 2=1,C 1=0,OF=C 1⊕C2=1,所以有溢出,结果不对。
1.2.2计算机中有符号数的运算153
1.2.3 计算机中无符号数的运算
微机中无论有符号数还是无符号数的加减法运算,都
是在加法器电路中完成的。
无符号数运算时,只有数据用二进制表示时,运算结
果才是正确的;若数据用BCD码表示,则需要对运算结果
进行调整,使之符合十进制运算的进位/借位规则;若数
据用ASCII码表示,则必须把它们变换成二进制码或BCD码
后才便于运算。
韩山师范学院
1.2.3计算机中无符号数的运算154
十进制调整的规则如下:
1)十进制加法调整规则
①若两个一位BCD数相加结果大于9(1001),则应作6(0110)
修正;
②若两个BCD数相加结果在本位并不大于9,但产生了进位,
这相当于十进制数运算大于等于16,所以也应在本位作
加6修正。
2)十进制减法调整规则
两个BCD数相减,若出现本位差超过9,或虽不超过9
但向高位有借位,则说明必然是借了16,多借了6,应在
本位作减6修正。
实际中,现代计算机中均有专门的十进制调整指
令,利用它们,机器可按规则自动进行调整。
韩山师范学院
155
1.2.4 计算机中的乘除法运算
1.基于加减法电路和移位寄存器实现
这种方法,运算器中不设乘除法运算电路,只设加减
法电路。需要进行乘除法运算时,主要利用加减法运算指
令和移位指令,按照某种算法通过编程来实现。
2.基于乘除法电路实现
这种方法,运算器中除设置有加减法电路外,还设有
乘除法电路。需要进行乘除法运算时,直接用乘除法指令
编程实现。
韩山师范学院
156
1.3微型计算机基本工作原理
1.3.1计算机工作过程的实质
1.3.2指令与程序的概念
1.3.3指令与程序的执行过程
韩山师范学院
157
1.3.1 计算机工作过程的实质
计算机工作的过程实质上就是以计算机硬
件为基础执行程序的过程。而程序是由若干条
指令组成的,微机逐条执行程序中的每条指
令,即可完成一个程序的执行,从而完成一项
特定的工作。
韩山师范学院
因此了解微机工作原理的关键,就是要了
解指令和指令执行的基本过程。