1
我在方案中製作n位ALU,並且我有一個1位ALU。 有人可以告訴我如何解決這個問題?下面是說明它:方案中的n位ALU
該程序的格式是
(ALUn selection x1 x2 n)
其中第一參數,
selection
可以取任何值的:'add
,'sub
,'and
,'or
,或'xor
。第二個和第三個參數x1
和x2
是列表格式的兩個n位二進制數。
我在方案中製作n位ALU,並且我有一個1位ALU。 有人可以告訴我如何解決這個問題?下面是說明它:方案中的n位ALU
該程序的格式是
(ALUn selection x1 x2 n)
其中第一參數,
selection
可以取任何值的:'add
,'sub
,'and
,'or
,或'xor
。第二個和第三個參數x1
和x2
是列表格式的兩個n位二進制數。
下面是代碼和,或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)]))
你應該弄清楚如何做補充和SUB自己!