二进制数算术运算

二进制数算术运算
二进制数算术运算

《数字电路与逻辑设计》

试讲教师:孙发贵

工作单位:北京化工大学北方学院

教学内容与过程

(一)讲解新课

在数字电路中,0和1既可以表示逻辑状态,又可表示数量的大小。当表示数量时,可以进行算术运算。

与十进制数的算术运算相比

1:运算的规则类似;

二进制的运算法则

1.2 微型计算机运算基础 1.2.1 二进制数的运算方法 电子计算机具有强大的运算能力,它可以进行两种运算:算术运算和逻辑运算。1.二进制数的算术运算 二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。(1)二进制数的加法 根据“逢二进一”规则,二进制数加法的法则为: 0+0=0 0+1=1+0=1 1+1=0 (进位为1) 1+1+1=1 (进位为1) 例如:1110和1011相加过程如下: (2)二进制数的减法

根据“借一有二”的规则,二进制数减法的法则为: 0-0=0 1-1=0 1-0=1 0-1=1 (借位为1) 例如:1101减去1011的过程如下: (3)二进制数的乘法 二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为: 0×0=0 0×1=1×0=0 1×1=1 例如:1001和1010相乘的过程如下:

由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。 (4)二进制数的除法 二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。 例如:100110÷110的过程如下:

实验二算术运算实验

实验二算术运算实验 一、实验目的 1、掌握MASM for Windows 环境下的汇编语言编程环境使用; 2、掌握汇编语言程序设计的基本流程及汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 3、掌握汇编语言对多精度十六进制和十进制的编程方法及运算类指令对各状态标志 位的影响及测试方法; 4、掌握无符号数和有符号数运算区别及编程方法; 5、掌握BCD 码调整指令的使用方法 二、软硬件实验环境 1、硬件环境:惠普64 位一体化计算机及局域网; 2、软件环境:windows 8,红蜘蛛管理系统,MASM for Windows。 三、实验基本原理 算术运算实验需要对运行结果进行调试及查看状态字,其相关知识如下。 1) 标志位 在debug调试过程中,标志位用特殊符号表示的,其标志名和状态符号的对照表参照表1所示。 表1标志名和状态符号的对照表参照表 2) 加减法指令 ADD表示加法指令,ADC表示带进位加法指令,SUB表示减法指令,SBB表示带进位减法指令。 3) 乘除法指令 MUL表示无符号数乘法指令,IMUL表示带符号数乘法指令,DIV表示无符号数除法指令,IDIV

表示带符号数除法指令。 4) 符号位扩展指令 CBW表示从字节扩展到字的指令,CWD表示从字扩展到双字的指令。 5) BCD码的调整指令 在进行十进制加减运算时,需要将数据用BCD码表示,还要考虑到是组合BCD码还是非组合BCD码,组合BCD码是用一个字节表示两位十进制数,非组合BCD码是用一个字节表示一位十进制数,对于组合的BCD码加减法运算其结果存放在AL中。 组合的BCD码加法调整指令DAA; 组合的BCD码减法调整指令DAS; 非组合的BCD码加法调整指令AAA; 非组合的BCD码减法调整指令AAS; 乘法的非组合BCD码调整指令AAM; 除法的非组合BCD码调整指令AAD。 8088/8086指令系统提供了实现加、减、乘、除运算指令,可参照表2所示内容。 表2数据类型的数据运算表 四、实验步骤与内容 1) 对于表格中三组无符号数,试编程求这三组数的指定运算结果,并考虑计算结果对标志寄存器中状态标志位的影响: ①实验分析 本实验要求简单,仅对指定三组数进行基本运算。只需使用ADD、SUB、MUL、DIV四个运算命令,并以MOV命令作为数值转移的手段即可。运算结果和状态标志的情况可以通过debug调试中的T命令进行逐步查看。 需要注意的主要有以下几点:

二进制运算法则

二进制运算法则 莱布尼兹也是第一个认识到二进制记数法重要性的人,并系统地提出了二进制数的运算法则。二进制 对200多年后计算机的发展产生了深远的影响。他于1716年发表了《论中国的哲学》一文,专门讨论 八卦与二进制,指出二进制与八卦有共同之处。 目录 德国著名的数学家和哲学家莱布尼兹,对帕斯卡的加法机很感兴趣。于是,莱布 尼兹也开始了对计算机的研究。 编辑本段 研究过程 1672年1月,莱布尼兹搞出了一个木制的机器模型,向英国皇家学会会员们做了 演示。但这个模型只能说明原理,不能正常运行。此后,为了加快研制计算机的进程,莱布尼兹在巴黎定居4年。在巴黎,他与一位著名钟表匠奥利韦合作。他只需对奥利 韦作一些简单的说明,实际的制造工作就全部由这位钟表匠独自去完成。1974年,最 后定型的那台机器,就是由奥利韦一人装配而成的。莱布尼兹的这台乘法机长约1米,宽30厘米,高25厘米。它由不动的计数器和可动的定位机构两部分组成。整个机器 由一套齿轮系统来传动,它的重要部件是阶梯形轴,便于实现简单的乘除运算。 莱布尼兹设计的样机,先后在巴黎,伦敦展出。由于他在计算设备上的出色成就,被选为英国皇家学会会员。1700年,他被选为巴黎科学院院士。 莱布尼兹在法国定居时,同在华的传教士白晋有密切联系。白晋曾为康熙皇帝讲 过数学课,他对中国的易经很感兴趣,曾在1701年寄给莱布尼兹两张易经图,其中一 张就是有名的“伏羲六十四卦方位圆图”。莱布尼兹惊奇地发现,这六十四卦正好与64 个二进制数相对应。莱布尼兹认为中国的八卦是世界上最早的二进制记数法。为此,

