原创 汇编指令理解

2009-3-27 12:31 2527 6 6 分类: MCU/ 嵌入式

传送指令<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


       功能是将数据在累加器、片内的RAMSFR及片外ROMRAM之间进行传送。


指令通式:MOV  <dest>,<src>


1DPTR是单片机内部SFR中的两个寄存器DPHDPL组合而成。专门用于访问外部存储器的间址寄存器。


2,外部ROM的字节传送指令:MOVC   A,@A+DPTR  DPTR作为基地址,A作为偏移量,两者相加得到表中数据地址并取出)


                         MOVC   A,@A+PC   


3,堆栈操作指令:进栈操作: push  direct  


             出栈操作: pop    direct  


      寻址方式为直接寻址方式


作用:保存程序断点、数据。


4,数据交换指令:累加器和寄存器或RAM之间的数据交换


作用:为了不丢失目的操作数


   字节交换:


   半字节交换:xchd  a,@Ri     a30?(Ri)30


   累加器A 高低字节交换:SWAP   A.


算逻运算和移位指令


       1,加法指令:  带进位的加法指令    ADC


 不带进位的加法指令 ADD


                       1指令            INC )用于修改数据指针等控制


              


       2,减法指令: 带进位的减法指令    SUBB


                     1指令            DEC


 


       3,十进制调整指令:   DA )为了二进制和BCD码。用16进制数来表示十进制,既BCD码。


如:DA  A ;  AC=1A30 > 9,A+06hA


             Cy =1A74 > 9,A+60hA


 


 


       4,乘法指令:               MUL  A B   ;  a×b=b a (b存高8位,a存低8位)


       5,除法指令:            DIV   A B   ;  a÷b=a…b (a存商,b存余数)


逻辑运算指令:


1,逻辑与运算指令    (ANL)从某个存储单元中取出某几位,把其它的为屏蔽掉。


       2,逻辑或运算指令    (ORL) “置位” 某些位。


       3,逻辑异或指令      (XRL)将某个字节的数据或将数据的某几位变反。也可以比较


       4,累加器清零和取反指令 (CLR  & CPL方便求补操作)


移位指令


RL       A


              RR       A


              RLC      A


              RRC      A


              SWAP     A


       只能对累加器A进行移位。


位操作指令


特点:每位的取值只能是“0”“1”,存在于片内RAM的位寻址区(20H2FH)11个可以按位寻址的SFR


格式:MOV  C , bit       其中:CPSW中的Cy


        MOV  bit , C       bit为布尔变量的位地址。


位置指令SETB


清零指令CLR

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /3 下一条