Skip to content

panghutx/simple-alu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

计算机原理实践作业:简单运算器的设计与实现

水平有限,有很多错误,勉强能够应付作业。如果对你有帮助,希望能点个Star⭐


功能介绍

  • 输入数据:获取用户选择的两个数的二进制形式。
  • 功能选项:I5、I4、I3组成000-111八种选择,对应运算器的八种功能。
  • 加法操作:功能菜单选择000,完成两数的加法操作。
  • 减法操作:功能菜单选择001,完成两数的减法操作。
  • 乘法操作:功能菜单选择010,完成两数的乘法操作。
  • 或操作:功能菜单选择011,完成两数的或运算操作。
  • 与操作:功能菜单选择100,完成两数的与运算操作。
  • 与运算的反操作:功能菜单选择101,完成两数的与运算的反操作。
  • 异或操作:功能菜单选择110,完成两数的异或操作。
  • 同或操作:功能菜单选择111,完成两数的同或操作。
  • 进位显示:根据两数运算后的结果,计算是否进位,输出进位显示,产生进位为1,没有进位为0。
  • 溢出显示:根据两数运算后的结果,计算是否溢出,输出溢出显示,显示结果为“Yes”或“No”。
  • 正负判断:根据两数运算后的结果,判断正负,输出判断结果,正数显示为“Positive”,负数显示为“Negative”。
  • 输出结果:将操作数运算后的结果以指示灯的形式显示,1为亮灯,该实验设计成绿色,0为灭灯,默认白色。
  • IR寄存器:存放功能选择的指令,有000-111八种指令,将选择功能后的指令显示在寄存器上。
  • ACC寄存器:存放操作数的运算结果,将运算后的结果显示在ACC上,该结果与输出显示的指示灯结果相对应。

功能演示

指令000,加法操作

0111 1111 与 0000 0011 进行加法操作,发生了溢出,结果为负数,IR寄存器是000,ACC寄存器是10000010

img

指令001,减法操作

0000 0111 与 0000 0001 进行减法操作,没有溢出,结果为正数,IR寄存器是001,ACC寄存器是00000110

img

指令010,乘法操作

0000 1111 与 0001 0000 进行乘法操作,发生了溢出,结果为负数,IR寄存器是010,ACC寄存器是11110000

img

指令011,或操作

0001 0000 与 0000 1110 进行或操作,结果为正数,IR寄存器是011,ACC寄存器是00011100

img

指令100,与操作

0001 1100 与 0001 1000 进行与操作,结果为正数,IR寄存器是100,ACC寄存器是00011000

img

指令101,与操作取反

0000 1110 与 0001 1000 进行与操作后取反,结果为负数,IR寄存器是101,ACC寄存器是11110111

img

指令110,异或运算

1111 0000 与 0110 1000 进行异或运算,结果为负数,IR寄存器是110,ACC寄存器是1001100

img

指令111,同或运算

0011 0000 与 0011 1100 进行同或运算,结果为负数,IR寄存器是111,ACC寄存器是11110011

img

About

简单运算器的设计与实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published