第3章 MCS-C51的指令系统.ppt

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用的编程语言 1.机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。机器语言具有灵活、直接执行和速度快等特点。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。 2.汇编语言 为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码,于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由 于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。 汇编语言中由于使用了助记符号, 计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。 汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。 3.高级语言 不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉。 高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。 计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。 每一种高级语言,都有自己规定的专用符号、英文单词、语法规则和语句结构。高级语言与自然语言更接近,而与硬件功能相分离,便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。 3.1 指令格式及常用符号 3.1.1 机器指令的编码格式 一、单字节指令 1. 8位编码仅为操作码: 如:INC A 该指令的编码为:0000 0100B,其十六进制表示为04H,累加器A隐含在操作码中。指令的功能是累加器A的内容加1。 注意:在指令中用“A”表示累加器,而用 “ACC”表示累加器对应的地址(E0H)。 2.8位编码含有操作码和寄存器编码 高5位为操作码,低3位为存放操作数的寄存器编码。如:MOV A,R0 编码为1110 1000B,其十六进制表示为E8H(低3位000为寄存器R0的编码)。功能是将当前工作寄存器R0中的数据传送到累加器A中。 二、双字节指令 第一字节表示操作码,第二个字节表示参与操作的数据或数据存放的地址。 如:MOV A,#50H 编码为0111 0100B,0101 0000B。其十六进制表示为74H,50H。功能是将立即数“50H”传送到累加器A中。 三、三字节指令 指令的第一字节表示该指令的操作码,后两个字节表示参与操作的数据或数据存放的地址。如:MOV 20H,#50H 编码为0111 0101B,0010 0000B,0101 0000B。其十六进制表示为75H,20H,50H。功能是将立即数“50H”传送到内部RAM 的20H单元中。 3.1.2 符号指令的格式 一般格式为: 操作助记符 [目的操作数][,源操作数][;注释] 多数指令为两操作数指令;当指令操作数隐含在操作助记符中时,在形式上这种指令无操作数;另有一些指令为单操作数指令或三操作数指令。指令的一般格式中使用了可选择符号“[ ]”,包含的内容因指令的不同可以有或无。 在两个操作数的指令中,通常目的操作数 写在左边,源操作数写在右边。 如:指令ANL A,#40H 功能是将立即数“40H”同累加器A中的数进行“与”操作,结果送回累加器。 ANL为“与”操作的助记符,立即数“40H”为源操作数,累加器A为目的操作数。 注:在指令中,多数情况下累加

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档