2017-01-27 4 views
0

にelse文は、任意の数である場合、それは表示されます7segmentのZは正しくありません だから、どこに問題がないのですか?誰でも問題を解決するのに役立つことができます。この数が偶数、奇数またはゼロ</p> <p>私が得た問題と同じである場合、私は、ユーザーが示されます符号なしの数や表示を入力するプログラムを記述する必要が68K

LEDS  EQU  $E00010     ;LEDS adress 
SW   EQU  $E00012     ;switch address 
BU   EQU  $E00014     ;button address 

one  EQU  $E00000     ;7 segment display address 1 

two  EQU  $E00002 
three  EQU  $E00004 
four  EQU  $E00006 
five  EQU  $E00008 
six   EQU  $E0000A 
seven  EQU  $E0000C 
eight  EQU  $E0000E 
      ORG  $400     ;start of program area 
START 



Loop 

     MOVE.B D0,LEDS  
      MOVE.B SW,D1 
      MOVE.B BU,D2 
      MOVE.B #0,D3 
      MOVE.B #0,D0     ; LEDS is off 
      MOVE.B #0,one     ;7 segment is off 
      MOVE.B #0,two 
      MOVE.B #0,three 
      MOVE.B #0,four 
      MOVE.B #0,five 
      MOVE.B #0,six 
      MOVE.B #0,seven 
      MOVE.B #0,eight  
      MOVE.B #%1101101,one    ;display S on 7 segment 
      NOT.B D2      ; flip value of button 
      CMP.B #%00000001,D2   ;if the right button is clicked 
      BNE  Loop     
      MOVE.B D1,D0  ;THEN MOVE SWICH VALUES ON LEDS 
      MOVE.B D0,LEDS 
      MOVE.B #0,one 
      CMP.B D1,D3 
      BEQ  ZERO 
      DIVS.W #2,D1     
      CMP.B D1,D3     ;IF D1=D3 WHICH ZERO, THEN 
      BEQ  EVEN      ; NUMBER IS ODD 
      BRA  ODD     ; ELSE DISPLAY EVEM 
EVEN   MOVE.B #%1111001,one    
ODD   MOVE.B #%0111111,one   
ZERO   MOVE.B #%1011001,one 

      END  START 
+0

すぐにゼロに。 – stark

+0

@ stark:ありがとう、しかし、私はintをもっと説明してくれるとはどういう意味ですか?あなたは{BRA Loop}である別の行を入れましたか? – nas2016

+0

ところで、 'DIV 'で奇数/偶数をテストする必要はありません。数値をバイナリ形式に分割すると、各ビットの値は2^iになります。 (1 <= i)の場合、2^i = 2 * 2 ^(i-1)であるため、値が2で割り切れることを意味します。唯一の例外は2^0 = 1です。これは2で割り切れません。つまり、最小値ビットを除いて、2のべき乗の2乗(1 <= i)で全体の値が構成されます。値1を持ちます。したがって、最下位ビットが設定されている場合に限り、バイナリ形式に変換された数値は奇数です。 regの最下位ビットをテストする。 'BTST#0、D1'' BEQ D1_is_even'を使うことができます。 – Ped7g

答えて

0

この:それがあるべきよう

BEQ  EVEN      ; NUMBER IS ODD 

はルックス:あなたにも必ず持っかもしれないので、あなたも、あなたは、ZEROに続いODDに至るまでドロップするブランチの後

BEQ  ODD      ; NUMBER IS ODD 
+0

私はそれを変更し、コードで編集しますが、 – nas2016

関連する問題