1

スキームでnビットALUを作成していますが、これまでのところ1ビットALUがあります。誰かがこの問題にアプローチする方法を教えてもらえますか? その手順は次のとおりです。

手続きの形式は、

  (ALUn selection x1 x2 n)    

最初のパラメーターは、 、、、、またはselectionのいずれかの値を取ることができます。2 番目と 3 番目のパラメータとは、リスト形式の 2 つの n ビット 2 進数です。'add'sub'and'or'xorx1x2

4

1 に答える 1

1

and、または xor のコードは次のとおりです。

(define (ALUn selection x1 x2 n)
  (cond
    [(or (not (= (length x1) n)) (not (= (length x2) n))) (error "Wrong register length!")]
    [(equal? selection 'and) (map bitwise-and x1 x2)]
    [(equal? selection  'or) (map bitwise-ior x1 x2)]
    [(equal? selection 'xor) (map bitwise-xor x1 x2)]))

add と sub を自分で行う方法を理解する必要があります。

于 2012-04-10T12:31:31.297 に答える