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

立即注冊(cè) 登錄
返回首頁

uid:89408的個(gè)人空間

日志

我的匯編語言學(xué)習(xí)筆記

已有 1122 次閱讀2015-9-5 10:01 | 單片機(jī)

單片機(jī)學(xué)習(xí)筆記

一、        單片機(jī)的指令系統(tǒng)

1,指令長(zhǎng)度可分為:?jiǎn)巫止?jié),雙字節(jié),三字節(jié)。

2,指令的格式:            標(biāo)號(hào):  操作碼 操作數(shù)或操作數(shù)地址;注釋

3,試列                              DELAY:      MOV                  R3,#0FFH          ;一段延時(shí)程序

二、        尋找操作數(shù)

注:以逗號(hào)后面尋找操作數(shù)的方式來確定是什么尋址方式

1,立即數(shù)尋址:立即找到操作數(shù),例:MOV   A ,   #55H

         例:MOV        Rn,            #01H

         Rn:工作寄存器00H——1FH

         MOV         DPTR,       #1FFFH

         DPTR:特殊功能寄存器兩個(gè)8DPH,DPL唯一一條16位傳輸指令

         MOV         70H(direct),     #88H

         Direct:一個(gè)通用單片內(nèi)部RAM地址,且只能是8位地址,要具體寫地址某個(gè)單元

         ADD          A,     #55H

         A的內(nèi)容加上后面這個(gè)立即數(shù),得到的值還要送去累加器A

         SUB           A,     #01

         A的內(nèi)容減去后面這個(gè)立即數(shù),得到的差值還要送給累加器A

         關(guān)鍵字符:“#”帶這個(gè)字符說明就是一個(gè)數(shù)據(jù)。

2,直接尋址:已知一個(gè)操作數(shù)的地址單元,可根據(jù)這個(gè)地址找到這個(gè)操作數(shù),直接給出單元的地址。

         例:MOV         A  20H

         20H這個(gè)地址單元里的操作數(shù)送到累加器A

         MOV         Rn,            30H

         Rn:工作寄存器

         MOV         @Ri,                   30H

 

         ADD          A,               30H

         SUB           A,               30H

        

3,寄存器尋址:以尋找已知寄存器地址的方式尋找。

         :MOV            P1,             A

         A寄存器里的值附到P1

         MOV         P1,             R4

         R4里面的內(nèi)容送P1

         CLR           A

         清除寄存器A里的值

4,寄存器間接尋址:先找到一個(gè)寄存器里存放操作數(shù)的內(nèi)部RAM地址再找到這個(gè)地址才能找到操作數(shù)。

         例:MOV         A,     @R0

         R0寄存器的內(nèi)容作為地址,這個(gè)地址所確定的單元的內(nèi)容送到累加器A

         MOVX       A,     @DPTR

         在外部寄存器DPTR里找到內(nèi)容作為地址,以這個(gè)地址找到所對(duì)應(yīng)的單元里的內(nèi)容送再到累加器A

         注:間接寄存器尋址只能在R0R1DPTR,里尋址

5,變址尋址:將兩個(gè)寄存器(ADPTRPC)相加所得到的值作為程序存儲(chǔ)區(qū)的地址來找到程序存儲(chǔ)區(qū)里的操作數(shù)

         例:MOVC      A,@A+DPTR

         將寄存器ADPTR兩個(gè)值相加所得到的值作為單元地址再尋找程序存儲(chǔ)區(qū)里的操作數(shù)

         MOVC      A,@A+PC

         將寄存器A里的內(nèi)容與下一條將要執(zhí)行的地址相加所得到的值作為單元地址在程序存儲(chǔ)區(qū)尋找操作數(shù)

6,相對(duì)尋址:相對(duì)尋址不需要操作數(shù),只是PC當(dāng)前執(zhí)行地址的一個(gè)轉(zhuǎn)移值,將PC轉(zhuǎn)移到指定的地方再執(zhí)行程序

         例:SJMP         03H

         將當(dāng)前PC所執(zhí)行的地址加03H所得到的值作為執(zhí)行地址

