Logisim实验-半加器与全加器电路实现,并设计实现4位二进制数的补码器电路

Logisim实验-半加器与全加器电路实现,并设计实现4位二进制数的补码器电路

一、逻辑门

1

二、半加器电路

半加器(half adder)将两个一位二进制数相加

2

xy本位输出s进位输出c
0000
0110
1010
1101

三、全加器电路

全加器(full adder)将两个一位二进制数相加,并根据收到的低位进位信号,输出和、进位输出。

全加器

xy进位输入本位和输出进位输出
00000
01010
10010
11001
00110
01101
10101
11111

四、4位二进制数原码转补码

要求:当输入一个4位二进制数后,补码电路 将输出对应的4位二进制补码。

要实现此电路,首先我们要了解原码转补码的原理,如下:

  • 正数的补码与原码相同 ,类如,二进制数0010的补码还是0010。
  • 负数的补码是将其原码除符号位外的所有位取反(0变1,1变0,符号位1不变)后,再加1。

因为正数与负数的补码运算规则不一样,负数的运算规则中多了一项取反操作,因此,我们要先依据符号位的正负,对原码进行取反或不变操作。

  • 当符号位为1时,即原码为负时(以最低位为例):

4

  • 当符号位为0,即原码为正时(以最低位为例):

5

可知,当符号位与除符号位外的其余位分别作为异或门的两个输入端时,正数的原码保持不变,负数的除符号位全部取反,满足我们的要求。

同时,正数的原码不需要进行加1操作,而负数的原码在取反操作后还需要再加1。因此,我们可以在原码的最低位通过第一个异或门后,再给它加上符号位。这样正数均不变,而负数则满足了加1的条件。

image-20231018221833708

由此,根据以上原理,我们便可实现这样一个4位二进制数的补码器电路:

四位二进制补码

image-20231018221959048

综合实验报告 ( 2010 -- 2011 年度第 一 学期) 名 称: 《汇编语言程序设计》综合实验 班 级: 学 号: 学生姓名: 指导教师: 设计: 一周 成 绩: 日期: 2011 年 1 月 3 日 《汇编语言程序设计》综合实验 任 务 书 一、 目的与要求 通过本门课程的学习与实践,加深对汇编语言程序设计课程的理解与掌握,提高 学生的汇编语言程序设计能力,同时可以加深对计算机工作原理的理解,有助于促进 后续课程的学习。 本课程要求学生针对课本所学知识从调试程序、循环程序设计、分支程序设计、 子程序设计、显示IO程序设计、键盘输入程序设计和中断练习程序等七个实验进行 学习和实践,使学生对汇编语言有更深入、细致和全面的了解,并能用所学知识解决 实际问题。 要求有实验说明,画出程序流程图,然后根据流程图编写程序,并上机调试写出运 行结果。 二、 主要内容 1. 比较字符串sample(学习)、用表格形式显示字符 比较字符串sample:比较两个字符串string1和string2所含的字符是否相同。 若相同则显示'match',否则显示'no match';要求编写程序,并汇编,连接,运行,然后使用Debug调试该程序。 用表格形式显示字符:按15行*16列的表格形式显示ASCII码为10H- 100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符。每 16个字符为一行,每行中的相邻两个字符之间用空白符(ASCII为20H)隔开。 2. 查找匹配字符串 程序接受用户键入的一个关键字以及一个句子。如果句子中不含关键字则显示'n o match';如果句子中包含关键字则显示'match',且把该字在句子中的置用十六进制 显示出来。 3. 分类统计字符的个 程序接收用户键入的一行字符(用回车符结束),并按字母,字及其他字符分 类计,然后将结果存入以letter,digit和other为名的存储单元中。 4. 查找电话号码 要求程序建立一个可存50项的电话号码表,每项包括人名及电话号码两部分;程 序可接受输入人名及相应的电话号码,并将其保存至电话号码表中;当有新的输入后 ,程序应按人名对电话号码表重新排序;程序可接受键盘输入人名并查找电话号码, 再在屏幕上显示出来。 5. 屏幕窗口程序 在屏幕上开出三个窗口,它们的行列坐标如下页图所示,光标首先定在右窗口最 下面一行的行首(15, 50),如果从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。若 需要将字符显示于左窗口,则先按下左键,接着再从键盘输入字符,字符就会从左窗口 的最下行开始显示,同时下窗口也显示左窗口的内容。当一行字符显示满后,窗口自动 向上卷动一行,输入字符继续显示于最低一行,窗口最高一行向上卷动后消失。 6. 扩充键盘处理功能(选做) 在完成键盘处理基本功能的基础上,增加left_shift 和 right_shift键的功能。要求实现左右SHIFT任何一个键处于按下状态时输入字符为键 盘的上档字符或大写字母,否则输出字或小写字母。 三、 进度计划 "序号 "设计内容 "完成时间 "备注 " "1 "比较字符串sample(学习) "2010.12.27 " " " "用表格形式显示字符 " " " "2 "查找匹配字符串 "2010.12.28 " " "3 "分类统计字符的个 "2010.12.29 " " "4 "查找电话号码 "2010.12.30 " " "5 "屏幕窗口程序 "2010.12.31 " " "6 "扩充键盘处理功能(选做) "2010.12.31 " " 注:其中第1- 5个实验根据进度在12月31日之前验收即可;学有余力的同学可选做第6题。 四、设计成果要求 1. 以上实验要求首先画出程序流程图,然后根据流程图编写程序并上机调试,教师将 验收实验结果。 2. 课程设计报告:完成上机题目后,应认真撰写上机课程设计报告,报告内容包括: 上机题目及要求; 实验说明:完成的功能、整体设计思想及使用的算法; 设计的程序流程框图和主要据结构; 上机题目完成的情况,输入的典型代码、据和运行结果; 存在的问题及解决方法; 上机实验的心得体会。 五、 考核方式 依据进度计划,完成综合实验内容,并向老师讲解所完成任务的功能、思想、使用算 法及主要程序流程,老师提出问题,提交综合实验报告。成绩评定方法:现场验收+综合 实验报告。 1. 实验题目:实验2.1用表格形式显示字符 2. 实验目的和要求:详见任务书 3. 实验说明: 1) 显示每个字符可使用功能号为 02 的显示输出功能调用,使用方法如下: MOV AH,02H MOV DL,输出字符的 ASCII 码 INT 21H 2) 显示空
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值