• 2017-2018-1 学号20155329 《信息安全系统设计基础》第5周学习总结


    2017-2018-1 学号20155329 《信息安全系统设计基础》第5周学习总结

    教材学习内容总结

    -本在学习过程中,发现自己的汇编知识并不扎实,而本学期学习内容和汇编息息相关,所以复习了一下汇编知识。

    1. 汇编结束伪指令
      END

    寻址方式

    MCS-51单片机有五种寻址方式:
    1. 寄存器寻址
    2. 寄存器间接寻址
    3. 直接寻址
    4. 立即数寻址
    5. 、基寄存器加变址寄存器间接寻址
    6. 、相对寻址
    7. 位寻址
    数据传送指令

    一、以累加器A为目的操作数的指令(4条)

    1. MOV    A,Rn ;(Rn)→A                n=0~7   
      . 4. MOV    A,#data ;  data →A
      二、以Rn为目的操作数的指令(3条)
    2. MOV      Rn ,A     ;(A)→ Rn
    3. MOV    Rn ,direct ;( direct )→ Rn 
      MOV    Rn ,#data ;  data → Rn
    三、以直接寻址的单元为目的操作数的指令
    1. MOV    direct,A ;(A)→direct
    2. MOV    direct,Rn ;(Rn)→direct
    3. MOV    direct,direct  ;(源direct)→目的direct
    4. MOV    direct,@Ri       ;((Ri))→direct
    5. MOV    direct,#data       ;  data→direct
    四、以寄存器间接寻址的单元为目的操作数的指令
    1. MOV      @Ri,A ;(A)→(Ri)
    2. MOV    @Ri,direct     ;(direct)→(Ri)
    3. MOV    @Ri,#data       ;   data→ (Ri)
    五、十六位数据传送指令
    1. MOV    DPTR,#data16 ;dataH→DPH,dataL →DPL
    六、堆栈操作指令
    1. 进栈指令
      PUSH    direct ;(SP)+1 → SP ,(direct) → SP
    2. 退栈指令
      POP    direct
    七、字节交换指令(5条)
    1. XCH    A,Rn ;(A)→ß(Rn)
    2. XCH    A,direct       ;(A)→ß(direct)
    3. XCH    A,@Ri         ;(A)→ß((Ri))•
    八、半字节交换指令
    1. XCHD    A,@Ri ;(A)0~3→ß((Ri)) 0~3
    九、加器A与外部数据存贮器传送指令
    1. MOVX    A,@DPTR ; ((DPTR))→A
    2. MOVX    A,@ Ri ; ((Ri))→A        i=0,1
    3. MOVX    @ DPTR ,A ; (A)→( DPTR)
    4. MOVX    @ Ri , A     ; (A)→(Ri)        i=0,1
    十、查表指令
    1. MOVC A ,@ A+PC ;((A)+(PC))→A
    2. MOVC  A , @A+ DPTR ;((A)+(DPTR))
    算术运算指令
    一、不带进位的加法指令(4条)
    1. ADD    A,Rn ;(A)+(Rn)→A
    2. ADD    A,direct ;(A)+(direct)→A
    3. ADD    A,@Ri  ;(A)+((Ri))→A
    4. ADD    A,#data ;(A)+#data→A
    二、带进位加法指令)
    1. ADDC    A,Rn ;(A)+(Rn)+CY→A
    2. ADDC    A,direct ;(A)+(direct) +CY →A
    3. ADDC    A,@Ri ;(A)+((Ri)) +CY →A
    4. ADDC    A,#data ;(A)+  #data +CY →A
    三、增量指令
    1. INC    A ;(A)+1 →A
    2. INC    Rn ;(Rn)+1 → Rn
    3. INC    direct ;(direct)+1 → direct
    4. INC    @Ri ;((Ri))+1 →(Ri)
    5. INC    DPTR ;(DPTR)+1 →DPTR
    四、十进制调整指令
    1. DA    A
    减法指令

    一、带进位减法指令

    1. SUBB   A,Rn
    2. SUBB   A,direct
    3. SUBB   A,@Ri
    4. SUBB   A,#data
    二、减1指令(4条)
    1. DEC    A
    2. DEC    Rn
    3. DEC    direct
    4. DEC    @Ri
    乘法指令
    1. MUL    AB
    除法指令
    1. DIV    AB
    逻辑运算指令
    累加器A的逻辑操作指令
    一、累加器A清0

    CLR  A

    二、累加器A取反

    CPL  A

    三、左环移指令

    RL   A

    四、带进位左环移指令

    RLC  A

    五、右环移指令

    RR   A

    六、带进位右环移指令

    RRC  A

    七、累加器ACC半字节交换指令

    SWAP   A

    两个操作数的逻辑操作指令

    逻辑与指令
    1. ANL   A,Rn
    2. ANL   A,direct
    3. ANL   A, @Ri
    4. ANL   A,#data
    5. ANL   direct  ,A
    6. ANL   direct,#data
    逻辑或指令
    1. ORL  A,Rn
    2. ORL  A,direct
    3. ORL  A, @Ri
    4. ORL  A,#data
    5. ORL  direct,A
    6. ORL  direct,#data
    逻辑异或指令
    1. XRL    A,Rn
    2. XRL    A,direct
    3. XRL    A,@Ri
    4. XRL    A,#data
    5. XRL    direct,A
    6. XRL    direct,#data
    位操作指令

    位变量传送指令
    1. MOV C,bit
    2. MOV bit,C
    位变量修改指令
    1. CLR  C
    2. CLR  bit
    3. CPL  C
    4. CPL  bit
    5. SETB  C
    6. SETB  bit
    位变量逻辑与指令
    1. ANL  C,bit
    2. ANL  C,/bit
    位变量逻辑或指令
    1. ORL C,bit
    2. ORL C,/bit
    控制转移指令

    无条件转移指令

    1. 短跳转指令
      AJMP    addr11 ;先(PC)+2→PC ;addr11→PC10~0 ,(PC15~11)
    2. 跳转指令
      LJMP    addr16 ;Addr16→PC
    3. 转移指令
    4. SJMP    rel ;先(PC)+2→PC;后(PC)+rel→PC
      4、 寄存器加变址存器间接转移指令(散转指令)
      JMP    @A+DPTR      ;(A)+(DPTR)→PC
      条件转移指令(8条)
    一、测试条件符合转移指令
    1. JZ rel ; 当A=0 时,(PC)+rel→(PC)转移;当A≠0时,顺序执行。
    2. JNZ    rel ; 当A≠0 时,(PC)+rel→(PC)转移;当A=0时,顺序执行。
    3. JC      rel 如果进位标志CY为1,则执行转移;
    4. JNC  rel 如果进位标志CY为0,则执行转移;
    5. JB       bit,  rel 如果直接寻址位的值为1,则执行转移;
    6. JNB   bit , rel 如果直接寻址位的值为0,则执行转移;
    7. JBC   bit , rel 如果直接寻址位的值为1,则执行转移;然后清“0”直接寻址位(bit)。
    二、比较不相等转移指令
    1. CJNE    (目的操作数),(源操作数),rel
    2. CJNE    A,direct,rel
    3. CJNE    A,#data,rel
    4. CJNE   Rn,#data,rel   
                ;若(Rn)  >#data ,则(PC)+rel→PC,且0→CY;           
            ;若(Rn) < #data ,则(PC)+rel→PC,且1→CY;           
                ;若(Rn) = #data ,则顺序执行,且0→CY。
    三、减1不为0转移指令
    1. DJNZ Rn,rel ;(Rn)-1→Rn;
      ;若(Rn)≠0, 则(PC)+rel →PC;
      ;若(Rn) = 0, 则结束循环, 顺序执行
    2. DJNZ direct,rel ;(direct )-1→ direct ;
              ;若(direct)≠0,则(PC)+rel →PC;
              ;若(direct) = 0,则结束循环,顺序执行
    调用和返回指令
    一、短调用指令
    1. ACALL    addr11 ;(PC)+2→PC
               ;(SP)+1→SP,(PC 0~7)→(SP)
               ;(SP)+1→SP,(PC 8~15)→(SP)
               ;addr010→PC010,(PC11~15)不变
    二、长调用指令

    LCALL    addr16 ;(PC)+3→PC
            ;(SP)+1→SP,(PC 0~7)→(SP)
            ;(SP)+1→SP,(PC 8~15)→(SP)
            ;addr0~15→PC

    三、返回指令
    1. 从子程序返回指令
      RET ;((SP)) →PC 8~15 ,(SP) -1→SP
               ;((SP)) →PC 0~7   ,(SP) -1→SP
    2. 中断服务程序返回指令
      RETI ;((SP)) →PC 8~15 , (SP) -1→SP
                    ; ((SP)) →PC 0~7  , (SP) -1→SP
                    ;开放中断逻辑
    四、空操作指令

    NOP

    其他(感悟、思考等,可选)

    在本学期学习中,发现学习很吃力,很多东西都没有学懂,都需要补,以前欠下的债现在得慢慢还了。

    参考资料

  • 相关阅读:
    ssd的BUG
    ImportError: No module named lmdb
    GPU卡掉卡
    mobileeye
    caffe convert mxnet
    学前书单-百科
    捉襟见肘
    caffe+opencv3.3.1
    ipython notebook开通远程
    到底什么是故事点(Story Point)?
  • 原文地址:https://www.cnblogs.com/hpl20155329/p/7712258.html
Copyright © 2020-2023  润新知