历史上的今天

今天是:2024年11月15日(星期五)

2019年11月15日 | PIC的35条指令扭曲理解法

发布者:DreamBig123 来源: 51hei关键字:PIC  35条指令  扭曲理解法 手机看文章 扫描二维码
随时随地手机看文章

以下理解纯属恶搞,例子使用搜狗输入法输入,全角还是半角的懒得理了!


第一条当然是NOP,
NOP 垃圾指令
操作数:垃圾当然不用说最好是没有的就好!
指令编码:00 0000 0xx0 0000   这个全是0啦,还要xx
执行时间:清理垃圾也要一个指令的
执行过程:扫垃圾,除了清理外其他什么都没变
状态标志:垃圾当然无视
说明:这个垃圾除了用来浪费时间外什么也实现不了,一般用来延时
指令例子:   

BSF         PORTB,0      ;   PORTB  端口0输出高电平
NOP                      ;丢个垃圾浪费下时间让IO输出稳定

第二条应该是MOVWF

MOVWF  拆开 解释一下先,
MOV就是寄存器缩写的意思,
W就是一个叫W的SB老爸给它起的名字,
F==??发(fa的缩写?),发送或者传送的意思,
整个串起来就是把W寄存器里面的数传到数据寄存器

语法形式:MOVWF     f
操作数:f是数据寄存器的低7位地址(0x00-0x7f)
指令编码:00 0000 1fff ffff  (要反反复复)

执行时间:一个指令周期

执行过程:把W那个SB的数传送到数据寄存器 里面,W那个SB是不会变的
状态标志影响:无
说明:一般是给数据寄存器赋值(给别人做嫁妆啦)
指令例子:     

MOVLW    0x55    ;W那个SB在吃饭 
MOVWF    Data    ;W那个SB给人家添饭

             ;Data = 0x55  

第三条   MOVF   寄存器发送
把数据寄存器的数传到目的寄存器
语法形式:MOVF    f,d
操作数:        f是数据寄存器的低7位地址(0x00-0x7f)
            d=w,这d真虚伪,把W添的饭又退回去了!
         d=f,这d真坏,把饭又拿回来,还看看碗里的饭是不是没了!
指令编码:    00 1000 dfff ffff (是人都讨厌的d竟然还要定了得反反复复)
执行时间:    一个指令周期  (还好只用了一个,要不然跑不了非得被人家敲死)
执行过程;     [f] -d  (连数据寄存器都要给d给恶搞了)
状态标志影响:  Z      (搞成这样子要是Z还没被影响的绝对是个SB)
说明:    这个指令通过W寄存器把数据寄存器的数传到别的地方,或者对数据寄存器判0操作,如果发现是0就会把标志Z置位。(这家伙够坏的吧,先把W那个SB当跳板把数据寄存器的饭搞到别的地方去,还要看看碗里是否有饭,没饭的话就大呼小叫的!)
指令例子:   

例1    ;数据传送
MOVF    Var1,w    ;Var1把饭添给W那个SB
MOVWF   Var2      ;W那个SB只能当传饭的传送给Var2
              ;Var2 = Var1 (不用说这碗饭是不变的)
例2    ;数据判0(看看这个饭碗里面有没有饭)
MOVF    Var3,f     ;Var3的数被传送给自身(Var3添完饭后给自己)
BTFSC    STATUS,Z   ;如果Var3不等于0就会跳到下一指令(自己给自己添饭就这样的)
GOTO    Var3Zero    ;如果Var3等于0就转做相关操作(自己添不到饭肯定要干别的了)


第四条 CLRW  W寄存器的数清0(W这个SB的饭被抢了)
CLR就是清除的缩写,W。。。。。。这个SB又被搞了。。。。。。无语中
语法形式:   CLRW
操作数:    无(饭都被抢了还吃个毛啊)
指令编码:   00 0001 0000 0011 (被抢了还幺幺的叫)
执行时间:   一个指令周期(抢的速度也不慢啊)
执行过程:   0x00 - W  (饭就这样被抢了)
       1 - W  (要是不叫才怪了)
状态标志影响:Z              (W叫得也不小,把Z给惊动了)
说明:该指令对W寄存器清0,同时置位0标志Z,另外有一条指令movlw 0x00也可以使W寄存器清0,但不影响任何状态。(看来W的饭被抢也要看看谁抢的,l去抢的话连声都不干吭一声)


指令例子:CLRW  ;W=0(W的饭没了)

第五条 CLRF  数据寄存器的数清0 (看来连传送过程也会被抢)
语法形式:CLRF    f
操作数:f是数据寄存器的低7位地址(0x00-0x7f)指令编码:    00 0001 1fff ffff  (叫了两下就拂拂裤子就走了)
执行时间:一个指令周期 (抢的速度)
执行过程:

0x00 - f        (f被抢,还叫两声)
1 - Z    (结果还是把Z惊动)


状态标志影响:Z  (还是这个家伙被惊动)
说明:该指令对数据寄存器清0,同时置位0标志Z(f在传送过程中被抢,同时Z被惊动)
指令例子:CLRF TRISB ;端口B的所有I/O引脚设为输出模式(因为饭在传送中被抢了,结果全部挨饿)

第六条 ADDWF 数据寄存器的数和W寄存器相加
(传送中的饭和W的饭不满要求服务员加饭)
语法形式:ADDWF    f,d    (这次被搞的是f和d)
操作数:        

