北京航空航天大学微机原理课件.pptVIP

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

微机原理与接口技术第四章林新北京航空航天大学自动化学院

主要内容汇编语言程序的组成:指令和伪指令的基本书写格式。1.常用伪指令:数据定义,符号定义,指定存贮单元类型,段定义(定位类型及连接类型),段寄存器说明,过程(子程序)定义,多模块间相互调用,源程序结束。2.汇编语言程序的执行过程:汇编语言源程序的编写、汇编(MASM.EXE的使用)与连接(LINK.EXE的使用)、运行及调试工具软件DEBUG.COM常用命令的使用3.常用DOS子程序(INT21H的1、2、9、A号功能)调用,入口参数,出口参数。不同结构程序设计举例:简单程序,分支程序,循环程序,子程序设计(主程序+子程序、主程序+子程序+宏),多模块程序设计。4.5.

汇编程序编写、编译和运行编辑程序汇编程序MASM链接程序LINKprog.asmprog.objprog.exe目标文件可执行文件源程序

4.1汇编语言程序格式和伪指令4.1.1汇编语言程序格式汇编语句一行只能写一条汇编语句,一条汇编语句也只能写在一行内。分为指令性语句和伪指令语句。n指令语句n编译器转换为二进制代码后由CPU执行n伪指令语句n告诉编译器如何进行编译,没有对应的机器码,因此也就不会由CPU执行

1.指令性语句指令性语句[标号:]指令助记符[操作数[,操作数]][;注释]n

[标号:]指令助记符[操作数[,操作数]][;注释]1)标号标号的取名规则:n可由字母、数字、下划线等特殊字符组成n首字符必须为字母或某些特殊字符,不能为数字(数值常量必须以数字开头)n名字最长31个字符保留字不能作为名字nn标号具有3种属性:段基址,偏移地址,类型。n

[标号:]指令助记符[操作数[,操作数]][;注释]2)指令助记符指令语句中必须的部分n

[标号:]指令助记符[操作数[,操作数]][;注释]操作数项n操作数可以是常数、寄存器、存储区、变量、标号、表达式,其中常数、变量和标号是三种基本数据项。常数n变量n标号n

常数给出具体的数据。可以是数字常量或字符常量。◢数字默认十进制,也可加D表示十进制数。如1234D,1234◢◢数字后加B表示二进制数。如1010B如1234H如‘1234’◢◢数字后加H表示十六进制数。◢◢字符常量,用单引号表示。◢汇编后,用字符对应的ASCII表示。如31H,32H,33H,34H例data1DB12,34,56data2DB12H,34H,56H;十六进制;十进制;字符MOVAL,‘G’;字符串stringDB‘1234’

lA、B、C、D、E、F开头的十六进制数前面加0,与H结尾的标识符区别。如寄存器名AH、BH、CH、DH变量名abcdH等例movAL,0AHmovAL,AHmovBX,0abcdH

[标号:]指令助记符[操作数[,操作数]][;注释]变量?用符号表示的存放在存储单元中的可变数值。由DB、DW、DD等伪指令定义。?具有三种属性:段基址、偏移地址、类型注释?用于说明指令或程序的功能?增强程序可读性。

2.伪指令语句[名字]伪指令指示符[操作数][;注释]①名字②伪指令指示符③操作数④注释

3.表达式和运算符常数、符号、寄存器通过运算符连接起来的式子称为表达式。表达式的计算不是由CPU完成,二是在汇编时由编译程序完成。n表达式所使用的运算符(表4.1):n算术运算符:+,-,*,/,MOD,SHL,SHRn逻辑运算符:AND,OR,XOR,NOTn关系运算符:EQ,NE,LT,LE,GT,GEn数值返回:OFFSET,SEG,TYPE,SIZE...n修改属性:PTR,THIS,HIGH,LOW,SHORT….n其它:(),[],.,,…n

1)算术运算符包括+,-*,/,MOD,SHL,SHRn运算的结果和对象都是整数。n

例ARRAYTRYDB1,2,3,4,5,6,7,8DB20MOVAX,30*5MOVCX,(TRY-ARRAY);数组长度存入CX;上述语句等效于:MOVAX,150MOVCX,8

例DAEQU300MOVAX,DA-80MOVBX,DAMOD100MOVCX,DA/100MOVDH,SHR2;上述语句等效于:DAEQU300MOVAX,200MOVBX,0MOVCX,3MOVDH,19H

补充:现行地址符$(程序计数器)表示当前指令、数据或者位置的偏移地址例4.1nnDATASEGMENTDT1LISTDB33DB12,38,5,29,74CONTEQU$-LISTDT2DB

文档评论(0)

我老婆姓陈 + 关注
实名认证
文档贡献者

致力于分享知识。

1亿VIP精品文档

相关文档