2016-05-12 3 views
-5

誰でも私にこれを持たせることができます。アセンブリデジタルラムSim計算機

電卓:

電卓を作成するには、Digital Lab Simを使用します。 /*-+提供:

  • aため+
  • bため-
  • cため*
  • dため/
  • f=
  • 0123について具体的な

:あなたは数を打つとき、それはLEDで表示さ

  • 、表示のみ2つの下の数字。例:1ディスプレイ01を押して、次にディスプレイ12を押します。3ディスプレイ23を押した場合。 LEDに結果を表示するプレス番号、プレス+-*/
  • プレスf=)後
+0

ようこそStackOverflow。私たちはあなたの宿題をしません。何を試しましたか?少し努力してください。 –

+0

よく私は番号を表示し、あなたが押したときに割り込みのためにスキャンしようとしました。 –

答えて

0
.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. 
+0

これは答えではないので、これを質問テキストに貼り付けてください。だから、デバッグを試みましたか?期待どおりに動作しない回線はありますか? –