莱布尼兹非常向往和崇尚中国的古代文明,他把自己研制的乘法机的复制品赠送给中 国皇帝康熙,以表达他对中国的敬意。 编辑本段 法则 二进制的运算算术运算二进制的加法:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位 进位);即7=111 10=1010 3=11 二进制的减法:0-0=0,0-1=1(向高位借位) 1-0=1,1-1=0 (模二加运算或异或运 算) ; 二进制的乘法:0 * 0 = 00 * 1 = 0,1 * 0 = 0,1 * 1 = 1 二进制的除法:0÷0 = 0,0÷1 = 0,1÷0 = 0 (无意义),1÷1 = 1 ; 逻辑运算二进制的或运算:遇1得1 二进制的与运算:遇0得0 二进制的非运算:各位取反。 编辑本段 二进制与其他进制的转换 首先我们得了解一个概念,叫“权”。“权”就是进制的基底的n次幂。如二进制的 权就是(2)*n了,十进制的权就是(10)*n,看到十进制我们就很自然的想到科学 计算法中的(10)*n,对吧?有了权这个定义之后,我们就可以随便把一个进制的数 转化成另一个进制的数了。日常生活中,由于电脑的字节,汉字西文的字节的原因, 二进制最常见的转换是八进制,十六进制,三十二进制,当然还有十进制。 二进制转换成十进制的原则是:基数乘以权,然后相加,简化运算时可以把数位 数是0的项不写出来,(因为0乘以其他不为0的数都是0)。小数部分也一样,但精确度较少。 二进制与八进制的转换:采用“三位一并法”(是以小数点为中心向左右两边以每 三位分组,不足的补上0)这样就可以轻松的进行转换。 二进制与十六进制的转换:采用的是“四位一并法”,就如二进制与八进制的转换 一样。

实验二 算术运算类操作实验 (基础与设计)

实验二算术运算类操作实验 (基础与设计) 一、实验要求和目的 1、了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 2、掌握各类运算类指令对各状态标志位的影响及测试方法; 3、熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4、熟悉无符号数和有符号数乘法和除法指令的使用; 5、掌握符号位扩展指令的使用。 6、掌握BCD 码调整指令的使用方法 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 本实验主要进行算术运算程序设计和调试,涉及到的知识点包括: 1.加减法处理指令 主要有加法指令ADD,带进位加法ADC,减法指令SUB,带进位减法指令SBB。 2.乘除法指令和符号位扩展指令 主要有无符号数乘法指令MUL,带符号数乘法指令IMUL,无符号数除法指令DIV,带符号数除法指令IDIV,以及符号位从字节扩展到字的指令CBW 和从字扩展到双字的指令CWD。3.BCD 码的调整指令 主要有非压缩的BCD 码加法调整指令DAA,压缩的BCD 码减法调整指令DAS,非压缩的BCD 码加法调整指令AAA,非压缩的BCD 码减法调整指令AAS,乘法的非压缩BCD码调整指令AAM,除法的非压缩BCD 码调整指令AAD。 8088/8086 指令系统提供了实现加、减、乘、除运算的上述基本指令,可对下表所示的数据类型进行数据运算。 四、实验内容与步骤 1、对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响。 设计流程:

计算机组成原理运算器实验—算术逻辑运算实验

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 1、了解运算器的组成原理。 2、掌握运算器的工作原理。 3、掌握简单运算器的数据传送通路。 4、验证运算功能发生器( 74LS181)的组合功能 三、实验设备 TDN-CM++ 计算机组成原理教学实验系统一套,导线若干四、实验原理 实验中所用的运算器数据通路如图1-1 所示。其中两片74LSl81以串行方式构成8 位字长的ALU,ALU 的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-R 控制,控制运算器运算的结果能否送往总线,低电平有效。为实现双操作数的运算,ALU 的两个数据输入端分别由二个锁存器DR1、DR2 (由74LS273实现)锁存数据。要将数据总线上的数据锁存到DRl、DR2 中,锁存器的控制端LDDR1 和DDR2必须为高电平,同时由T4 脉冲到来。 数据开关“( INPUT DEVICE")用来给出参与运算的数据,经过三态 (74LS245) 后送入数据总线,三态门由SW—B控制,低电平有效。数据显示灯“( BUS UNIT") 已和数据总线相连,用来显示数据总线上的内容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4 为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT ”的相应时序信号引出端,因此,在进行实验时,只需将“W /R UNIT"的T4接至“ STATE UNIT ”的微动开关KK2 的输入端,按动微动开关,即可获得实验所需的单脉冲。 ALU 运算所需的电平控制信号S3、S2、S1、S0 、Cn、M、LDDRl、 LDDR2 、ALU-B 、SW-B均由“ SWITCH UNIT ”中的二进制数据开关来模拟,其中Cn、ALU —B、SW 一 B 为低电平有效LDDR1 、LDDR2 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

