第4汇编语言程序设计.pptVIP

  1. 1、本文档共55页,可阅读全部内容。
  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文档。上传文档
查看更多
第4章 汇编语言程序设计 主要内容: 汇编语言源程序的结构 汇编语言语句格式 伪指令 功能调用 汇编语言程序设计 4.1 汇编语言源程序 (1)机器语言——二进制数形式的指令和数据。 B0 64 是什么意思?这就是机器语言。既不直观,又不易理解和记忆. MOV AL,64H ;很容易记忆理解,这就是助记符。 (2)助记符——用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆。 指令除了操作码以外,还有一个操作数问题。 汇编程序(翻译程序) 汇编语言程序设计与执行过程 输入汇编语言源程序 EDIT/NOTEPAD等 源文件 .ASM 汇编(编译) MASM /ASM等 目标文件 .OBJ 链接 LINK等 可执行文件 .EXE 调试 DEBUG/TD等 最终正确的程序.EXE 4.1.1 汇编语言源程序的结构 一个基本的汇编语言程序框架如下: stack SEGMENT PARA ‘stack‘ DB 100 DUP(‘stack’) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data, SS:stack start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AL, 4CH INT 21H code ENDS END start 4.1.2 汇编语言的语句与格式 汇编语言的语句有两种: 指令性语句——由8086指令助记符(真指令)构成 的语句 指示性语句——由伪指令构成的语句 指令性语句的格式为: 标号: 指令助记符 目的操作数,源操作数 ; 注释 指示性语句的格式为: 名字 伪指令 操作数1, 操作数2, … ,操作数n ; 注释 注:各部分之间至少要用一个空格(或逗号、分号)作为分隔符。 ● 指令性语句(真指令)由CPU执行,每一条指令性语句都有一条机器码指令与其对应; ● 指示性语句(伪指令)由汇编程序执行。它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等。指示性语句无机器码指令与其相对应。 注意: 指令性语句汇编时生成机器码; 指示性语句汇编时不生成机器码。 注释——以分号开头,可放在指令后,也可 单独一行。 ?注意注解的写法。要写指令(段)在程序中的作用,而不要写指令的操作。 例如:以下为同一条指令写的注释 1)MOV CX,100 ;传送100到CX 2)MOV CX,100 ;循环计数器置初值 显然,第二种写法要比第一种写法要好。 4.1.3 数据项与表达式 2.标号/名字——指令或数据所在内存单元的符号地址 3.变量 变量——即内存中的存储单元或数据区。 变量名——是存储单元(数据区)的符号地址 或 名字。 变量也有三个属性: 段地址—变量所在段的段地址 偏移量—变量单元地址与段首地址之间的位移量。 类 型—有BYTE、WORD 、DWORD三种之一。 变量在程序中作为存储器操作数被引用。 标号和变量名的使用规则: 组成:A-Z(不分大小写), 0-9, ?@ . _ $ 不能以数字开头,句号(.)只能作为首字符 长度小于31个字符 不能与保留字(指令助记符、伪指令、预定义符号等)重名 不能重复定义 例如: 正确的?:LP1, AGAIN, NEXT, _GO, OK_1 错误的?:4M, LOOP, AAA, #HELP, +ONE

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档