2
遞歸倒車位,我想遞歸扭轉這些位。
例如,1001 1110 0010 0110變成0110 0100 0111 1001.在給定的16位序列彙編語言
我只能訪問ADD,AND和NOT。
子程序接受2個參數,其餘被反轉的比特的數量和所述比特值。它返回結果。
我試圖想辦法做到這一點。離開0000 0000 0000 0001啓動,並與自身增加它的位數要處理的左-1倍,然後在位模式傳遞的安定這些位:這是突然出現在我的腦海中有位序列的一件事。問題是這看起來很不夠用,而且我不確定如何存儲結果來反轉這些位。
對此有何提示?這是作業,所以只是提示請:) :)
我假設你被允許使用某種跳轉嗎?那麼MOV和CMP和測試呢? – user470379 2011-03-21 03:43:55
是的。跳躍,分支,那種事情。我沒有這些。但是,當我使用ADD,AND或NOT時,會設置3個條件代碼,即Negative,Zero和Positive。我可以使用這些來確定我想要分支的位置。我沒有MOV CMP或測試。 – CPlayer 2011-03-21 03:49:23