二进制数的算术运算

《数字电路与逻辑设计》 教 案 试讲教师:孙发贵 工作单位:北京化工大学北方学院

教学内容与过程 (一)讲解新课 在数字电路中,0和1既可以表示逻辑状态,又可表示数量的大小。当表示数量时,可以进行算术运算。 与十进制数的算术运算相比 1:运算的规则类似; 2:进位和借位规则不同(逢二进一,借一当二) 特点:加、减、乘、除全部可以用相加和移位这两种操作实现。——简化了电路结构所以数字电路中普遍采用二进制算数运算。 一、无符号二进制数的算术运算: 1、二进制数加法: 运算规则:0+0=0,0+1=1,1+1=10(向高位进一)—逢二进一 例:计算二进制数1010和0101的和。 2、二进制数减法: 运算规则:0-0=0,1-1=0,1-0=1, 0-1=11(向高位借一)—借一当二 例:计算二进制数1010和0101的差。 注意:在无符号减法运算中无法表示负数,所以,被减数必须大于减数。 3、二进制数乘法: 由左移被乘数与加法运算构成。 例:计算二进制数1010和0101的积。

4、二进制数除法: 由右移被除数与减法运算构成。 例:计算二进制数1010和111之商。 二、带符号二进制数的减法运算: 二进制数的正、负号也是用0/1表示的。 最高位为符号位(0为正,1为负) 例如: +89 = (0 1011001) -89 = (1 1011001) 在数字电路中,为简化电路常将减法运算变为加法运算。故引入原码、反码、补码的概念。 1、原码、反码、补码: 1) 原码:自然二进制码01101=(13)D 2) 反码:原码取反10010=(18)D N反=(2n–1)–N原,其中n为二进制数的位数 3) 补码:N补=2n-N原=N反+1 01101=(13)D 10010=(13)反 (13)补:(25-13) D=(19)D=10010+1=10011=(19)D 2、二进制数的补码表示: 补码或反码的最高位为符号位,正数为0,负数为1。 当二进制数为正数时,其补码、反码与原码相同。 当二进制数为负数时,将原码的数值位逐位求反,然后在最低位加1得到补码。 X1 = 85 = +1010101 [X1]原= [X1]反=[X1]补=01010101 X2 = -85 = -1010101 [X2]原= 11010101

实验二算术逻辑运算及移位操作

实验二算术逻辑运算及移位操作 一、实验目的 1.熟悉算术逻辑运算指令和移位指令的功能。 2.了解标志寄存器各标志位的意义和指令执行对它的影响。 二、实验预习要求 1.复习8086指令系统中的算术逻辑类指令和移位指令。2.按照题目要求在实验前编写好实验中的程序段。 三、实验任务 1.实验程序段及结果表格如表: 表

2.用BX 寄存器作为地址指针,从BX 所指的内存单元(0010H)开始连续存入(10H 、04H 、30H),接着计算内存单元中的这三个数之和,和放在 单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程

3 后结果(AX)= (1) 传送15H 到AL 寄存器; (2) 再将AL 的内容乘以2 ; (3) 接着传送15H 到BL 寄存器; (4) 最后把AL 的内容乘以BL 的内容。 4商= (1) 传送数据2058H 到DS:1000H 单元中,数据12H 到DS:1002H 单元中; (2) 把 DS:1000H 单元中的数据传送到AX 寄存器; (3) 把AX 寄存器的内容算术右移二位; (4) 再把AX 寄存器的内容除以DS:1002H 字节单元中的数; (5) 最后把商存入字节单元DS:1003H 中。 5.下面的程序段用来清除数据段中从偏移地址0010H 开始的12元的内容(即将零送到这些存储单元中去)。 (1) 将第4条比较指令语句填写完整(划线处)。 MOV SI ,0010H NEXT: MOV WORD PTR[SI],0 ADD SI ,2 CMP SI ,答案 22H (或者20H ) JNE NEXT HLT (2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H 开始),则上述程序段应如何修改 上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。 6. 输入并运行表中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。

《计算机组成原理》实验报告---8位算术逻辑运算实验

. '. 计算机专业类课程 实验报告 课程名称:计算机组成原理 学 院:信息与软件工程学院 专 业:软件工程 学生姓名: 学 号: 指导教师: 日 期: 2012 年 12 月 15 日