f是数据寄存器的低7位地址(0x00-0x7f)
d=f,结果放在数据寄存器内,W的数不变(饭加进f的碗里,W碗里的饭没变)
d=w,结果放在W寄存器里,数据寄存器的数不变(饭加进W碗里去了,f碗里不变)


指令编码:00 0111 dfff ffff  (都是叫饭的)
执行时间:一个指令周期(加饭的效率也够快的)
执行过程:[f] + [W] -d
状态标志影响:Z  DC  C (加饭要求惊动了睡觉的家伙和服务员还有煮饭的家伙)
说明:数据寄存器的数和W寄存器相加,结果按照d指定的目的地存数
(送饭的和W要求加饭,结果按照d指定放在哪个碗里面)
指令例子:    

MOVLW 0x55 ;W=0x55,假定 Sum=0xaa(W碗里有小半碗饭,假定sun碗里有大半碗)  
ADDWF Sum,f   ;W不变,Sum=0xff(W碗里没加成,Sum加满了) 

关键字:PIC  35条指令  扭曲理解法 引用地址:PIC的35条指令扭曲理解法

上一篇:pic16f887单片机用AD590高精度测温的电路和程序
下一篇:IO模拟串口之中断方式发送(后台运行?)

推荐阅读

        11月13日上午,银隆新能源股份有限公司(以下简称“银隆新能源”)发布公告称,公司原董事长魏银仓、原总裁孙国华涉嫌通过不法手段,侵占公司利益超过10亿元。目前,银隆新能源已向珠海市中级人民法院提起民事诉讼,并向珠海市公安局经侦支队进行报案。  而魏银仓的回应同样针锋相对。在银隆新能源发布公告几个小时之后,魏银仓向媒体回...
1:atmega8a,不能仿真,但是atmega88的管脚和mega8a是完全兼容的,资源也类似,可以先用 88仿真再移植。2:定时器1相关的16位寄存器,高位是有个暂存器的,这个暂存器是寻址不到的,仿真器也看不到这个暂存器,先写高位数据是先进入暂存器,这时看不出任何变化,只有写低位的时候,才能看到高位同时写入了,而且发现,仿真的时候这段代码如果单步执行,...
随着本周苹果推出带有 M1 芯片的新款 MacBook Pro,MacBook Air 和 Mac mini 机型,也标志着苹果正式从英特尔处理器过渡的开始,而这三款机型也仅仅是开始。苹果重申向 Apple Silicon 的过渡将需要大约两年的时间才能完成。苹果公司没有透露下一步哪款机型将使用 M 系列芯片,但是到目前为止,以下机型最有可能成为下一批配备 M 系列芯片...
广告摘要声明广告撰文 | 歌者10月28日,由高工移动机器人、高工机器人产业研究所(GGII)主办的 2021(第二届)高工移动机器人年会数智生态专场上,天眸光电总经理程刚发表了《激光雷达的技术发展和产业应用》的主题演讲。程刚分析,目前激光雷达的发展技术路线按扫描方式有无机械转动部件主要可分为:机械式、混合固态、固态;而混合固态又可分为MEMS...

史海拾趣

问答坊 | AI 解惑

应用技巧/基于单片机的电力监控系统交流采样技术的实现

系统采用8031单片机实现电力参数的交流采样,通过LED显示器显示频率、电压、电流的实时值,在过压30%、欠压30%时进行声光报警,并能定时打印电压、电流及频率值。实践证明,采用交流采样方法进行数据采集,通过算法运算后获得的电压、电流、有功 ...…

查看全部问答∨

做模拟设计的需要读博士吗

做模拟设计的需要读博士吗…

查看全部问答∨

CAMERA DRIVER 中的pin驱动是什么意思?

高分求助:CAMERA DRIVER 中的pin驱动是什么意思?  …

查看全部问答∨

求助:各位大哥可以给我一个 CF 卡转 IDE 的原理图吗?非常感谢!

求助: 各位大哥可以给我一个 CF 卡转 IDE 的原理图吗? 非常感谢!…

查看全部问答∨

omron SYSMAC 问题。哪位大哥大哥能不能帮忙解决下啊!!!

omron SYSMAC CJ系列函数ReadMemoryBit总是报异常,提示读取数据超时? Exception: OMRON.FinsGateway.Messaging.FgwMsgException Message: 受信超时。 Source: SysmacCompolet    at OMRON.Compolet.SYSMAC.SysmacPlc.InternalExecu ...…

查看全部问答∨

奇怪的函数!(能不能帮我看一下)

unsigned char ChangeForm(unsigned char BData) //这个函数是按位(bit)记的char转换为char 如 BData=0000,1000 转换为 CData=3即0x03   1000,0000转换为7即是0x07 {         unsigned char CData;  &nb ...…

查看全部问答∨

工控数字信号的典型输入电路(结贴的给高分)

至于数字电路,大家可能觉得很简单,但做为控制器的输入,要求稳定可靠无干扰,具有过压过流保护,是应该必备的条件.所以想看看大家有没有好的实用电路贴出来供大家分享! …

查看全部问答∨

IDC机房远程电源控制解决方案与相关解决方案

智能PDU(Reachctrl Power)技术优点   ●通过对原有家用型插线板的替换,达到工业级供电标准,消除火灾、触电等安全用电隐患;使用全硬件设备,无需安装其他软件或插件,通过网页浏览器便可实现对设备的管控。    ●通过浏览器,输入设备 ...…

查看全部问答∨

一个奇怪的问题

                                 我的程序在 debug全速运行的时候 不会死机     如果单独上电运行 运行十几 几十分钟 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved