一、实验目的
1、熟悉8位寄存器的读写操作
2、熟悉简单运算器的数据传送通路
3、验证运算器74LS181的算术逻辑功能
4、按给定数据,完成指定的算术、逻辑运算
二、实验内容
1、绘制仿真图。
2、输入A=0xaa,B=0x55,启动仿真前令ALU_EN=1。启动仿真后,#SW_BUS = 0,手动拨码开关向缓存器DRA和DRB分别写入两个8位二进制数A=0xAA和B=0x55;参照74LS181真值表设置ALU的控制信号组合(S3,S2,S1,S0,M,CN),进行算术运算(例如:“A加B”、“A减B”等)和逻辑运算(例如“A·B”、“ A+B”等)。再令#SW_BUS = 1, #ALU_OE =0,观察并且记录运算器ALU的输出端F和标志位CF、SF、ZF。(至少完成6种运算)。
3、输入A=0x12,B=0x67,进行算术运算和逻辑运算,观察并且记录运算器ALU的输出端F和标志位CF、SF、ZF。(至少完成6种运算)。
三、实验原理
1、参考电路图
2、74LS181的算术逻辑功能表
ALU(算术逻辑单元)能进行多种算术运算和逻辑运算。一个4位的ALU—74LS181运算功能发生器能进行16种算术运算和逻辑运算。
四、实验结果截图及说明
1、输入A=0xaa,B=0x55,选择实验材料P4474LS181真值表中共6个运算(3个算术运算,3个逻辑运算)进行实验,并截图说明;
(1)完成“算术运算F=A+B”实验,设置M=0,S3S2S1S0=0001,CN=1
运算结果截图:
(2)完成“算术运算F=(A+B)+1”实验,设置M=0,S3S2S1S0=0001,CN=0
运算结果截图:
(3)完成“逻辑运算F=/(A+B)”实验,设置M=1,S3S2S1S0=0011,CN=1
运算结果截图:
(4)完成“逻辑运算F=0”实验,设置M=1,S3S2S1S0=0011,CN=0
运算结果截图:
(5)完成“逻辑运算F=/(AB)”实验,设置M=1,S3S2S1S0=0100,CN=0
运算结果截图:
(6)完成“算术运算F=A+A/B+1”实验,设置M=0,S3S2S1S0=0100,CN=0
运算结果截图:
2、输入A=0x12,B=0x67,选择实验材料P4474LS181真值表中共6个运算(3个算术运算,3个逻辑运算)进行实验,并截图说明;
(1)完成“算术运算F=A+B”实验,设置M=0,S3S2S1S0=0001,CN=1
运算结果截图:
(2)完成“算术运算F=(A+B)+1”实验,设置M=0,S3S2S1S0=0001,CN=0
运算结果截图:
(3)完成“逻辑运算F=/(A+B)”实验,设置M=0,S3S2S1S0=0011,CN=1
运算结果截图:
(4)完成“逻辑运算F=/(AB)”实验,设置M=1,S3S2S1S0=0100,CN=0
运算结果截图:
(5)完成“算术运算F=A+A/B+1”实验,设置M=0,S3S2S1S0=0100,CN=0
运算结果截图:
(6)完成“逻辑运算F=A/B”实验,设置M=1,S3S2S1S0=0111,CN=0
运算结果截图:
四、实验过程中产生的问题及采取的措施
把遇到的问题解决的方法写出来。
问题:启动仿真前未使ALU_EN=1。
方法:请教老师,和同学一起讨论。