7,位尋址:查找單元里某位的值

         位尋址區(qū)20H2FH

         例:SETB                   3DH

         3DH里的值改成1

         CLR           3DH

         3DH里的值改0

 

                

三、     *指令系統(tǒng)

1、  數(shù)據(jù)傳送指令(29)

1MOV   <目的操作數(shù)>,<源操作數(shù)>8位傳送指令(15條)

 

 

216位數(shù)據(jù)傳送指令(1條)

MOV   DPTR,#date16

 

3)外部數(shù)據(jù)傳遞指令(4條)

MOVX    <目的操作數(shù)>,<源操作數(shù)>

 

 

 

取數(shù)

送數(shù)

3MOVC單片機(jī)與ROM之間的數(shù)據(jù)傳送

MOVC    A,@A+DPTR

MOVC    A,@A+PC

4)交換類指令(5條)

字節(jié)交換指令(3條)

XCH

  低半字節(jié)交換指令(1條)低4位進(jìn)行交換

  XCHD   A ,@Ri    這里假設(shè)i=0

  高半字節(jié)交換指令===4位交換

  SWAP  A

  交換他自己的高4位和低4

 

  5)堆棧操作指令(2條)

  PUSH direct   POP  direct(壓入和彈出)復(fù)位后SP=07H

     保護(hù)現(xiàn)場(chǎng)

  PUSH 33H

  PUSH 34H

 

  POP  恢復(fù)現(xiàn)場(chǎng)

  堆棧原則:后進(jìn)先出

 

 

 

2、  算術(shù)運(yùn)算類指令(24條)

  ADD   A ,

  ADDC   A,                    A+Rn+Cy

  Cy:是一個(gè)進(jìn)位標(biāo)志

  SUBB   A,

  ——BCD 調(diào)整指令(1條)

  DA        A

  含義:以二進(jìn)制的形式來描述十進(jìn)制數(shù)。

  進(jìn)行ADDADDC加法運(yùn)算的后面

  8421BCD

  乘法指令(條)

  MUL     AB

  AB里的內(nèi)容相乘

  A中存放結(jié)果的低8

  B中存放結(jié)果的高8

  例:MOV   A,  #02H

      MOV   B,  #03H

      MUL   AB

      A(06H)     B(00H)

 

      MOV   A,  #20(14H)

      MOV   B,  #20

      MUL   AB

      A(90)   B(01)

  除法指令(1條)

  DIV    AB

      MOV  A,  #25

         MOV  B,  #03

         DIV    AB;

         A(08H)    B(01H)

  A中存放商  B中存放余數(shù)

 

  邏輯運(yùn)算指令(24條)

  邏輯與指令(6條)

  定義:和0相與都為0,和1相與原值不變

邏輯或指令(6條)

定義:與1相或都是1,與0相或原值不變

  邏輯異或指令(6條)

  定義:相同取0,和1相異或取反,和0異或保留原值

  累加器A0和取反指令(非運(yùn)算)

  CLR  A         0

  CPL  A         取反

 

  控制轉(zhuǎn)移指令(17條)

  ——循環(huán)移位指令

   RL  A    向左移          < < < < < < <       小循環(huán)

   RR  A    向右移          > > > > > > >

   RLC   A                  Cy   < < < < <     大循環(huán)

   RRC   A                  Cy   > > > > >

  應(yīng)用:跑馬燈

