实验一 算术逻辑运算实验
一、实验目的
掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制的组合功能。
二、实验原理
ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。AXW、BXW在“搭接态”由实验连接对应的二进制开关控制,“1”有效,通过【单拍】按钮产生的负脉冲把总线上的数据打入,实现AXW、BXW写入操作。
三、实验内容
(1)字算术运算 (2)字节算术运算 (3)字逻辑运算 (4)字节逻辑运算
四、实验过程
K23~K0置“0”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。 连信接入线 号孔 孔 1 2 3 DRCK W XP K K6(M6) K7(M7) CLOC作用 单元手动实验状态的时钟来源 总线字长:1=16位字操作,0=8位字节操作 源部件奇偶标志:1=偶寻址,0=奇寻址 有效电平 下降沿打入
4 5 6 7 8 9 10 11 12 13 W W X2 X1 X0 M S2 S1 S0 OP AXBXK10(M10) K9(M9) K8(M8) 源部件定义译码端X2 源部件定义译码端X1 源部件定义译码端X0 码 三八译八中选一 K15(运算控制位:1=算术运算,0=逻辑M15) 运算 K13(M13) K12(M12) K11(M11) 运算状态位S2 运算状态位S1 运算状态位S0 K16(目标部件奇偶标志:1=偶寻址,0=M16) 奇寻址 K17(AX运算寄存器写使能,本例定义到高电平M17) M17位 有效 K18(BX运算寄存器写使能,本例定义到高电平M18) M18位 有效
1. 字算术运算 (1) 字写操作
通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下:
数据来源I/O单元X2 X1 X0=011XP W=11置数I/O=1122h寄存器AX(1122h)AXW(K17)=1BXW(K18)=0OP=1,按[单拍]置数I/O=3344h寄存器BX(3344h)AXW(K17)=0BXW(K18)=1OP=1,按[单拍](2) 字读操作
关闭AX、BX写使能,按下流程分别读AX、BX。
关闭写使能AXW(K17)=0BXW(K18)=0读FUNX2 X1 X0=001XP W=11数据总线显示AX值M=0S2 S1 S0=000数据总线显示BX值M=0S2 S1 S0=111
(3) 字加法与减法运算
令M S2 S1 S0(K15 K13 K12 K11=1011),FUN及总线单元显示AX+BX的结果。 令M S2 S1 S0(K15 K13 K12 K11=1010),FUN及总线单元显示AX-BX的结果。 2. 字节算术运算
(1) 偶字节写(置数操作)
通过I/O单元“S15~S0”开关向累加器AL和暂存器BL置数,具体操作步骤如下:
数据来源I/O单元X2 X1 X0=011XP W=10置数I/O=XX22h寄存器AL(22h)AXW(K17)=1BXW(K18)=0OP=1,按[单拍]置数I/O=XX44h寄存器BL(44h)AXW(K17)=0BXW(K18)=1OP=1,按[单拍]
(2) 偶字节读操作(运算寄存器AL和BL内容送总线)
关闭AL、BL写使能,令K18=K17=0,按下流程分别读AL、BL。
关闭写使能AXW(K17)=0BXW(K18)=0读FUNX2 X1 X0=001XP W=10数据总线显示AL值M=0S2 S1 S0=000数据总线显示BL值M=0S2 S1 S0=111
(3) 字节减法算术运算(不带进位加) 令M S2 S1 S0(K15 K13~K11=1011),FUN及总线单元显示AL+BL的结果。 令M S2 S1 S0(K15 K13~K11=1010),FUN及总线单元显示AL-BL的结果。 3. 字逻辑运算
(1) 字写操作(置数操作)
通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下:
数据来源I/O单元X2 X1 X0=011XP W=11置数I/O=1122h寄存器AX(1122h)AXW(K17)=1BXW(K18)=0OP=1,按[单拍]置数I/O=3344h寄存器BX(3344h)AXW(K17)=0BXW(K18)=1OP=1,按[单拍]
(2) 字读操作(运算寄存器AX和BX内容送总线) 关闭AX、BX写使能,令K18=K17=“0”,按下流程分别读AX、BX。
关闭写使能AXW(K17)=0BXW(K18)=0读FUNX2 X1 X0=001XP W=11数据总线显示AX值M=0S2 S1 S0=000数据总线显示BX值M=0S2 S1 S0=111
(3) 字逻辑运算
令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AX逻辑与BX的结果。 令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AX逻辑或BX的结果。 4. 字节逻辑运算
(1) 偶字节写操作(置数操作)
通过I/O单元“S15~S0”开关向累加器AL和暂存器BL置数,具体操作步骤如下:
数据来源I/O单元X2 X1 X0=011XP W=10置数I/O=XX22h寄存器AL(22h)AXW(K17)=1BXW(K18)=0OP=1,按[单拍]置数I/O=XX44h寄存器BL(44h)AXW(K17)=0BXW(K18)=1OP=1,按[单拍]
(2) 偶字节读操作(运算寄存器AL和BL内容送数据总线) 关闭AL、BL写使能,令K18=K17=0,按下流程分别读AL、BL。
关闭写使能AXW(K17)=0BXW(K18)=0读FUNX2 X1 X0=001XP W=10数据总线显示AL值M=0S2 S1 S0=000数据总线显示BL值M=0S2 S1 S0=111
① 若运算控制位设为(M S2 S1 S0=0000)则FUN=AL,即AL内容送到数据总线。 ② 若运算控制位设为(M S2 S1 S0=0111)则FUN=BL,即BL内容送到数据总线。 (3) 偶字节逻辑运算
令M S2 S1 S0(K15 K13~K11=0010),为逻辑与,FUN及总线显示AL逻辑与BL的结果。 令M S2 S1 S0(K15 K13~K11=0011),为逻辑或,FUN及总线显示AL逻辑或BL的结果。
相关推荐: