实验二多位十进制数加法实验
实验二多位十进制数加法实验
实验二多位十进制数加法实验
一、实验目的
1.熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。
2.掌握数据传送和算术运算指令的用法。
3.熟悉和掌握用DEBUG调试程序的方法。
二、实验内容
将两个多位十制数4678和2556相加,要求加数和被加数均以ASCII码形式各自顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回DATAl处,并显示结果。
操作步骤:
打开MASM文件夹,检查我们要用到的四个文件EDIT ,MASM.EXE,LINK.EXE,DEBUG 。
1.进入EDIT编辑环境建立和修改汇编源程序文件(文件名要以.ASM结尾)
2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)
3.用LINK命令连接目标文件以产生可执行文件(EXE文件)
4.用DEBUG调试,记录调试过程,
5. 运行可执行程序。
相关中断调用表
三、实验报告要求
1.整理运行正确的源程序,加上注释。
2.写出程序运行结果。
3.总结应用DEBUG调试程序的方法。
4.回答思考题。
0级《数字逻辑电路》实验指导书 1
课程名称:数字逻辑电路实验指导书课时:8学时集成电路芯片一、简介数字电路实验中所用到的集成芯片都是双列直插式的,其引脚排列规则如图1-1所示。
识别方法是:正对集成电路型号(如74LS20)或看标记(左边的缺口或小圆点标记),从左下角开始按逆时针方向以1,2,3,…依次排列到最后一般排在左上端,接地一脚(在左上角)。
在标准形TTL集成电路中,电源端VCC,7脚为GND。
若集端GND一般排在右下端。
如74LS20为14脚芯片,14脚为VCC成芯片引脚上的功能标号为NC,则表示该引脚为空脚,与内部电路不连接。
二、TTL集成电路使用规则1、接插集成块时,要认清定位标记,不得插反。
2、电源电压使用范围为+4.5V~+5.5V之间,实验中要求使用Vcc=+5V。
电源极性绝对不允许接错。
3、闲置输入端处理方法(1)悬空,相当于正逻辑“1”,对于一般小规模集成电路的数据输入端,实验时允许悬空处理。
但易受外界干扰,导致电路的逻辑功能不正常。
因此,对于接有长线的输入端,中规模以上的集成电路和使用集成电路较多的复杂电路,所有控制输入端必须按逻辑要求接入电路,不允许悬空。
(也可以串入一只1~10KΩ的固定电阻)或接至某一固定(2)直接接电源电压VCC电压(+2.4≤V≤4.5V)的电源上,或与输入端为接地的多余与非门的输出端相接。
(3)若前级驱动能力允许,可以与使用的输入端并联。
4、输入端通过电阻接地,电阻值的大小将直接影响电路所处的状态。
当R ≤680Ω时,输入端相当于逻辑“0”;当R≥4.7KΩ时,输入端相当于逻辑“1”。
对于不同系列的器件,要求的阻值不同。
5、输出端不允许并联使用(集电极开路门(OC)和三态输出门电路(3S)除外)。
否则不仅会使电路逻辑功能混乱,并会导致器件损坏。
6、输出端不允许直接接地或直接接+5V电源,否则将损坏器件,有时为了使后,一般取R=3~5.1K 级电路获得较高的输出电平,允许输出端通过电阻R接至VccΩ。
湖南工业大学电自专业89s51单片机实验报告(DOC)
实验一二进制转换成十进制实验一、实验设备1.THGQC-1型嵌入式单片机实验开发系统-套。
2.PC机一台。
二、实验目的掌握汇编语言设计和实验步骤,熟悉在KEIL环境下观察内部RAM 的方法。
三、实验内容单片机中的数值有各种表达方式,这是单片机的基础。
掌握各种数制之间的转换是一种基本功。
本实验内容是将一个给定的一字节二进制数,通过编程将其转换成十进制码。
四、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。
在所建的Project文件中添加TOBCD.ASM文件,打开TOBCD.ASM文件,阅读、分析、理解程序,编译程序进行调试(如何建立工程请看附录说明)2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序。
程序具体功能是将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#0ffh。
打开MEMORY WINDOW数据窗口,(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、32H的数据变化30H更新为02,31H更新为05,32H更新为05。
3)修改源程序中给累加器A的赋值,重复实验,观察实验效果。
4)打开CPU寄存器窗口,选择单步或跟踪执行方式运行程序,观察各寄存器的变化可以看到程序执行的过程,加深对实验的了解。
五、实验程序参考框图六、实验程序RESULT EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,#40HMOV A,#0FFHCALL BINTOBCDNOP ;此处设置断点,察看RAM 30H,31H,32HLJMP $BINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETEND七.实验程序编译和结果分析图1为keil2程序编辑器的编译窗口。
太原理工大学EDA实验报告-2位十进制加法器
实验报告课程名称:EDA技术与FPGA应用设计课设题目:2位十进制计数器实验地点:信息学院楼CPLD实验室专业班级:学号:学生姓名:指导教师:张文爱2016年4月1日实验二2位十进制计数器一、实验目的1.熟悉ispDesignEXPERT System、QuartusII的原理图设计流程的全过程。
2.学习简单时序电路的设计方法。
3.学习EDA设计的仿真和硬件测试方法。
二、实验原理2位十进制计数器参考原理图如图1所示,也可以采用其他元件实现。
图1.用74LS390设计一个有时钟使能的2位十进制计数器三、实验任务(1)设计2位十进制计数器电路。
(2)在EDA环境中输入原理图。
(3)对计数器进行仿真分析、引脚锁定、硬件测试。
四、实验步骤1、设计电路原理图设计含有时钟使能及进位扩展输出的十进制计数器。
可以选用双十进制计数器74LS390或者十进制计数器74LS160和其他一些辅助元件来完成。
2、计数器电路的实现。
绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。
若将一根细线变成一粗线显示的总线,可以先单机使其变红,再选Option选项中的Line Style;若在某线上加信号标号,也应该点击该线某处使其变成红色,然后键入标号名称,标有相同标号的线段可视为连接线段,不必直接连接。
总线可以以标号方式进行连接。
3、编程测试。
五、实验结果图2.用74LS390设计一个有时钟使能的2位十进制计数器六、实验感想通过本次实验学会了简单时序电路的设计方法。
学会了使用QuartusII软件调用元器件库进行原理图设计的方法和设计流程。
这次实验让我学会了用FPGA设计电路并且学会了FPGA的设计过程和实现方法。
提高了动手能力,加深了对所学知识的理解。
这次EDA实验,提高了动手能力,加深了对所学知识的理解。
实验报告二
二. 实验二:
1利用求余法分别求出十进制数117与155的二进制数
117的二进制数为1110101
155的二进制数为 10011011
2.分别求出十进制数117与155的原码,反码,补码。
117的原码,反码,补码都为 0000000001110101
-155的原码,反码,补码分别为
10000000010011011 1111111101100100 1111111101100101
3.对两个数的补码进行二进制加法运算得到
1111111111011010(补码)
1000000000100101(反码)
1000000000100110 (原码)
4.将原码化为十进制数为-38,结果正确
利用补码求解十进制数177与193的差
1.利用“求余法”分别求出十进制数177和193的二进制数
177化为二进制数为10110001
193化为二进制数为11000001
2.求解十进制数177和193的原码,反码和补码。
177=(00000000 10110001)2 (原码,反码,补码)
193=(00000000 11000001)2(原码,反码,补码)
3将两个数的补码进行二进制加法运算加和得到
(11111111 11110000)补码
4.符号位为1,表示求解结果为负数,而且是用补码表示,对它再求一
次求补运算就得到的结果原码表示
其反码为(11111111 11101111)
其原码为(10000000 00010000)
将得到的原码化为十进制的数,其值为十进制-16,因此计算结果正确。
十进制加法计数器课程设计
实验十九 计数、译码、显示电路一、实验目的1、掌握中规模集成计数器74LS90的逻辑功能。
2、学习使用74LS48、BCD译码器和共阴极七段显示器。
3、熟悉用示波器测试计数器输出波形的方法。
二、 实验原理计数、译码、显示电路是由计数器、译码器和显示器三部分电路组成的,下面分别加以介绍。
1、计数器:计数器是一种中规模集成电路,其种类有很多。
如果按各触发器翻转的次序分类,计数器可分为同步计数器和异步计数器两种;如果按照计数数字的增减可分为加法计数器、减法计数器和可逆计数器三种;如果按计数器进位规律可分为二进制计数器、十进制计数器、可编程N进制计数器等多种产品。
常用计数器均有典型产品,不须自己设计,只要合理选用即可。
本实验选用74LS90二—五进制计数器,其功能如下表所示。
6263(1) R 0(1)和R 0(2)为直接复位端,R 9(1)和R 9(2)为直接置位端,可以预置数字“9”(Q D = Q A = 1,Q B = Q C = 0)。
(2) A 为二分频计数器的输入,Q A 的输出频率为CP A 的1/2。
B 为五进制计数器的输入,把Q A 输出作为五进制计数器B 的输入,即构成8421BCD 码十进制计数器。
2、 译码器:这里所说的译码器是将二进制数译成十进制数的器件。
我们选用的74LS48是BCD 码七段译码器兼驱动器。
其外引线排列图和功能表如下所示。
1234567891011121314GNDVCC 74LS48B1615CLTBI/RBORBIDAgabcdef十进制数 或功能输 入LT RBI D C B A 0123H H H H H X X X L L L L L L L H L L H L L L H H BI/RBO H H H H 输 出a b c d e f g H H H H H H L L H H L L L L H H L H H L H H H H H L L H 字 型注4567H H H H X X X X L H L L L H L H L H H L L H H H H H H H L H H L L H H H L H H L H H L L H H H H H H H H L L L L H H H X X X H L L L H L L H H L H L H H H H H H H H H H H H H L L H H L L L H H L H L L H H L L H 891011H X H L H H H H H H X X X H H L L H H L H H H H L H H H L H L L L H H H L L H L H H L L L H H H H L L L L L L L 12131415H X H H H H H 1BI RBI LTX H LX XL X X X X X X X XL L L L L L HL L L L L L L L L L L L L L H H H H H H H2 34(1) 要求输出数字0~15时,“灭灯输入”(BI )必须开路或保持高电平。
单片机实验报告
单片机与嵌入式系统实验报告一、软件模拟调试实验:本部分实验内容主要为指令系统和汇编语言程序设计。
采用软件模拟调试的方法,目的在于通过这些实验使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验一数据传送实验实验目的1、熟悉软件模拟调试环境。
2、掌握汇编语言程序设计的方法,加深对指令的理解。
3、学会软件模拟调试和察看、验证结果方法。
4、印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
实验步骤1、进入调试软件环境,输入源程序;2、汇编源程序;3、用单步方式运行程序;4、检查并记录各寄存器和存储单元内容的变化。
实验内容:将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。
将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。
源程序清单:ORG 0000HRESET:AJMP MAINORG 003FHMAIN:MOV R0,#40HMOV R2,#10HMOV A,#0A0HA1:MOV @R0,AINC R0INC ADJNZ R2, A1MOV R1,#10HMOV R0, #50HMOV R2, #10HA3: MOV A, @R1MOV @R0, AINC R1INC R2DJNZ R2, A3SJMP $END实验结果与分析:1、按照实验内容补全程序。
2、对源程序进行编译并查看相应程序存储器的内容,将源程序对应的机器码记录入下表,掌握ORG伪指令及汇编的过程。
ORG的作用及相关注意事项:ORG表示之后的语句从哪里开始,有的单片机里面的固定区域是用来做堆栈或者是子程序跳转地址的入口。
PC表示:下一条要执行的指令PSW表示:程序状态字,其各位的含义为:cy进位标志位AC辅助进位标志位Ov溢出标志位p校验位SP表示:堆栈指针R0~R7的物理位置:0000H-0007H3、运行机器码,查看片内数据区、CPU内寄存器的变化情况,按要求将结果记录入下表。
微机原理实验之两位十进制数相加
计算机硬件实验室实验报告课程名称:微机原理及应用
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
源代码:
Mov AH,1
Int 21H
Mov BH, AL
Mov AH,1
AND Bh, 0fH
Int 21h
Mov BL,AL
AND Bl, 0fH
Mov DL, '+'
Mov AH, 2
Int 21h
MOV AH, 1
INT 21H
Mov CH,AL
AND CH, 0fH
Mov AH, 1
INT 21H
Mov CL,AL
AND CL, 0fH
ADD BL, CL
Mov Al,BL
Mov AH,00H 四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
结论如上图
五.结论
本次实验完成了简单的两个两位十进制数相加。
完成了表达式的输出,将实验跟理论相结合,加深了对知识的理解。
AAA Mov Bl,Al ADC BH,CH Mov AL,BH Mov AH,00H AAA Mov CH,AH Mov CL,Al ADD BL, 30H ADD CX, 3030H Mov DL, '=' Mov AH, 2 Int 21H Mov DL,CH Mov AH, 2 Int 21H Mov DL, CL Mov AH, 2 Int 21H Mov DL,BL Mov AH, 2 INT 21H。
完整版微机原理试验数据传送及两个多位十进制数相加
深圳大学实验报告课程名称: _________ 微机原理及应用实验实验项目名称:数据传送及两个多位十进制数相加学院_________________________________专业__________________________________________________指导教师: __________________________________________________报告人:_学号:班级: ________________实验时间: ________________________________________实验报告提交时间: ___________________________________________教务处制、实验名称:数据传送及两个多位十进制数相加二、实验目的(1)学习数据传送和算术运算指令的用法。
(2)熟悉在PC机上建立、汇编、链接、调试和运行 8088汇编语言程序的过程。
三、实验内容将两个多位十进制数相加。
要求被加数均以ASCII码形式各自顺序存放在以DATAI和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。
四、实验电路及连线(硬件实验)此实验属于软件实验,故无硬件实验的电路及连线。
五、程序说明(预习)包括程序功能,程序框图,算法说明及所用到的寄存器等。
功能:将被加数和加数分别显示,接着运行加法运算,然后将结果显示出来。
算法说明:①定义数据段:定义被加数和加数,且要使其用ASCII码以十六进制之间的转换;②定义堆栈段,并给SP_TO单元赋初值0;③定义代码段,并将源代码放在里面首先,编写主程序;接着,编写显示、回车换行和加法运算的子程序。
④程序结束。
所用到的寄存:AX SS、CS、DS ES、SI、SP、DI六、源程序清单(预习);DATAS SEGMENT ; DATA1 DB 33H,32H,38H,34H,37H DATA2 DB 34H,35H,39H,37H,31H DATAS ENDS数据段;定义DATA1为被加数;定义DATA2为加数STACKS SEGMENT ; 堆栈段STA DB 64 DUP(O) ; 为STA预留64个字节的存储空间SP_TOP DB 0 ; 定义SP_TO单元的数值为0 STACKS ENDSCODES SEGMENT ; 代码段ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX ; 设置数据段MOV AX,STACKSMOV SS,AX ; 设置堆栈段LEA SP,SP_TOP ; 设置栈顶指针MOV SI,OFFSET DATA1 ; 把DATA1偏移量地址赋予SIMOV BX,05CALL DISPL ; 显示被加数CALLCRLF ; 回车、换行MOV SI,OFFSET DATA2 ; 把DATA2偏移量地址赋予SIMOV BX,05CALL DISPL ; 显示加数CALLCRLF ; 回车、换行MOV DI,OFFSET DATA1 ; 把DATA1偏移量地址赋予DICALL ADDA ; 调用ADDAF程序,实行加法运算MOV BX,05CALL DISPL ; 显示结果CALLCRLF ; 回车、换行MOV AX,4C00H ;INT 21H ; 调用DOS21H功能,返回CRLF PROC NEAR ; 回车、显示功能过程定义,属性为 NEAR MOV DL,0DH ; 把回车的ASCII码0DH传给DLMOV AH,02H ; 送DOS的中断调用功能号INT 21H ; DOS 的中断调用MOV DL,0AH ; 把换行的ASCII码0AH传给DLMOV AH,02H ;INT 21H ; DOSRET ; CRLF ENDP ;送DOS的中断调用功能号的中断调用返回完成过程定义DISPL PROC NEAR DSL: MOV AH,02 ;MOV DL,[SI+BX-1];INT 21H ; DOSDEC BX ;BXJNZ DSL ;RET ; DISPL ENDP ; 显示功能过程定义,属性为NEAR 送显示功能号显示字符串中一字符的中断调用减1,修改偏移量如果BX未减到零,跳到DSL执行指令返回完成显示功能子程序定义ADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05实行加法运算子程序过程定义,属性为TRAN_HEX: SUB BYTE PTR[SI+BX-1],30H ;把 ASCII 码数转化为十六进制SUB BYTE PTR[DI+BX-1],30HDEC BX ;BXJNZ TRAN_HEXMOV SI,DXMOV DI,BPMOV CX,05 ;CLC ;THE_ADD: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ;AAA ;MOV [SI],AL ;INC SI ;SIINC DI ;DILOOP THE_ADD ;MOV SI,DXMOV DI,BPMOV BX,05 减1,修改偏移量;如果BX未减到零,跳到TRAN_HEX执行指令包括进位,共5位进位标志位 CF清零 (clear carry flag )带进位相加,把结果存在AX进行AAA调整,非结合BCD码的加法调整结果送被加数区加1加1 (指向下一位)循环TRAN_ASCI: ADD BYTE PTR[SI+BX-1],30HADD BYT田TR[DI+BX-1],30H ; 使用PTR转换属性并相加,将十六进制数转化为ASCII表示DEC BX ; BX 减1,修改偏移量RET ; 返回ADDA ENDP ;加法子程序定义完成CODES ENDS ; 代码段完成END START七、实验源程序清单(实验后以电子报告形式存储到指定位置)1.源程序路径及文件名:实验三\l3.asm2.可执行程序路径及文件名:实验三\l3.exe;八、上机调试情况说明1.上机调试步骤A .通过dos对pts3.asm文件进行操作。
微机原理与接口技术实验
CALL ADDA DISX 3DH MOV SI,OFFSET DATA3 MOV BX,05 CALL DISPL DISX 0DH DISX 0AH MOV AH,4CH INT 21H
DISPL DS1:
DISPL
PROC NEAR DISX [SI+BX-1] DEC BX JNZ DS1 RET ENDP
5.在屏幕上显示结果可利用INT 21H的02号子功能,因该功能一次只 能显示一个字符,故对于显示数字串来说,要编写一段显示子程序,反 复使用02H号子功能。
6.加数与被加数为5位,而和可能为5位或6位,即考虑到带进位和不 带进位的情况。在显示和数时最好按DISUP1: MOV AL,BH MOV CL,04 SHR AL,CL CMP AL,09 JA DISUP4 ADD AL,30H
实验二 两个多位十进制数相加的程序
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA
MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV DX,OFFSET MESS MOV AH,09H INT 21H MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL DISX 2BH MOV SI,OFFSET DATA2 MOV BX,05 CALL DISPL MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2
实验一 求最大值程序
NEXT: MAX2:
LOOP MAX1 MOV BL,AL MOV CL,04 SHR AL,CL CMP AL,09 JA MAX4 ADD AL,30H DISX AL MOV AL,BL AND AL,0FH CMP AL,09 JA MAX5 ADD AL,30H
有时钟使能的两位十进制计数器设计
EDA技术及应用实验报告——有时钟使能的两位十进制计数器设计班级:XXX姓名:XXX学号:XXX一、实验目的:1、学习MAX+PLUSⅡ软件的使用,包括软件安装及基本的使用流程。
2、掌握用原理图输入法设计简单组合电路的方法和详细设计流程。
3、掌握原理图的层次化设计方法。
二、实验原理:频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。
为此这里拟用一个双十进制计数74390和其它一些辅助元件来完成。
电路原理图应该如图所示。
图中,74390连接成两个独立的十进制计数器,待测频率信号clk通过一个与门进入74390的计数器1的时钟输入端1CLKA,与门的另一端由计数使能信号enb控制:当enb = '1' 时允许计数;enb = '0' 时禁止计数。
计数器1的4位输出q[3]、q[2]、q[1]和q[0]并成总线表达方式即q[3..0],由图3-24左下角的OUTPUT输出端口向外输出计数值,同时由一个4输入与门和两个反相器构成进位信号进入第2个计数器的时钟输入端2CLKA。
第2个计数器的4位计数输出是q[7]、q[6]、q[5]和q[4],总线输出信号是q[7..4]。
这两个计数器的总的进位信号,即可用于扩展输出的进位信号由一个6输入与门和两个反相器产生,由cout输出。
clr是计数器的清零信号。
三、实验内容和步骤:1、打开原理图编辑器,有时钟使能的两位十进制计数器的设计。
2、编译3、波形仿真,由上图仿真得到电路的仿真波形。
由波形图可见,电路的功能完全符合原设计要求:当clk输入时钟信号时,clr信号具有清0功能,当enb为高电平时允许计数,低电平时禁止计数;当低4位计数器计到9的向高4位计数器进位,另外由于图中没有显示高4位计数器计到9,故看不到count的进位信号。
4、引脚锁定并下载。
实验总结通过本实验,学习了有时钟使能的两位十进制计数器原理图输入的设计,进一步熟练掌握了原理图输入设计的方法。
实验二 算术运算实验
实验二算术运算实验一、实验目的1、掌握MASMforWindows环境下的汇编语言编程环境使用;2、掌握汇编语言程序设计的基本流程及汇编语言中的二进制、十六进制、十进制、BCD码的表示形式;3、掌握汇编语言对多精度十六进制和十进制的编程方法及运算类指令对各状态标志位的影响及测试方法;4、掌握无符号数和有符号数运算区别及编程方法;5、掌握BCD码调整指令的使用方法二、软硬件实验环境1、硬件环境:惠普64位一体化计算机及局域网;2、软件环境:windows8,红蜘蛛管理系统,MASMforWindows。
三、实验基本原理算术运算实验需要对运行结果进行调试及查看状态字,其相关知识如下。
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)对于表格中三组无符号数,试编程求这三组数的指定运算结果,并考虑计算结果对标志寄存器中状态标志位的影响:①实验分析本实验要求简单,仅对指定三组数进行基本运算。
十进制加减法数字电路课程设计报告
十进制加减法数字电路课程设计报告Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998设计名称:设计一个一位十进制加减法器设计内容:1、0-9十个字符和“+”“-”分别对应一个按键,用于数据输入。
2、用一个开关控制加减法器的开关状态。
3、要求在数码显示管上显示结果。
设计目的与要求:1、学习数字逻辑等电路设计方法,熟知加减法器、编码器、译码显示的工作原理及特点;2、培养勤奋认真、分析故障和解决问题的能力。
设计环境或器材、原理与说明:环境:利用多功能虚拟软件Multism8进行电路的制作、调试,并生成文件。
器材:74LS283或者4008, 4个异或门(一片74LS86)(减法);74LS08,3输入或门(加法) 设计原理:图1分析:如图1所示,第一步置入两个四位二进制数(要求置入的数小于1010),如(1001)2和(0111)2,同时在两个七段译码显示器上显示出对应的十进制数9和7;第二步通过开关选择运算方式加或者减;第三步,若选择加运算方式,所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。
设计过程(步骤)或程序代码:实验电路:1:减法电路的实现:(1):原理:如图1所示(如下),该电路功能为计算A-B。
若n位二进制原码为N原,则与它相对应的补码为N补=2n-N原,补码与反码的关系式为N 补=N反+1,A-B=A+B补-2n=A+B反+1-2n(2):因为B○+1= B非,B○+0=B,所以通过异或门74LS86对输入的数B求其反码,并将进位输入端接逻辑1以实现加1,由此求得B的补码。
加法器相加的结果为:A+B反+1,(3):由于2n=24=(10000)2,相加结果与相2n减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号。
实验一 两位十进制计数器
实验一两位十进制计数器一实验目的二实验要求三实验内容及步骤(1)两位十进制计数器项目的建立1 新建一个文件夹作为工程项目的记录2 创建工程项目运行QUARTUS2软件,建立工程,方法是选择file菜单下执行new project wizard 命令(2)基于QUARTUS2的两位十进制计数器的原理图设计建立原理图文件1 运行QUARTUS2软件,选择file菜单执行new。
的命令2 选择block diagram/schematic file 流程图和原理图文件,单击ok进入原理图编辑界面,即建立一个空的原理图文件3元件的选择和放置在原理图编辑区单击鼠标右键或双击鼠标左键,在对应的Name输入相应的名字,即可调出。
选择Repeat-insert mode 即可重复调用4修改输入输出元件(引脚)属性双击任意一个元件,即可修改元件参数5 电路图连线注意网络标号的放置,用鼠标单击线条,则该线处于选中状态,再按右键,选择properties,即可填入网络标号6 保存原理图文件Ctrl+s 或点击file菜单中的save保存,就生成了原理图文件7原理图基于QUARTUS2的两位十进制计数器的编译QUARTUS2的编译方法是选中processing菜单的start compliation 项或者单击快捷键按钮进行编译基于QUARTUS2两位十进制计数器的功能测试1 新建波形文件选择菜单file中的new。
命令,选择verification/debugging中的vector waveform file方式后单击ok按键,进入QUARTUS2波形编辑器在name栏下的空白处双击鼠标,出现insert node or bus对话框,单击node finder 按钮,选择引脚2 设置仿真时间区域在edit菜单中选择end time 项,在弹出的,设置整个仿真的时间,单击ok执行edit菜单中的grid size 。
数电实验报告:计数器及其应用-计数器应用实验报告
数字电子技术实验报告实验四:计数器及其应用一、实验目的:1、熟悉常用中规模计数器的逻辑功能。
2、掌握二进制计数器和十进制计数器的工作原理和使用方法。
二、实验设备:1、数字电路实验箱;2、74LS90。
三、实验原理:1、计数是一种最简单基本运算,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时具有分频功能。
计数器按计数进制分有:二进制计数器,十进制计数器和任意进制计数器;按计数单元中触发器所接收计数脉冲和翻转顺序分有:异步计数器,同步计数器;按计数功能分有:加法计数器,减法计数器,可逆(双向)计数器等。
2、74LS90是一块二-五-十进制异步计数器,外形为双列直插,NC表示空脚,不接线,它由四个主从JK触发器和一些附加门电路组成,其中一个触发器构成一位二进制计数器;另三个触发器构成异步五进制计数器。
在74LS90计数器电路中,设有专用置“0”端R0(1),R0(2)和置“9”端S9(1)S9(2)。
其中前两个为异步清0端,后两个为异步置9端。
CP1, CP2为两个时钟输入端;Q0~Q3为计数输出端。
当R1=R2=S1=S2=0时,时钟从CP1引入,Q0输出为二进制;从CP2引入,Q3输出为五进制。
时钟从CP1引入,二Q0接CP1,则Q3Q2Q1Q0输出为十进制(8421码);时钟从CP2引入,而Q3接CP1,则Q0Q3Q2Q1输出为十进制(5421码)。
四、实验原理图及实验结果:1、实现0~9十进制计数。
1)实验原理图如下:(函数信号发生器:5V 3Hz 偏移2.5V方波)2)实验结果:解码器上依次显示0~9十个数字。
2、实现六进制计数。
1)实验原理图如下:(函数信号发生器:5V 3Hz 偏移2.5V方波)2)实验结果:解码器上依次显示0~5六个数字。
3、实现0、2、4、6、8、1、3、5、7、9计数。
1)实验原理图如下:(函数信号发生器:5V 3Hz 偏移2.5V方波)2)实验结果:解码器上依次显示0、2、4、6、8、1、3、5、7、9十个数字。
微机实验两个多位十进制数相加的实验
实验2 两个多位十进制数相加的实验一、实验目的1. 学习数据传送和算术运算指令的用法。
2. 熟悉在PC机上建立、汇编、连接、调试和运行8088汇编语言程序的过程。
二、实验内容将两个多位十进制数相加,要求被加数均以ASCII码形式各自顺序存放在以DA TA1和DA TA2为首的5个内存单元中(低位在前),结果送回DA TA1处。
附加题要求将加法过程显示与屏幕。
同学可以自己设计程序也可对代码段进行填空以及问答来完成程序。
(附加题范例在第二页);该程序完成54321+54321=108642的多位十进制加法运算,和存放与DAT3DATA SEGMENTDAT1 DB'12345';问一个多位十进制数各位是以何种顺序存放于内存的。
DAT2 DB'12345';个位存放于高地址或者为低地址。
DAT3 DB 6 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,DAT1LEA SI,DAT2LEA DI,DAT3MOV CX,5CLC ;为什么要加入这条指令L1: MOV AL[BX]ADC AL,[SI] ;BYTE PTR[BX]+[SI]+CF→AL 例‘1’+‘1’+0= 62H→AL__________;填空________________; AL=02HPUSHF;为什么要加入pushf popf这两条指令OR AL,30H;为什么要加入这条指令POPFMOV [DI],AL__________;填空__________________;填空__________________ ;填空________LOOP L1JNC L2MOV [DI],31HINC DIhltCODE ENDSEND START三、程序框图(见下页)附加题1范例;该程序完成54321+54321=108642的多位十进制加法运算,和存放与DAT3并显示于屏幕DATA SEGMENTDAT1 DB'12345';问一个多位十进制数各位是以何种顺序存放于内存的。
十进制计数器实验报告
十进制计数器实验报告十进制计数器实验报告引言:计数器是数字电路中常见的一种电子元件,用于计数和记录输入脉冲的次数。
在数字系统中,常用的计数器有二进制计数器和十进制计数器。
本实验旨在设计和实现一个十进制计数器,并通过实验验证其功能和性能。
一、实验目的本实验的主要目的是设计和实现一个十进制计数器,通过实验验证其功能和性能。
具体目标包括:1. 理解和掌握十进制计数器的工作原理;2. 学习使用逻辑门电路和触发器实现计数器;3. 验证计数器的计数功能和稳定性。
二、实验原理1. 十进制计数器的工作原理十进制计数器是一种能够在十进制数系统中进行计数的电子装置。
它通常由多个触发器和逻辑门组成,每个触发器负责计数一个十进制位。
当触发器的输出达到最大值时,会发出一个进位信号,使下一位触发器计数加1。
通过这种方式,十进制计数器能够实现从0到9的循环计数。
2. 实验所用材料和器件本实验所用的材料和器件包括:- 逻辑门电路芯片(如74LS08、74LS32等)- 触发器芯片(如74LS74)- 电路连接线- 电源供应器- 示波器三、实验步骤1. 搭建十进制计数器电路按照实验原理中所述的十进制计数器的工作原理,搭建一个十进制计数器电路。
根据实验所用的材料和器件,选择逻辑门电路芯片和触发器芯片,将它们按照正确的连接方式连接起来。
确保连接的准确性和稳定性。
2. 进行计数器功能测试将电源供应器连接到电路上,给予适当的电压和电流。
使用示波器观察计数器的输出波形,并记录下每个触发器的计数值。
通过观察波形和计数值,验证计数器的计数功能是否正常。
3. 进行计数器稳定性测试在计数器正常计数的情况下,观察计数器的稳定性。
持续观察一段时间,记录下计数器的计数值是否保持稳定。
如果计数器的计数值在一段时间内保持不变,则说明计数器具有较好的稳定性。
四、实验结果与分析根据实验步骤所述,我们搭建了一个十进制计数器电路,并进行了功能测试和稳定性测试。
实验结果显示,计数器的计数功能正常,能够从0到9循环计数。
实验2运算器ALU实验
实验2 运算器ALU实验运算器ALU是CPU的主要部件,数据处理的中心。
ALU可以实现算术加减运算和逻辑“与”、“或”、“非”运算,本实验设计8位ALU,为完成8为ALU,我们从1位全加器设计开始,经1位加法器,4位加法器,4位加减法器,到4位算术逻辑运算器ALU;再由4位ALU到8位ALU。
2.1 1位加法器设计1位加法器是构成多位加法器的基础,通过1位加法器可以组成4位加法器,4位减法器。
因此,本实验首先从1位全加器开始。
2.1.1 实验题目1位全加器。
2.1.2 实验内容设计1位全加器,并通过输入波形图验证。
2.1.3 实验目的与要求通过本实验使学生进一步掌握电子电路的设计方法,熟悉CAD软件QuartusII的使用,掌握使用QuartusII仿真来验证电路设计正确性的方法。
2.1.4 实验步骤设置本实验的项目所在路径,命名项目的名称为1ALU,顶层文件的名称也自动命名为1ALU。
如在文件夹C:\eda\ALU下新建工程1ALU,如图2-1 新建工程1ALU所示。
图2-1 新建工程1ALU直接点击next,直到器件选择对话框,如图2-2所示。
这里根据最终使用的FPGA器件选择一种器件,如Cyclone下的EP1C3T144C8,如果不下载到FPGA上进行实验,选择哪一种器件都无所谓。
图2-2 实现器件选择指定设计、仿真和时序验证工具,如图2-3所示,点击next,完成工程建立。
图2-3 工具选择设计1位全加器FA1位全加器是指可以实现两个1位二进制数和低位进位的加法运算逻辑电路(半加器不包括低位进位C i-1)。
它依据的逻辑表达式是:进位C i=A i B i+A i C i-1+B i C i-1,和S i=A i⊕B i⊕C i-1(本算式推导过程可以在教材中找到)。
其中A i和B i是两个1位二进制数,C i代表向高位的进位,C i-1代表低位来的进位,S i代表本位和。
依据上述逻辑表达式,设计实现1位全加的电路图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二多位十进制数加法实验
一、实验目的
1.熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。
2.掌握数据传送和算术运算指令的用法。
3.熟悉和掌握用DEBUG调试程序的方法。
二、实验内容
将两个多位十制数4678和2556相加,要求加数和被加数均以ASCII码形式各自顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回DATAl处,并显示结果。
操作步骤:
打开MASM文件夹,检查我们要用到的四个文件,MASM.EXE,LINK.EXE,。
1.进入EDIT编辑环境建立和修改汇编源程序文件(文件名要以.ASM结尾)
2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)
3.用LINK命令连接目标文件以产生可执行文件(EXE文件)
4.用DEBUG调试,记录调试过程,
5. 运行可执行程序。
三、实验报告要求
1.整理运行正确的源程序,加上注释。
2.写出程序运行结果。
3.总结应用DEBUG调试程序的方法。
4.回答思考题。