电子科技大学 实验报告 一、实验名称:8位算术逻辑运算实验 二、实验学时:2 三、实验内容、目的和实验原理: 实验目的: 1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2.掌握模型机运算器的数据传送通路组成原理。 3.验证74LS181的组合功能。 4.按给定数据,完成实验指导书中的算术/逻辑运算。 实验内容: 使用模型机运算器,置入两个数据DR1=35,DR2=48,改变运算器的功能设定,观察运算器的输出,记录到实验表格中,将实验结果对比分析,得出结论。 实验原理: 1.运算器由两片74LS181以并/串形式构成8位字长的ALU。

. '. 2.运算器的输出经过一个三态门(74LS245)和数据总线相连。 3.运算器的两个数据输入端分别由两个锁存器(74LS273)锁存。 4.锁存器的输入连至数据总线,数据开关(INPUT DEVICE)用来给 出参与运算的数据,并经过一三态门(74LS245)和数据总线相连。 5.数据显示灯(BUS UNIT)已和数据总线相连,用来显示数据总线内 容。 实验器材(设备、元器件):模型机运算器 四、实验步骤: 1. 仔细查看试验箱,按以下步骤连线 1)ALUBUS连EXJ3 2) ALU01连BUS1 3) SJ2连UJ2 4) 跳线器J23上T4连SD 5) LDDR1,LDDR2,ALUB,SWB四个跳线器拨在左边 6) AR跳线器拨在左边,同时开关AR拨在“1”电平 2. 核对线路,核对正确后接通电源 3. 用二进制数据开关KD0-KD7向DR1和DR2寄存器置入8位运算数据。

计算机组成原理--实验二算术逻辑运算实验

实验二算术逻辑运算实验 一、实验目的 (1)了解运算器芯片(74LS181)的逻辑功能。 (2)掌握运算器数据的载入、读取方法,掌握运算器工作模式的设置。 (3)观察在不同工作模式下数据运算的规则。 二、实验原理 1.运算器芯片(74LS181)的逻辑功能 74LS181是一种数据宽度为4个二进制位的多功能运算器芯片,封装在壳中,封装形式如图2-3所示。 5V A1 B1 A2 B2 A3 B3 Cn4 F3 BO A0 S3 S2 S1 S0 Cn M F0 F1 F2 GND 图 2-3 74LS181封装图 主要引脚有: (1)A0—A3:第一组操作数据输入端。 (2)B0—B3:第二组操作数据输入端。 (3)F0—F3:操作结果数据输入端。 (4)F0—F3:操作功能控制端。 (5):低端进位接收端。

(6):高端进位输出端。 (7)M:算数/逻辑功能控制端。 芯片的逻辑功能见表2-1.从表中可以看到当控制端S0—S3为1001、M为0、 为1时,操作结果数据输出端F0—F3上的数据等于第一组操作数据输入端A0—A3上的数据加第二组操作数据输入端B0—B3上的数据。当S0—S3、M、 上控制信号电平不同时,74LS181芯片完成不同功能的逻辑运算操作或算数运算操作。在加法运算操作时,、进位信号低电平有效;减法运算操作时,、 借位信号高电平有效;而逻辑运算操作时,、进位信号无意义。 2.运算器实验逻辑电路 试验台运算器实验逻辑电路中,两片74LS181芯片构成一个长度为8位的运算器,两片74LS181分别作为第一操作数据寄存器和第二操作数据寄存器,一片74LS254作为操作结果数据输出缓冲器,逻辑结构如图2-4所示。途中算术运算操作时的进位Cy判别进位指示电路;判零Zi和零标志电路指示电路,将在实验三中使用。 第一操作数据由B-DA1(BUS TO DATA1)负脉冲控制信号送入名为DA1的第一操作数据寄存器,第二操作数据由B-DA2(BUS TO DATA2)负脉冲控制信号送入名为DA2的第二操作数据寄存器。74LS181的运算结果数据由(ALU TO BUS)低电平控制信号送总线。S0—S3、M芯片模式控制信号同时与两片74LS181的S0—S3、M端相连,保证二者以同一工作模式工作。实验电路的低端进位接收端Ci与低4位74LS181的相连,用于接收外部进位信号。低4为74LS181的与高4位74LS181的上相连,实现高、低4位之间进位信号的传递。高4位之间进位信号的传递。高4位74LS181的送进位Cy判别和进位指示电路。 表2-1 74LS181 芯片逻辑功能表

算术逻辑运算实验

实验报告 实验项目:算术逻辑运算实验(试验一) 课程名称:计算机组成原理 姓名:学号同组姓名:学号:实验位置(机号): 实验日期 实验1.掌握简单运算器的数据传送通路 目的2.验证运算器功能发生器(74LS181)的组合功能 3.验证带进为控制的算术运算器功能发生器(74LS181)的功能 4.按指定的数据完成几种制定的算术运算 5.验证移位控制的组合功能 实验YY-Z02计算机组成原理教学实验系统一台,排线若干。设备 实验 内容1.实验原理 (算 运算器实验原理图 法、 程 T4______ ALU-B 序、

_____ _____ 进位CyCn 步骤 299-B 判零_____ M 74LS2 电路CyNCn 和方 S0 99 ALU S1 法) (74LS181) S2 S3 _____I/O-RINPUT Ai =“0”B-DA1DA1 (74LS273)DA2

