作者ruemann (树海游魂)
看板ASM
标题Re: [问题] 请问8051 组合语言 怎麽把两组PORT的值 …
时间Fri Sep 25 02:42:23 2009
总之因为推文很麻烦,推错了又不能改,所以…
我的方法一向是以简单直觉为主,大家可能会觉得方法有点笨,不过应该很好理解
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