语言用助记符来表示计算机的操作命令,汇编语言基础.doc

文档介绍:

汇编语言基础所谓指令,就是规定计算机进行某种操作的命令。助记符是根据机器指令不同的功能和操作对象来描述指令的符号。用助记符形式来表示的机器指令称为汇编语言指令。汇编指令的格式MCS-51汇编语言的语句格式表示如下: 〔〕:〔〕;〔〕即一条汇编语句是由标号、操作码、操作数和注释四个部分所组成,其中方括号括起来的是可选择部分,可有可无,视需要而定。指令通常两部份组成:操作码、操作数操作码:是由助记符表示的字符串,操作码其实就是告诉我们这条指令是起什么样的一个功能,是加?减?传送?还是控制?等等。操作数:是指参加操作的数据或者是数据地址。注释:为了便于我们阅读程序,通常我们在指令的后面都会加上注释。标号:用来表示子程序名称或程序执行条件跳转时的程序跳转地址,实际上是表示一个地址值。在80C51指令系统中,操作数可以是1、2、3个,也可以没有。不同功能的指令,操作数作用也不同。例如,传送类指令多数有两个操作数,写在左面的称为目的操作数(表示操作结果存放的单元地址),写在右面的称为源操作数(指出操作数的来源)。操作码与操作数之间必须用空格分开,操作数与操作数之间必须用逗号“,”分开。带方括号的项可有可无,称为可选项。由指令格式可见,操作码是指令的核心,不可缺少。例如一条传送指令的书写格式如为:MOV A,3AH  ;(3AH)A它表示将3AH存储单元的内容送到累加器A中。指令的长度1字节指令共有49条2字节指令共有45条3字节指令共有17条这里有一个问题请大家引起注意,在前面的课程中,我们学****过指令计数器PC,PC是一个16位的计数器,那么这个指令计数器是怎样来计数的呢?我们的指令有1字节、2字节、3字节指令。是不是每执行一个字节,这个指令计数器PC就自动加1?答案是错误的!!实际上,PC始终是跟踪着指令的,并不是以字节数来相加。在我们存放程序的ROM中,是一个字节一个字节的向后执行,但程序计数器PC并不是每加一个字节就加1,它是对特定的某一条指令执行完了之后,相应的程序计数器PC才加1,那么这条指令可能是1个字节,也可能是2个或者3个字节。这个大家要引起重视。在学****指令系统时,先要了解某些符号的意义,现说明如下:Rn       :当前选中的工作寄存器组R0-R7(n=0-7)。它在片内数据存储器中的地址由PSW中的RS1和RS0确定,可以是00H-07H(第0组)、08H-0FH(第1组)、10H-17H(第2组)、18H-1FH(第3组)。Ri       :当前选中的工作寄存器组中可作为地址指针的两个工作寄存器R0和R1(i=0或i=1)。它在片内数据存储器中的地址由RS0及RS1确字,分别为00H、01H;08H、09H;10H、11H;18H、19H。Direct   :8位片内RAM单元(包含SFR)的直接地址#data     :代表指令中8位的常量数据#data16  :代表指令中16位的常量数据addr16   :LCALL与LJMP所使用的16位目的地址addr11   :ACALL与AJMP所使用的11位目的地址rel      :指程序遇条件跳跃时的相对地址,往前最多可以跳128个字节,往后最多可以跳127个字节。bit      :特殊目的寄存器或内部数据RAM中可直接寻址的位。@         :间接寻址方式中,表示间址寄存器的符号/        :位操作指令中,表示对该位先取反再参与操作,但不影响该位原值。X        :片内RAM的直接地址或寄存器(X)    :在址接寻址方式中,表示直接地址X中的内容;在间接寻址方式中,表示由间址寄存器X指出的地址单元中的内容。→      :指令操作流程,将箭头左边的内容送入箭头右边的单元内。 ←      :指令操作流程,将箭头右边的内容送入箭头左边的单元内。控制转移类指令分析[1]. 无条件转移指令(4条)这组指令执行完后,程序就会无条件转移到指令所指向的地址上去。长转移指令访问的程序存储器空间为16地址64kB,绝对转移指令访问的程序存储器空间为11位地址2kB空间。LJMP addr16    ;addr16→(PC),给程序计数器赋予新值(16位地址)AJMP addr11    ;(PC)+2→(PC),addr11→(PC10-0)程序计数器赋予新值(11位地址),(PC15-11)不改变SJMP rel        ;(PC)+2+rel→(PC)当前程序计数器先加上2再加上偏移量给程序计数器赋予新值JMP ***@A+DPTR  ;(A)+(DPTR)→(PC),累加器所指向地址单元的值加上数据指针的值给程序计数器赋予新值所有用AJMP或SJMP的地方都可以用LJMP来替代。因此在初学者时,需要跳

内容来自淘豆网www.taodocs.com转载请标明出处.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值