Code Monkey home page Code Monkey logo

simple-alu's Introduction

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

水平有限,有很多错误,勉强能够应付作业。如果对你有帮助,希望能点个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

simple-alu's People

Contributors

panghutx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.