久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4002|回復: 0
打印 上一主題 下一主題
收起左側

PIC的35條指令扭曲理解法

[復制鏈接]
跳轉到指定樓層
樓主
ID:127542 發表于 2016-6-21 16:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
以下理解純屬惡搞,例子使用搜狗輸入法輸入,全角還是半角的懶得理了!


第一條當然是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加滿了)  







分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国产乱码久久久久久蜜臀 | 免费在线观看一区二区 | 国产精品久久久久无码av | 日日干日日操 | a级在线免费观看 | 亚洲免费av一区 | 中文在线一区 | 99视频网| 亚洲免费成人 | 羞羞在线视频 | 超碰8 | av国产精品| 在线欧美小视频 | 免费a网 | 一区二区国产精品 | 成人在线视频免费观看 | 欧美人妖网站 | 国产一区精品 | 亚洲一区成人 | 欧美在线a | 色偷偷噜噜噜亚洲男人 | 亚洲影视在线 | 中文字幕一区二区三区精彩视频 | 亚洲一区二区综合 | 成人在线视频免费观看 | 成年人视频在线免费观看 | 五月天综合影院 | 亚洲国产精品一区二区第一页 | 亚洲国产区 | 在线免费观看日本 | 国产精品色婷婷久久58 | 国产美女黄色片 | 91亚洲免费 | 国产成人免费视频网站高清观看视频 | 欧美xxxx在线 | 一区二区三区四区视频 | 99精品欧美一区二区蜜桃免费 | 激情福利视频 | 欧美在线一区二区视频 | 一区二区三区在线电影 | 精品亚洲二区 |