找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1872|回复: 1

常用汇编语言指令及解释

[复制链接]
  • TA的每日心情
    开心
    2018-10-31 14:26
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    78

    主题

    109

    回帖

    1019

    积分

    高级会员

    积分
    1019

    猴年

    龙龙实名认证 发表于 2015-6-22 03:21:40 | 显示全部楼层 |阅读模式
      
      
      常用汇编语言指令及解释

      常见汇编语言指令解释:
      1.Rn 表示R0~R7中的一个
      2.#data 表示8位的数值 00H~FFH
      3.direct 表示8位的地址 00H~FFH
      4.#data1616位立即数
      5.@Ri 表示寄存器间接寻址 只能是R0或者R1
      6.@DPTR 表示数据指针间接寻址,用于外部64k的RAM/ROM寻址
      7.bit 表示位地址
      8.$ 表示当前地址
      寄存器寻址 MOV A,R1 将R1中的数值赋予A
      直接寻址 MOV A,3AH 将地址3AH中的数值赋予A
      立即寻址 MOV A,#3AH 将3AH数值赋予A
      
      mov dptr,#1828h

      寄存器间址 MOV A,@Ri 将 Ri中地址的数值赋予A, Ri或是R0或是R1
      
      MOV A,@DPTR

      变址寻址 MOVC A,@A+DPTR 以A中的数值为地址偏移量进行查表;变址寻址区是程序存储器ROM,而不是数据存储器RAM
      相对寻址 AJMP MAIN 跳转到行号为MAIN处
      位寻址 MOV C,7FH 将位地址7FH的数值赋予C
      
      MOV C,2FH.7;

      
      MOV C,ACC.7

      MOV A,#3AH 数据传输、赋值命令
      PUSH direct 将direct为地址的数值压入堆栈中
      POP direct 将direct为地址的数值弹出堆栈
      XCH A,direct 将direct中的数值与A进行交换
      ADD A,direct 将direct中的数值与A中的数值相加
      INC direct 将direct中的数值加1
      SUBB A,direct 将A中的数值减去direct中的数值和Cy值,并保存在A中,如果想使用不带Cy减法,可以在运算前对Cy清零 CLR C
      DEC direct 将direct中的数值减1
      DA A 用于对BCD码加减法后进行10进制调整
      MUL AB 将A和B相乘,并把高八位放在B中,低八位放在A中
      DIV AB 将A和B相除,并把商的整数部分放在A中,余数放在B中
      ANL A,direct 将A与direct中的数值进行与运算,结果保留在A中(与运算规律:有0出0,全1出1)
      ORL A,direct 将A与direct中的数值进行或运算,结果保留在A中(或运算规律:有1出1,全0出0)
      XRL A,direct 将A与direct中的数值进行异或运算,结果保留在A中(异或运算规律:全0出0,全1出0,01、10出1)
      CLR A 对A清零
      CPL A 对A取反
      RL A 对A中数左移
      RR A 对A中数右移
      RLC A 对A中数带Cy左移
      RRC A 对A中数带Cy右移
      SWAP A 对A中的数高4位低4位互相交换
      LJMP 长跳转指令,64K地址范围
      AJMP 短跳转指令,2K地址范围
      JZ rel 如果A为0就跳转到rel行号处
      JNZ rel 如果A不为0就跳转到rel行号处
      CJNE A,#data,rel 如果A不等于data就跳转到rel行号处
      DJNZ R1,rel 如果R1减1后不为0就跳转到rel行号处
      ACALL rel 调用rel子程序,2K地址以内
      LCALL rel 调用rel子程序,64K地址以内
      RET 子程序返回指令
      RETI 中断程序返回指令
      NOP 空操作指令
      MOV C,bit 将位地址bit中的值赋予C
      CLR bit 将bit位地址清0
      SETB bit 将bit位地址置1
      CPL bit 将bit位地址取反
      ANL C,bit 将地址bit中的值和C做与运算,结果存放在C中
      ORL C,bit 将地址bit中的值和C做或运算,结果存放在C中
      JC rel 如果Cy为1,就跳转到rel行号处
      JNC rel 如果Cy为0,就跳转到rel行号处
      JBbit,rel;若BIT=1则转移
      JNB bit,rel;若BIT=0则转移
      JBC bit,reL;若BIT=1则转移,且BIT置1
      1 加法指令:
      
      ADD A,Rn  ;ADD A,direct;
      ADD A,@Ri;ADD A,#DATA

      2 带CY的加法指令:
      
      ADDC A,Rn ;ADDC A,direct ;
      ADDC A,@Ri ;ADDC A,#DATA

      3 加一指令:
      
      INC A  ;INCRn ;
      INCdirect ;INC @Ri;INCDPTR

      4 减法指令:
      
      SUBBA,Rn;SUBB A,direct ;
      SUBB A,@Ri ;SUBB A,#data

      5 减一指令: DEC A  ;DEC Rn   ;DECdirect;DEC @Ri
      6 十进制调整指令:DAA
      7 乘法和除法指令:MUL AB ;乘积高八位放在B中,低八位放在A中
      
      DIV AB ;商的整数放在A中,余数放在B中

      8 逻辑异或:  XRLA,Rn

    虽然不懂你在说什么,但是好厉害的样子

  • TA的每日心情

    2017-2-2 12:17
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    7

    主题

    215

    回帖

    959

    积分

    高级会员

    积分
    959
    nikkitang 发表于 2015-6-27 01:14:52 | 显示全部楼层
    每天都来学习,一定会进步的,加油!
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2017-11-4 19:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    60

    主题

    508

    回帖

    5470

    积分

    钻石会员

    学无止境

    积分
    5470

    卓越会员

    QQ
    海潮 发表于 2015-7-4 22:18:59 | 显示全部楼层
    标记,学习!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|虫虫联盟 ( 备案号:蜀ICP备15018121号-1 )

    GMT+8, 2024-4-26 22:38 , Processed in 0.466599 second(s), 27 queries .

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表