(74LS273)B-DA2 实验中所用的运算器数据通路图如图1-1所示,算术逻辑实验接线图如图1-2所示。图中所示的是由两片段74LS181芯片以并/串形式构成的8位字长的运算器。右方为低压4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端C(n+4)与高芯片的进位输入端CN相连,高位芯片的进位输出引至外部。两个芯片的控制端S0~S3和M各自相连。 2.实验步骤 1)算数逻辑运算 i.输入单元置数一 ii.设置I/O-R# = 0 iii.ALU-B# =1 iv.B-DA1 _| ̄|_将输入单元的输入数据存入DA1中 v.输入单元置数据二 vi.B-DA2 _| ̄|_将数据存入DA2中 vii.设置S 3 -------S 0、M、Cn根据要求按照定义操作设置完成运算viii. ix. x.I/O-R# = 1 ALU-B = 0运算结果送总线 IO-W ̄|_| ̄总线数据送显示单元显示 数据1.算数逻辑运算

二进制数的四则运算专题训练培训讲学

二进制数的四则运算专题训练 知识梳理: 二进制数的四则运算法则: 加法法则:0+0=0;0+1=1;1+0=1;1+1=10; 减法法则:0×0=0;0×1=0;1×0=0;1×1=1; 例题精讲: 1、加法运算: 1+1=10,本位记0,向高位进1. 2、减法运算: 被减数不够减,向高位借1。1当2,2-1=1。 3、乘法运算: 4、除法运算:

计算后要养成验算的习惯,二进制数四则运算的验算方法与十进制数相同: 加法验算时,用和减去其中的一个加数,它们的差应该等于另一个加数。 减法验算时,用差与减数相加,它们的和应该等于被减数。 乘法验算时,用积除以其中的一个因数,它们的商应该等于另一个因数。 除法验算时,用商乘以除数,乘积应该等于被除数;也可以用被除数除以商,看这时的商是否等于除数。 专题特训: 1、计算下面二进制数的加减法。 ①110+101②11010+10111 ③1001001+101110④10011-1111 ⑤11000-10001⑥1001001-10110 2、计算下面二进制数的乘除法。 ①110×101②1111×111 ③1110×1011④101101÷1001 ⑤100000÷100⑥1000110÷1010 3、计算下面二进制数的四则混合运算。 ①(11011)2+(10110)2×(110)2÷(1011)2 ②(10111)2×(1110)2+(110110)2÷(1001)2 4、计算下面二进制加法,你能发现什么? (11)2+(11)2= (101)2+(101)2= (1110)2+(1110)2= (1111)2+(1111)2= 5、计算下列二进制乘法,你发现了什么? (10)2×(101)2= (101)2×(1001)2= (1101)2×(10001)2= (11010)2×(100001)2=

二进制与十进制数间的转换二进制数的四则运算

一、二进制数与十进制数间的转换方法 1、正整数的十进制转换二进制: 要点:除二取余,倒序排列 解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒 取将除得的余数,即换算为二进制数的结果 例如把52换算成二进制数,计算结果如图: 52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是 110100。 由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位, 或者32位....。 于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。本文 都以8位为例。那么: (52)10=(00110100)2 2、负整数转换为二进制 要点:取反加一 解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,再对取补后的结果加1 即可

例如要把-52换算成二进制: 1.先取得52的二进制:00110100 2.对所得到的二进制数取反:11001011 3.将取反后的数值加一即可:11001100 即:(-52)10=(11001100)2 3、小数转换为二进制 要点:乘二取整,正序排列 解释:对被转换的小数乘以2,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0或者已经去到了足够位数。每次取的整数部分,按先后次序排列,就构成了二进制小 数的序列 例如把0.2转换为二进制,转换过程如图: 0.2乘以2,取整后小数部分再乘以2,运算4次后得到的整数部分依次为0、0、1、1,结 果又变成了0.2, 若果0.2再乘以2后会循环刚开始的4次运算,所以0.2转换二进制后将是0011的循环,即: (0.2)10=(0.0011 0011 0011 .....)2 循环的书写方法为在循环序列的第一位和最后一位分别加一个点标注

北理工-汇编-实验二-算术运算类操作实验

………………………………………………最新资料推荐……………………………………… 本科实验报告 实验名称:实验二算术运算类操作实验(基础与设计)课程名称:CPU与汇编实验实验时间: 任课教师:实验地点: 实验教师: 实验类型:□原理验证■综合设计□自主创新 学生姓名: 学号/班级:组号:无学院:信息与电子同组搭档:无专业:信息工程成绩:

一、实验要求和目的 1.了解汇编语言中的二进制、十六进制、十进制、BCD 码的表示形式; 2.掌握各类运算类指令对各状态标志位的影响及测试方法; 3.熟悉汇编语言二进制多字节加减法基本指令的使用方法; 4.熟悉无符号数和有符号数乘法和除法指令的使用; 5.掌握符号位扩展指令的使用; 6.掌握BCD 码调整指令的使用方法。 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 1.加减法处理指令 2.乘除法指令和符号位扩展指令 3.BCD 码的调整指令 四、实验内容 (一)对于两组无符号数,087H 和034H,0C2H 和5FH,试编程求这两组数的和差积商,并考虑计算结果对标志寄存器中状态标志位的影响:

