[問題] 請問8051 組合語言 怎麼把兩組PORT的值丟在累積器A裡面動作?

看板ASM (組合語言)作者 (最長的電影)時間15年前 (2009/09/25 00:01), 編輯推噓2(2011)
留言13則, 2人參與, 最新討論串1/1
請問各位大師 我想寫一個程式 有關於感測器的 因為有兩組感測器 一組裡面有四個CYN70 由於硬體的關西 第一組感測器所用到的腳位是 P0.0 P0.1 P0.2 P0.3 第二組是 P1.0 P1.1 P1.2 P1.3 想把兩組的值 都放進累積器A裡面 變成 P1.3 P1.2 P1.1 P1.0 P0.3 P0.2 P0.1 P0.0 這樣子擺放在A理面來執行其他動作指令 不知道該怎模樣才可以同時存入 是先把某一組先位移嗎? 如果是以下這樣寫法可行嗎? MOV A,P1 RR A RR A RR A RR A MOV A,P0 麻煩高手指點 THX~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.170.43

09/25 02:25, , 1F
有個指令叫swap
09/25 02:25, 1F

09/25 02:28, , 2F
mov a, p1
09/25 02:28, 2F

09/25 02:32, , 3F
你的寫法有一個問題就是最後面的mov直接把A覆蓋掉了
09/25 02:32, 3F

09/25 02:32, , 4F
要達成你的要求,無論如何還是需要一個額外的暫存器來存值
09/25 02:32, 4F

09/25 02:34, , 5F
anl a, #0xF0
09/25 02:34, 5F

09/25 02:34, , 6F
mov R0, a
09/25 02:34, 6F

09/25 02:34, , 7F
mov a, p0
09/25 02:34, 7F

09/25 02:34, , 8F
anl a, #0x0F
09/25 02:34, 8F

09/25 02:35, , 9F
orl a, R0
09/25 02:35, 9F

09/25 02:35, , 10F
然後 a 就是你要的東西
09/25 02:35, 10F

09/25 02:35, , 11F
……囧……少key一行
09/25 02:35, 11F

09/25 02:41, , 12F
感謝大師指點
09/25 02:41, 12F

09/25 02:43, , 13F
回在下面了,看看有沒有大師要鞭我……XD
09/25 02:43, 13F
文章代碼(AID): #1AkvVYm4 (ASM)
文章代碼(AID): #1AkvVYm4 (ASM)