assembly - 如何在 PIC (18F452) 上操作组件上的某些寄存器?
问题描述
我有一个名为 TEST 的寄存器,我想反转(切换?)第 1 位和第 2 位,并将 0 置于第 3 位和第 4 位。
我刚刚开始学习汇编,我不知道如何检查我的解决方案是否完全正确,请告诉我我是否在正确的轨道上?
这是我的建议:
movlw B'00000010' ;toggles/inverts the bit 1
xorwf TEST,F
movlw B'00000100' ;toggles/inverts the bit 2
xorwf TEST,F
bsf TEST, 3, 0 ;Sets the bit 3 to zero
bsf TEST, 4, 0 ;Sets the bit 4 to zero
解决方案
BSF
有点不清楚。
movlw B'00000110' ;toggles/inverts the bit 1 and 2
xorwf TEST, F
bcf TEST, 3 ;put zero to bit 3
bcf TEST, 4 ;put zero to bit 4
ANDWF
否则你可以用指令把你的位归零
molw 0b11100111
andwf TEST, F ;put bit 3 and 4 to zero
推荐阅读
- python - 使用静态文件填充随机图像 Python/Django
- python - 如何使字典值成为另一个值的键?
- python - discord.py 排序 json 并排名
- javascript - (Javascript)我需要制作一个函数,需要 180 + 用户输入的数字 \ 3 然后四舍五入到小时和分钟
- assembly - MIPS 程序集加载和存储内存地址
- kubernetes - 来自服务器的错误(未找到):找不到 podmetrics.metrics.k8s.io “mem-example/memory-demo”
- angular - 如何在 ngx-leaflet 中放置热图?
- python - BeautifulSoup如何解析没有标签的元素
- ruby-on-rails - Rails App中application.rb文件的解释
- python - 我会在 AWS 哪里收到 http 请求