1.流程图 2.程序代码: DA TAS SEGMENT DA TAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START : MOV AX,DATAS MOV DS,AX MOV AX,0C2H MOV BX,5FH ADD AX,BX ;add MOV AX,0C2H MOV BX,5FH SUB AX,BX ;sub MOV AX,0C2H MOV BX,5FH MUL BX ;mul MOV AX,0C2H MOV BX,5FH DIV BX ;div MOV AH,4CH INT 21H CODES ENDS ENDSTART (将数据改变得到另一组输出结果) 3.实验结果 以第一组数的加法为例 (已将截图以上输入-t 进行debug 的步骤省略) 此时右下角信息(NV UP ……)代表标志寄存器的值。 4.结果分析: 由资料可得: 开始 结束 将两组数据分别存入AX ,BX 中,将二者中的数据相加,存入AX 中 将两组数据分别存入AX ,BX 中,用AX 中数据减去BX 中数据,存入AX 中 将两组数据分别存入AX ,BX 中,将二者中的数据相乘,存入AX 中 将两组数据分别存入AX , BX 中,用AX 中数据除以 BX 中数据,存入AX 中

二进制算术运算和逻辑运算

1、二进制的算术运算 二进制数的算术运算非常简单,它的基本运算是加法。在计算机中,引入补码表示后,加上一些控制逻辑,利用加法就可以实现二进制的减法、乘法和除法运算。 (1)二进制的加法运算 二进制数的加法运算法则只有四条:0+0=0 0+1=1 1+0=1 1+1=10(向高位进位) 例:计算1101+1011的和 由算式可知,两个二进制数相加时,每一位最多有三个数:本位被加数、加数和来自低位的进位数。按照加法运算法则可得到本位加法的和及向高位的进位。 (2)二进制数的减法运算 二进制数的减法运算法则也只有四条: 0-0=0 0-1=1(向高位借位) 1-0=1 1-1=0 例:计算11000011 00101101的差 由算式知,两个二进制数相减时,每一位最多有三个数:本位被减数、减数和向高位的借位数。按照减法运算法则可得到本位相减的差数和向高位的借位。 (3)二进制数的乘法运算 二进制数的乘法运算法则也只有四条: 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1 例:计算1110×1101的积 由算式可知,两个二进制数相乘,若相应位乘数为1,则部份积就是被乘数;若相应位乘数为0,则部份积就是全0。部份积的个数等于乘数的位数。以上这种用位移累加的方法计算两个二进制数的乘积,看起来比传统乘法繁琐,但它却为计算机所接受。累加器的功能是执行加法运算并保存其结果,它是运算器的重要组成部分。 (4)二进制数的除法运算 二进制数的除法运算法则也只有四条:0÷0 = 00÷1 = 01÷0 = 0 (无意义) 1÷1 = 1 例:计算100110÷110的商和余数。 由算式可知,(100110)2÷(110)2得商(110)2,余数(10)2。但在计算机中实现上述除法过程,无法依靠观察判断每一步是否“够减”,需进行修改,通常采用的有“恢复余数法”和“不恢复余数法”,这里就不作介绍了。 2、二进制数的逻辑运算 计算机所以具有很强的数据处理能力,是由于在计算机里装满了处理数据所用的电路。这些电路都是以各种各样的逻辑为基础而构成的简单电路经过巧妙组合而成的。 逻辑变量之间的运算称为逻辑运算,它是逻辑代数的研究内容。在逻辑代数里,表示"真"与"假"、"是"与"否"、"有"与"无"这种具有逻辑属性的变量称为逻辑变量,像普通代数一样,逻辑变量可以用A,B,C,……或X,Y,Z……来表示。对二进制数的1和0赋以逻辑含义,例如用1表示真,用0表示假,这样将二进制数与逻辑取值对应起来。由此可见,逻辑运算是以二进制数为基

实验二带进位控制8位算术逻辑运算实验

实验二带进位控制8位算术逻辑运算实验 一、实验目的 1、验证带进位控制的算术逻辑运算发生器的功能。 2、按指定数据完成几种指定的算术运算。 二、实验内容 1、实验原理 带进位控制运算器的实验原理如图所示,在实验(1)的基础上增加进位控制部分,其中高位74LS181(U31)的进位CN4通过门UN4E、UN2C、UN3B 进入UN5B的输入端D,其写入脉冲由T4和AR信号控制,T4是脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。AR是电平控制信号(低电平有效),可用于实现带进位控制实验。从图中可以看出,AR必须为“0’’电平,D型触发器74LS74(UN5B)的时钟端CLK才有脉冲信号输入。才可以将本次运算的进位结果CY锁存到进位锁存器74LS74(UN5B)中。 2、实验接线 实验连线(1)~(5)同实验~,洋细如下: (1)ALUBUS~连ExJ3; (2)ALUO1连BUSl; (3)SJ2连UJ2; (4)跳线器J23上T4连SD; (5)LDDRl、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式);(6)AR、299B跳线器拨在左边,同时开关AR拨在“0’’电平,开关299B拨在“1”电平; (7)J25跳线器拨在右边。 3、实验步骤 (1)仔细查线无误后,接通电源。 (2)用二进制数码开关KDO~KD7向DRl和DR2 寄存器置数,方法:关闭ALU输出三态门ALUB=1,开启输入三态门SWB=0,输入脉冲T4按手动脉冲

