[英]LC3 Bit Counter
我試圖弄清楚如何在LC3匯編語言中實現位計數器。 例如:輸入“ 00001100001000001”,輸出“ 000000000000100”,我將計算位字符串中的位數並以二進制形式輸出該數值。 我知道如何一次給定一位,但是我不知道如何一次只能分析16位字符串中的一位。 謝謝。
您可以用幾種不同的方法來計算LC3中存儲的值的位數。
就個人而言,我將使用位掩碼方法,因為它既快速又有效,並且我不必擔心將代碼陷入困境。
一點掩碼如下所示:
B_MASK .FILL b1000000000000000
.FILL b0100000000000000
.FILL b0010000000000000
.FILL b0001000000000000
.FILL b0000100000000000
.FILL b0000010000000000
.FILL b0000001000000000
.FILL b0000000100000000
.FILL b0000000010000000
.FILL b0000000001000000
.FILL b0000000000100000
.FILL b0000000000010000
.FILL b0000000000001000
.FILL b0000000000000100
.FILL b0000000000000010
.FILL b0000000000000001
現在,您要做的就是創建一個循環,將每個掩碼值與您存儲的值進行“與”運算。 如果對它們進行“與”運算后得到正數,則只需將1加到位計數器,然后對其余的每個掩碼值重復該過程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.