精华内容
下载资源
问答
  • 二进制加法计数器原理实验内容 测试方法
  • 2. QuartusII的使用 在本次实验中,学会QuartusII软件的使用,然后利用此系统完成: 〈1〉 一位全加器设计 〈2〉 并行八位寄存器设计 组成原理实验八位二进制加法
  • 用T'触发器构成的异步二进制加法计数器实验电路multisim源文件,multisim10及以上版本可以正常打开仿真,是教材上的电路,可以直接仿真,方便大家学习。
  • 实验一 多位十六进制加法运算实验 张云帆 17308226 电子专业 一. 实验要求 利用Proteus平台,建立8086的多位十六...由于本实验是三个十六位二进制数相加运算,N4为存放结果,其中N1为1111H,N2为2222H,N3为33...

    一. 实验要求

    利用Proteus平台,建立8086的多位十六进制加法运算的例子。

    二. 实验目的

    1. 熟悉实验系统的编程和使用。
    2. 掌握使用加法类运算指令编程及调试方法。
    3. 掌握加法类指令对状态标志位的影响。

    三. 实验说明

    由于本实验是三个十六位二进制数相加运算,N4为存放结果,其中N1为1111H,N2为2222H,N3为3333H,所以结果应该为6666H。

    四. 实验程序流程图

    Created with Raphaël 2.2.0初始化段寄存器将1111H移入AX调用两次ADD,实现1111H+2222H=3333H,3333H+3333H=6666H将AX内的结果移入内存空白处

    五. 实验步骤

    a.仿真代码

    ;N4=N1+N2+N3 =1111H+2222H+3333H=6666H 
    CODE SEGMENT;表示代码段开始
    ASSUME CS:CODE,DS:DATA;CODE对应代码段寄存器,DATA对应数据段寄存器
    BEG: 	;必要的,作为程序入口
    	MOV AX,DATA;
        MOV DS,AX;借助AX间接将DATA段地址赋值给DS,因为段寄存器只接受通用寄存器数据作为源操作数
        MOV SI,OFFSET NUM1;将NUM1的偏移地址赋值给SI,以便之后间接寻址
        MOV AX,0;将AX清零用来存储加法结果
        ADD AX,[SI+0];将1111H移入AX
        ADD AX,[SI+2];1111H+2222H=3333H
        ADD AX,[SI+4];3333H+3333H=6666H
        MOV [SI+6],AX;将结果存到空余位置
    	JMP $;暂停程序
    CODE ENDS;表示代码段结束
    DATA SEGMENT;数据段,存储各数据
        NUM1 DW 1111H ;N1
        NUM2 DW 2222H ;N2
        NUM3 DW 3333H ;N3
        NUM4 DW 0000H ;N4
    DATA ENDS
    END BEG
    

    b.调试、验证

    在刚运行程序时的内存可以分辨出前面是代码段,隔着四个字的空白内存后是数据段。数据段中可以直接看到1111H、2222H、3333H这三个数据。注意到数据段地址由0020H开始
    在这里插入图片描述

    然后把数据段地址赋给了DS。可以看到DS的值为0002H.乘以十即为真实的段地址。这是因为
    =10 物理地址=段地址*10
    在这里插入图片描述
    将1111H移入AX寄存器
    在这里插入图片描述
    对AX加上2222H

    [外链图片转存失败(img-fYkoS88O-1569058850936)(1-04.PNG)]

    对AX加上3333H,计算环节结束。

    在这里插入图片描述

    六. 实验结果和体会

    实验结果展示:最后在内存中便存储了计算结果,为6666H。

    [外链图片转存失败(img-F7zFOd4Y-1569058850936)(1-06.PNG)]

    从这个流程中可以意识到一些汇编编程的思想。待数据往往事先存入数据段中,需要计算时才使用MOV语句移入通用寄存器,结果再写入内存。由于通用寄存器数量有限(4个),且部分寄存器在某些语句上有专门用途(如MUL语句必须用AX)。不可一次将太多数据存入寄存器,因此往往需要进行内存的读取与写入。该点是与使用高级语言进行编程时,对编程者来说不一样的地方。

    此外数据段与代码段在代码中的先后顺序无关紧要。且在内存中,数据段和代码段之间还有4个字的空白空间。

    七. 扩展题目程序和实验结果

    ;N4=N1+N2+N3 =11H+22H+33H=66H 
    CODE SEGMENT;代码段
    ASSUME CS:CODE,DS:DATA;CODE对应代码段寄存器,DATA对应数据段寄存器
    BEG: 	MOV AX,DATA
    	MOV DS,AX;借助AX间接将DATA段地址赋值给DS,因为段寄存器只接受通用寄存器数据作为源操作数
    	MOV SI,OFFSET NUM1;将NUM1的偏移地址移入SI以便访问
            MOV AL,0;初始化AL,该句及下一句可化简成MOV AL,[SI+0]
            ADD AL,[SI+0];加上第一个数
            ADD AL,[SI+1];加上第二个数
            ADD AL,[SI+2];加上第三个数   
            MOV [SI+3],AL;将AL中的结果存入内存
    	JMP $;程序暂停
    CODE ENDS
    DATA SEGMENT
    NUM1 DB 11H ;N1。由于是8位数据,使用字节保存
    NUM2 DB 22H ;N2
    NUM3 DB 33H ;N3
    NUM4 DB 00H ;N4
    DATA ENDS
    	END BEG
    

    结果图片展示:

    可以看到AX及内存中存储了计算结果66H

    [外链图片转存失败(img-jCX00gHK-1569058850938)(1-11.PNG)]

    [外链图片转存失败(img-HjXvlRlj-1569058850938)(1-10.PNG)]

    展开全文
  • 八位二进制加法

    千次阅读 2019-06-12 18:00:00
    二进制加法规则很简单,0+0=1,1+0=1,0+1=1,1+1=0,进一位,考虑一位二进制数加法的话,就会有两个输入,两个输出,则真值表如下: 之所以称之为半加器,是因为只做一位二进制加法,不考虑进位,它的设计很简单,...

    本文使用Logisim软件来进行仿真实验,该软件完全免费

    半加器

    二进制加法规则很简单,0+0=1,1+0=1,0+1=1,1+1=0,进一位,考虑一位二进制数加法的话,就会有两个输入,两个输出,则真值表如下:

    1711201-20190612175757497-1216949512.png

    之所以称之为半加器,是因为只做一位二进制加法,不考虑进位,它的设计很简单,只需要一个异或门和一个与门就够了。

    1711201-20190612175730955-303114758.png

    全加器

    设计出半加器之后,可以利用半加器设计出全加器,全加器自然而然的就是要考虑到进位,那么先来看真值表:

    1711201-20190612175814116-2076320705.png

    可以看出,与半加器的两个输入不同,全加器需要多一个进位输入,所以需要使用两个半加器,将一个半加器的加和输出连接到另一个半加器,这样一来,就可以用来进位了,当然,在三个输入的情况下,两个半加器的进位不会出现两个一的情况,所以只需要一个或门将两个半加器的进位输出进行或运算就可以了,具体连接如下:

    1711201-20190612175842880-1036051490.png

    八位二进制加法器

    在设计完成全加器之后,就可以用来搭建二进制加法器了,搭建一个八位二进制加法器需要使用八个全加器,可以进行8为二进制数也就是255以内的加法运算,每一个全加器的进位输入与上一个全加器的进位输出相连,下图是连接示例:

    1711201-20190612175858462-121825679.png

    在八位二进制加法器制作完成后,可以连接灯泡进行实验,验证该加法器的正确性。

    1711201-20190612175911200-599777823.png

    转载于:https://www.cnblogs.com/itero/p/11011263.html

    展开全文
  • 流水灯模拟二进制加法代码: 晶振为11.0592,模拟时间间隔约为0.5s #include <reg52.h> void delay_xms(int x) { int i,m; for(i=110;i>0;i--) for(m=x;m>0;m--); } void main() { P2 = 0xff;...

    流水灯模拟二进制加法代码:

    晶振为11.0592,模拟时间间隔约为0.5s

    #include <reg52.h>	
    
    void delay_xms(int x)
    {
    	int i,m;
    	for(i=110;i>0;i--)
    		for(m=x;m>0;m--);
    }
    
    void main()
    {
    	P2 = 0xff;
    	while(1)
    	{
    		P2--;
    		delay_xms(500);
    	}
    }
    

    运行结果

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • word格式word格式《电子设计自动化》实验报告实验实验名称:8位二进制加法器的设计专业及班级:姓名:学号:一、实验目的:掌握VHDL语言的基本结构。掌握全加器原理,能进行多位加法器的设计。掌握VHDL语言的...

    word格式

    word格式

    《电子设计自动化》实验报告

    实验六 实验名称:8位二进制全加法器的设计

    专业及班级:姓名:学号:

    一、实验目的:

    掌握VHDL语言的基本结构。

    掌握全加器原理,能进行多位加法器的设计。

    掌握VHDL语言的基本描述语句特别是元件例化语句的使用方法。

    二、实验内容

    设计并实现一个由两个4位二进制并行加法器级联而成的8位二进制并行加 法器。要求编写4位加法器的VHDL语言程序,顶层8位加法器的设计要求利 用元件例化语句进行设计,并利用开发工具软件对其进行编译和仿真, 最后通过 实验开发系统对其进行硬件验证。

    三、 实验步骤(附源代码及仿真结果图):

    1?根据4位二进制加法器的原理,利用VHDL语言的基本描述语句编写出4 位加法器的VHDL语言程序。

    --ADDER4B.VHD

    LIBRARY IEEE;

    USE IEEE.STD_LOGIC_1164.ALL;

    USE IEEE.STD_LOGIC_UNSIGNED.ALL;

    ENTITY ADDER4B IS

    PORT( C4: IN STD_LOGIC;

    A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

    B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

    S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

    CO4: OUT STD_LOGIC);

    END ENTITY ADDER4B;

    ARCHITECTURE ART OF ADDER4B IS

    SIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0);

    SIGNAL A5,B5:STD_LOGIC_VECTOR(4 DOWNTO 0);

    BEGIN

    A5<='0'& A4;

    B5<='0'& B4;

    S5<=A5+B5+C4;

    S4<=S5(3 DOWNTO 0);

    CO4<=S5 (4);

    END ARCHITECTURE ART;

    2.对所设计的4位二进制加法器的VHDL程序进行编译,然后对其进行仿真,

    初步验证程序设计的正确性。

    编译成功后,出现如图2-10所示界面:

    ?

    decoder 33. vhd

    令3ri曲tiM Rspcrt

    Ta...

    | rtCrt* SumnurY

    WWWWWW曲垃点田 FIOFtoHOROFklHOAnFl丽阳

    WWWWWW曲垃点田 FIOFtoHOROFklHOAnFl丽阳 S@@@S^_J_J_J_J

    How Status

    Qja「tus n 32-bit Verpgn

    Revision Name

    Top-le^/el Entity Name

    Family

    Device

    Tming Models

    Total togic elements

    Total oOrriNnalicinal functions Dedicatied logk regiisteirs

    Total registers

    Total pins

    To-tal virtual prs

    Total meniory tn is

    Embedded MiJbpber 94sit elements

    T&tel PLLS

    11 J&jM 173 11/01/2011 5J F J Version 血 coder 38

    decoderBS

    Cydone IV E

    EP4CE115FSC7

    Final

    10 / L14.W ( < 1 %)

    10 / 114,480{ < 1%)

    0/114,400(0%)

    0

    14/529(3%)

    0

    0/3r981f312(0%)

    0/532(0%)

    0/^(0%)

    仿真图片:

    3.采用元件例化语句设计8位加法器,并对其进行编译和仿真,初步验证设 计的正确性。

    --ADDER8B.VHD

    LIBRARY IEEE;

    USE IEEE.STD_LOGIC_1164.ALL;

    USE IEEE.STD_LOGIC_UNSIGNED.ALL;

    ENTITY ADDER8B IS

    PORT( C8:IN STD_LOGIC;

    A8:IN STD_L0GIC_VECT0R(7 DOWNTO 0);

    B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

    S8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

    CO8:OUT STD_LOGIC);

    END ENTITY ADDER8B;

    ARCHITECTURE ART OF ADDER8B IS

    COMPONENT ADDER4B IS

    PORT(C4:IN STD_LOGIC;

    A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

    B4:IN STD_LOGIC_VECTOR(

    展开全文
  • 计算机科学与技术学号:学生姓名(签名):设计题目:指令系统及指令总线设计一、设计实验条件综合楼808实验室硬件:PC机软件:Xilinx ISEModelSim、设计任务及要求【课程设计目的】1、融会贯通计算机组成原理课程的...
  • 使用循环神经网络(RNN)实现简易的二进制加法器 利用python实现简易的循环神经网络,并在一个小demo(8比特二进制加法器)上进行了验证,激活函数为logistic函数,利用反向传播算法进行训练。具体的算法原理以及...
  • 文档介绍:计算机组成原理课程设计报告姓名:班级:学号:指导老师:〇一一年12月21日目录目录 2第一章课设任务概述 31.1课设目的 31.2课设任务 3第章课设内容 42.1指令的执行流程 42.21题一 42.22题 42.23题三 ...
  • 计算机组成原理课程设计报告-计算机组成原理课程设计报告姓 名:班 级:学 号:指导老师:〇一四年月日目 录第一章课程设计任务概述11.1课设目的11.2 课设任务1第章题目解答22.1指令的执行流程22.1.1“异或”...
  • 19.90 积分实用文档电子信息学院实验报告书课程名:《计算机组成原理》 题 目: 实验类别 【验证】 班 级: 学 号: 姓 名: 评语:实验态度:认真( ) 一般( ) 差( )实验结果:正确( ) 部分正确( )错( )实验理论:...
  • 掌握加法器实现补码加、减运算的基本原理实验方案: 本实验运算器模型,可分为数据运算以及符号位的产生两部分。 三、实验要求: ◆ 数据宽度为4位,设计出实验线路图。 ◆ 设计试验步骤。 ◆ 使用开关进行...
  • 一、实验项目名称:二进制补码加法器 二、实验目的: 根据补码加法器的模型,理解数据流及其时序关系。 掌握加法器实现补码加、减运算的基本原理。 三、实验内容   实验接线图:   四、实验器材(设备、...
  • 计算机组成原理二进制计数器实验报告计算机组成原理实验一4位二进制计数器实验姓名:李云弟 学号:1205110115 网工1201【实验环境】1. Windows 2000 或 Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理教学...
  • 实验二进制补码加法实验目的: 实验目的: 根据补码加法器的模型,理解数据流及其时序关系。 掌握加法器实现补码加、减运算的基本原理实验所用器件和仪表: 累加器选用一片74LS273。 加法器用两片74 ...
  • LED灯二进制计数实验 加一减一和归零,用灯代表0,1进行计数
  • 数字电路写给读者 作者是...二进制LSB和MSB 通常,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧。传输 串行:在计算机总线或其他数据通道上,每次传输一个bit 并行:所有bit同时传送BCD编码 意义:用4个bit...
  • 掌握十进制加法计数器的设计原理; 同步、异步电路的实现; if语句的用法。 实验讲解1: D触发器和锁存器的VerilogHDL描述: module d_ff(rst,D,clk,q);//异步 input rst,D,clk; output reg q; always@ ...
  • 汇编二进制双精度加法实验程序

    千次阅读 2011-04-14 16:34:00
    <br />;计算X+Y=Z ;X=001565A0H,Y=0021B79EH,运算的结果Z=00371D3EH。 DATA SEGMENT MES DB 'The result is:$' XL DW 65A0H XH DW 0015H YL DW 0B79EH YH DW 0021H...
  • 位十进制计数器实验报告
  • 本系列主要是《数字设计和...加法器前边说过处理单个二进制位相加的加法器:但是我们使用的加法是好多位的,这也好说,把多个全加器串联起来就好了:从右到左看这个电路图,这是一个32位二进制加法的电路图。初始的...
  • library ieee; use ieee.std_logic_1164.all; entity adderT is port(clr : in std_logic; clk : in std_logic; cnt : buffer integer range 9 downto 0); end adderT; architecture behavior of ... if clr =
  • 计算机组成原理4位进制计数器实验报告计算机组成原理实验一 4位二进制计数器实验 姓名:李云弟 学号:1座机电话号码5 网工1201【实验环境】1. Windows 2000 或 Windows XP2. QuartusII9.1 sp2、DE2-115计算机组成原理...
  • 异步十进制加法计数器(D)

    千次阅读 2019-10-28 11:14:41
  • 实验二进制加、减法编程实验 更多微机实验:https://blog.csdn.net/yxp189/column/info/39992 汇编语言-微机原理与接口技术-实验 注意:未经允许,请勿转载! 转载请标明出处~ 适用课程:微机原理与接口...
  • 二进制双精度加法运算

    千次阅读 2020-10-15 23:45:17
    实验要求计算 X+Y=Z,将结果 Z 输出到屏幕,其中 X=001565A0H,Y=0021B79EH。...    在 80386 以上微机中可以直接使用 32 位寄存器和 32 位加法指令完成本实验的功能。 DATA SEGMENT MES DB 'The resu
  • 实验二进制乘、除法编程实验 更多微机实验:https://blog.csdn.net/yxp189/column/info/39992 汇编语言-微机原理与接口技术-实验 注意:未经允许,请勿转载! 转载请标明出处~ 适用课程:微机原理与接口...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,977
精华内容 1,590
关键字:

二进制加法实验原理