发生按钮产生。如果选择参与操作的两个数据分别为55H 、AAH ,将这两个数存入DR1和DR2的具体操作步骤如下: (3)开关ALUB=0,开启输出三态门,开关SWB=1,关闭输入三态门,同时让 LDDR1=0,LDDR2=0。 (4)如果原来有进位,CY=1,进位灯亮,但需要清零进位标志时,具体操作方 法如下: ◆ S3、S2、S1、S0、M 的状态置为0 0 0 0 0,AR 信号置为“0”电平 (清零操作时DRl 寄存器中的数应不等于FF )。 ◆ 按动手动脉冲发生开关,CY=0,即清进位标志。 注:进位标志指示灯CY 亮时表示进位标志为“1”,有进位;进位标志指示灯CY 灭时,表示进位位为“0”,无进位。 (5)验证带进位运算及进位锁存功能 这里有两种情况: ● 进位标志已清零,即CY=0,进位灯灭。 ? 使开关CN=0,再来进行带进位算术运算。例如步骤(2)参与运算的两 个数为55H 和AAH ,当S3、S2、S1、S0状态为10010,此时输出数据总线显示灯上显示的数据为DRl 加DR2再加初始进位位“1” (因CN=0),相加的结果应为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。 ? 使开关CN=1,当S3、S2、S1、S0状态为10010,则相加的结累ALU=FF , 并且不产生进位。

二进制数的四则运算专题训练讲课稿

二进制数的四则运算 专题训练

二进制数的四则运算专题训练 知识梳理: 二进制数的四则运算法则: 加法法则: 0+0=0;0+1=1;1+0=1;1+1=10; 减法法则: 0×0=0; 0×1=0; 1×0=0; 1×1=1; 例题精讲: 1、加法运算: 1+1=10,本位记0,向高位进1. 2、减法运算: 被减数不够减,向高位借1。1当2,2-1=1。 3、乘法运算: 4、除法运算:

计算后要养成验算的习惯,二进制数四则运算的验算方法与十进制数相同: 加法验算时,用和减去其中的一个加数,它们的差应该等于另一个加数。 减法验算时,用差与减数相加,它们的和应该等于被减数。 乘法验算时,用积除以其中的一个因数,它们的商应该等于另一个因数。 除法验算时,用商乘以除数,乘积应该等于被除数;也可以用被除数除以商,看这时的商是否等于除数。 专题特训: 1、计算下面二进制数的加减法。 ①110+101②11010+10111 ③1001001+101110④10011-1111 ⑤11000-10001⑥1001001-10110 2、计算下面二进制数的乘除法。 ①110×101②1111×111 ③1110×1011④101101÷1001 ⑤100000÷100⑥1000110÷1010 3、计算下面二进制数的四则混合运算。 ①(11011)2+(10110)2×(110)2÷(1011)2 ②(10111)2×(1110)2+(110110)2÷(1001)2 4、计算下面二进制加法,你能发现什么? (11)2+(11)2= (101)2+(101)2= (1110)2+(1110)2= (1111)2+(1111)2= 5、计算下列二进制乘法,你发现了什么? (10)2×(101)2= (101)2×(1001)2= (1101)2×(10001)2= (11010)2×(100001)2=

二进制与十进制的计算公式

10进制数转换为2进制数 给你一个十进制,比如:6,如果将它转换成二进制数呢? 10进制数转换成二进制数,这是一个连续除2的过程: 把要转换的数,除以2,得到商和余数, 将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。 听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。 “把要转换的数,除以2,得到商和余数”。 那么: 要转换的数是6, 6 ÷ 2,得到商是3,余数是0。(不要告诉我你不会计算6÷3!) “将商继续除以2,直到商为0……” 现在商是3,还不是0,所以继续除以2。 那就: 3 ÷ 2, 得到商是1,余数是1。 “将商继续除以2,直到商为0……” 现在商是1,还不是0,所以继续除以2。 那就: 1 ÷ 2, 得到商是0,余数是1(拿笔纸算一下,1÷2是不是商0余1!) “将商继续除以2,直到商为0……最后将所有余数倒序排列” 好极!现在商已经是0。 我们三次计算依次得到余数分别是:0、1、1,将所有余数倒序排列,那就是:110了!6转换成二进制,结果是110。 把上面的一段改成用表格来表示,则为: 被除数计算过程商余数 66/230 33/211 11/201

