Re: [問題] 請問8051 組合語言 怎麼把兩組PORT的值 …
總之因為推文很麻煩,推錯了又不能改,所以…
我的方法一向是以簡單直覺為主,大家可能會覺得方法有點笨,不過應該很好理解
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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章