【问题标题】:Assembly Digital Lab Sim Calculator装配数字实验室模拟计算器
【发布时间】:2016-05-12 14:57:47
【问题描述】:

任何人都可以拥有这个。

计算器:

使用 Digital Lab Sim 构建计算器。提供+,-,*,/:

  • a+
  • b-
  • c*
  • d/
  • f=

具体:

  • 当您点击一个数字时,它会显示在 LED 中,仅显示 2 个底部数字。例如:按1显示01,然后按2显示12,如果按3显示23
  • 在按号码后,按+,-,*,/
  • f(=) 将结果显示到 LED。

【问题讨论】:

  • 欢迎来到 StackOverflow。我们不会为你做作业。你试过什么?请表现出一些努力。
  • 好吧,我尝试显示号码并在您按下时扫描中断。

标签: assembly calculator


【解决方案1】:
    .eqv SEVENSEG_LEFT 0xFFFF0011 # Dia chi cua den led 7 doan trai. 
                # Bit 0 = doan a; # Bit 1 = doan b; ... 
                # Bit 7 = dau . 
.eqv SEVENSEG_RIGHT 0xFFFF0010 
                # Dia chi cua den led 7 doan phai 
.text 
main: 
    li $a0, 0x6 # set value for segments 
    jal SHOW_7SEG_LEFT # show 
    li $a0, 0x7F # set value for segments 
    jal SHOW_7SEG_RIGHT # show 

exit: li $v0, 10 
    syscall 

endmain: 
#--------------------------------------------------------------- 
# Function SHOW_7SEG_LEFT : turn on/off the 7seg 
# param[in] $a0 value to shown # remark $t0 changed 
#--------------------------------------------------------------- 
SHOW_7SEG_LEFT: li $t0, SEVENSEG_LEFT # assign port's address 
    sb $a0, 0($t0) # assign new value 
    jr $ra #--------------------------------------------------------------- 
# Function SHOW_7SEG_RIGHT : turn on/off the 7seg 
# param[in] $a0 value to shown # remark $t0 changed 
#--------------------------------------------------------------- 
SHOW_7SEG_RIGHT: li $t0, SEVENSEG_RIGHT # assign port's address 
    sb $a0, 0($t0) # assign new value 
    jr $ra

display can but i dont know how to hit a button then display it.

【讨论】:

  • 请将代码粘贴到问题文本中,因为它不是答案。那么,您是否尝试过调试?哪条线路没有按预期工作?
猜你喜欢
  • 2021-11-05
  • 2022-11-05
  • 2019-03-02
  • 2020-05-23
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
  • 2021-11-15
  • 1970-01-01
相关资源
最近更新 更多