Re: [問題] 請問8051 組合語言 怎麼把兩組PORT的值 …

看板ASM (組合語言)作者 (樹海游魂)時間15年前 (2009/09/25 02:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
總之因為推文很麻煩,推錯了又不能改,所以… 我的方法一向是以簡單直覺為主,大家可能會覺得方法有點笨,不過應該很好理解 mov a, P1 ; a = P1[7..0] swap a ; a = P1[3..0]P1[7..4] anl a, #0xF0 ; a = P1[3..0]0000 mov R0, a ; R0= P1[3..0]0000 mov a, P0 ; a = P0[7..0] anl a, #0x0F ; a = 0000P0[3..0] orl a, R0 ; a = P1[3..0]P0[3..0] 大概就是這樣 ※ 引述《nicebluesky (最長的電影)》之銘言: : 請問各位大師 : 我想寫一個程式 : 有關於感測器的 : 因為有兩組感測器 : 一組裡面有四個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: 123.204.29.88
文章代碼(AID): #1AkxsH-u (ASM)
文章代碼(AID): #1AkxsH-u (ASM)