例:MOV  A, #01H    8個(gè)燈循環(huán)點(diǎn)亮

    MOV  P1,  A

    RL   A

    MOV  P1,  A

  *——無條件轉(zhuǎn)移指令(4條)

  無條件/有條件

     1)長(zhǎng)轉(zhuǎn)移指令:LJMP     AAAAH;  AAAAH   >PC

     該指令可以轉(zhuǎn)移在64KB程序存儲(chǔ)區(qū)里

     2)絕對(duì)轉(zhuǎn)移指令:AJMP    addr11;  addr11   >PC.10----PC.0

     轉(zhuǎn)移范圍為2KB/頁地址(現(xiàn)在不常用)

     3)相對(duì)轉(zhuǎn)移指令(短轉(zhuǎn)移指令):SJMP   03H

     轉(zhuǎn)移范圍  -128+127字節(jié)內(nèi)

     補(bǔ)碼:正數(shù)的補(bǔ)碼就是其原碼本身,負(fù)數(shù)的補(bǔ)碼是將原碼取反再加1(符號(hào)位不變)

     4)散轉(zhuǎn)指令:JMP    @A+DPTR 

     DPTR中的內(nèi)容作為基地址,通過修改A的內(nèi)容實(shí)現(xiàn)散轉(zhuǎn)

     —條件轉(zhuǎn)移指令(8條)

     1)累加器A0指令(2條)

     2)判別位標(biāo)志CY狀態(tài)指令(2條)

   3)判別某位Bit狀態(tài)指令(3條)

 

     4)減10轉(zhuǎn)移指令(2條)

   5)比較轉(zhuǎn)移指令(4條)

條件轉(zhuǎn)移類指令范例(一)

00H—0FH16個(gè)數(shù)順序地置入片內(nèi)RAM  20H—2FH單元中

   MOV  R0,  #20H

   MOV  R7,  #0FH

   CLR   A

   LOOP:  MOV  @R0,  A

   INC   A

   INC   R0

   DJNZ  R7,  LOOP

   SJMP  $

條件轉(zhuǎn)移類指令范例(二)

   MOV  R0,  #20

   MOV  R7,  #0FH    ;這句話不用寫改為10H

   CLR   A

   LOOP:  MOV  @R0,  A

   INC   A

   INC   R0

   CJNE  A,  #0FH, LOOP ;這里也要改成10H

   SJMP  $

 

 

——調(diào)用和返回指令(8條)

1)       絕對(duì)調(diào)用指令(1條)

2)長(zhǎng)調(diào)用指令(1條)

3)返回指令

  這種程序常常叫作子程序。子程序最后要

 

  位操作指令(17條)

1、  位傳送指令

2、  位置位和位清0指令

3、  位運(yùn)算指令

例:邏輯電路 L=D(E+F)+/G

  MOV   C,  E

  ORL    C,  F

  ANL    C,  D

  ORL    C,  /G

  MOV   20H,  C

 

 

 

 

 

 

 

常用偽指令(17

 


路過

雞蛋

鮮花

握手

雷人

評(píng)論 (0 個(gè)評(píng)論)

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

Powered by 單片機(jī)教程網(wǎng)

返回頂部
主站蜘蛛池模板: 精品成人在线视频 | 欧美综合一区二区 | 黄色国产在线视频 | 暖暖成人免费视频 | 日韩欧美三级 | 国产精品一区二区视频 | 欧美男人天堂 | 成人久久久久久久久 | www在线视频 | 99热精品在线 | 国产视频1区2区 | 一级黄a视频| 久久人人网 | 免费视频成人国产精品网站 | 精品一区免费 | 国产精品一区二区三区在线 | www.色.com | 亚洲 欧美 另类 综合 偷拍 | 国产精品a久久久久 | 中文字幕av一区 | av在线黄 | 国产日韩精品在线 | 免费观看成人av | 在线观看国产视频 | 大学生a级毛片免费视频 | 国产成人精品免高潮在线观看 | 免费一区 | 欧美精品久久久 | 99热在线播放 | 欧美一区二区三区四区视频 | 国产精品视频久久久久久 | 欧美激情久久久 | 一区二区久久电影 | 97国产精品| 国产三级精品三级在线观看四季网 | 人人九九精 | 精品九九久久 | 羞羞的视频网站 | a欧美 | 在线中文字幕国产 | 中文字幕日韩欧美一区二区三区 |