(在计算机中,÷用 / 来表示) 如果是在考试时,我们要画这样表还是有点费时间,所更常见的换算过程是使用下图的连除: (图:1) 请大家对照图,表,及文字说明,并且自已拿笔计算一遍如何将6转换为二进制数。 说了半天,我们的转换结果对吗?二进制数110是6吗?你已经学会如何将二进制数转换成10进制数了,所以请算一下110换成10进制是否就是6。 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 所以,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成十进制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0

二进制数的逻辑运算(绝密)

二进制数的逻辑运算 在计算机中,除了能表示正负、大小的“数量数”以及相应的加、减、乘、除等基本算术运算外,还能表示事物逻辑判断,即“真”、“假”、“是”、“非”等“逻辑数”的运算。能表示这种数的变量称为逻辑变量。在逻辑运算中,都是用“1”或“0”来表示“真”或“假”,由此可见,逻辑运算是以二进制数为基础的。 计算机的逻辑运算区别于算术运算的主要特点是:逻辑运算是按位进行的,位与位之间不像加减运算那么有进位或借位的关系。 逻辑运算主要包括的运算有:逻辑加法(又称“或”运算)、逻辑乘法(又称“与”运算)和逻辑“非”运算。此外,还有“异或”运算。 (1)逻辑与运算(乘法运算) 逻辑与运算常用符号“×”、“∧”或“&”来表示。如果A、B、C为逻辑变量,则A和B的逻辑与可表示成A×B=C、A∧B=C或A&B=C,读作“A与B等于C”。一位二进制数的逻辑与运算规则如表1-2所示。 表1-2 与运算规则 [table=548][tr][td=1,1,187]A [/td][td=1,1,177]B [/td][td=1,1,184]A∧B(C) [/td][/tr][tr][td=1,1,187]0 [/td][td=1,1,177]0 [/td][td=1,1,184]0 [/td][/tr][tr][td=1,1,187]0 [/td][td=1,1,177]1 [/td][td=1,1,184]0 [/td][/tr][tr][td=1,1,187]1 [/td][td=1,1,177]0 [/td][td=1,1,184]0 [/td][/tr][tr][td=1,1,187]1 [/td][td=1,1,177]1 [/td][td=1,1,184]1 [/td][/tr][/table] 由表1-2可知,逻辑与运算表示只有当参与运算的逻辑变量都取值为1时,其逻辑乘积才等于1,即一假必假,两真才真。 这种逻辑与运算在实际生活中有许多应用,例如,计算机的电源要想接通,必须把实验室的电源总闸、USP 电源开关以及计算机机箱的电源开关都接通才行。这些开关是串在一起的,它们按照“与”逻辑接通。为了书写方便,逻辑与运算的符号可以略去不写(在不致混淆的情况下),即A×B=A∧B=AB。 例:设A=1110011,B=1010101,求A∧B。 解: 1 1 1 0 0 1 1 ∧ 1 0 1 0 1 0 1 1 0 1 0 0 0 1 结果为:A∧B=1010001。 (2)逻辑或运算(加法运算) 逻辑或运算通常用符号“+”或“ ”来表示。如果A、B、C为逻辑变量,则A和B的逻辑或可表示成A+B=C 或A B=C,读作“A或B等于C”。其运算规则如表1-3 所示。

二进制逻辑运算详解

逻辑变量之间的运算称为逻辑运算。二进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“无”。这种具有逻辑属性的变量就称为逻辑变量。 计算机的逻辑运算的算术运算的主要区别是:逻辑运算是按位进行的,位与位之间不像加减运算那样有进位或借位的联系。 逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)、逻辑乘法(又称“与”运算)和逻辑否定(又称“非”运算)。此外,“异或”运算也很有用。 1、逻辑加法(“或”运算) 逻辑加法通常用符号“+”或“∨”来表示。逻辑加法运算规则如下: 0+0=0,0∨0=0 0+1=1,0∨1=1 1+0=1,1∨0=1 1+1=1,1∨1=1 从上式可见,逻辑加法有“或”的意义。也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1。 2、逻辑乘法(“与”运算) 逻辑乘法通常用符号“×”或“∧”或“·”来表示。逻辑乘法运算规则如下: 0×0=0,0∧0=0,0·0=0 0×1=0,0∧1=0,0·1=0 1×0=0,1∧0=0,1·0=0 1×1=1,1∧1=1,1·1=1 不难看出,逻辑乘法有“与”的意义。它表示只当参与运算的逻辑变量都同时取值为1时,其逻辑乘积才等于1。 3、逻辑否定(非运算) 逻辑非运算又称逻辑否运算。其运算规则为: 0=1 非0等于1 1=0 非1等于0 4、异或逻辑运算(半加运算) 异或运算通常用符号"⊕"表示,其运算规则为: 0⊕0=0 0同0异或,结果为0 0⊕1=1 0同1异或,结果为1 1⊕0=1 1同0异或,结果为1 1⊕1=0 1同1异或,结果为0 即两个逻辑变量相异,输出才为1

相关文档
最新文档