第4讲 80X86汇编语言程序设计.ppt

  1. 1、本文档共135页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 80X86汇编语言程序设计 本章主要内容: MASM宏汇编语句结构以及开发过程 MASM汇编语言表达式、运算符 程序段的定义和属性 复杂数据结构 宏汇编 基本汇编语言程序设计 子程序设计 高级汇编语言程序设计 4.1 MASM宏汇编语句结构以及开发过程 1.语句的类型 硬指令语句(指令性语句) 是指能产生目标代码,CPU可以执行的,能完成特定功能的语句,它主要由CPU指令组成。 伪指令语句(指示性语句) 是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。 定义变量,定义过程,给变量分配存储单元,给数字或表达式命名等。所以伪指令语句是汇编程序在汇编时用的,不产生机器码。 宏指令语句 它是一个指令序列,汇编时凡有宏指令语句的地方都将用相应的指令序列的目标代码插入。 2.语句的格式 汇编语言源程序由语句序列构成。 汇编语言源程序中的每条语句一般占一行,每行不超过132个字符(MASM 6.0开始可以是512个字符), 执行性语句 标号:硬指令助记符 操作数,操作数;注释 说明性语句 名字 伪指令助记符 参数,参数…. ;注释 4.1.2 汇编语言的程序格式 在实地址模式和虚拟8086模式下,按照逻辑段组织程序,具有代码段、数据段、附加段和堆栈段。 一个汇编语言源程序可以包含若干个代码段、数据段、堆栈段或附加段,段与段之间的顺序可随意排列。 需独立运行的程序必须包含一个代码段,并指示程序执行的起始位置,一个程序只有一个起始位置。 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 简化段定义的源程序格式 .MODEL SMALL ;定义程序的存储模式 .STACK ;定义堆栈段 .DATA ;定义数据段 STRING DB ’Hello,Everybody !’,0DH,0AH,’$’ ;在数据段定义要显示的字符串 .CODE ;定义代码段 .STARTUP ;说明程序起始位置,并建立DS、SS内容 MOV DX,OFFSET STRING ;指定字符串在数据段的偏移地址 MOV AH,9 INT 21H ;利用DOS功能调用显示信息 .EXIT 0 ;程序结束点,返回DOS END ;汇编结束 完整段定义的源程序格式 DATA SEGMENT ;定义数据段DATA STRING DB ‘Hello,Everybody !’,0DH,0AH,’$’ DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段CODE ASSUME CS:CODE,DS:DATA ;确定CS、DS、SS指向的逻辑段 START:MOV AX,DATA ;设置数据段的段地址DS MOV DS,AX MOV DX,OFFSET STRING;利用功能调用显示信息 MOV AH,9 INT 21H MOV AH,4CH ;利用系统功能调用返回DOS INT 21H CODE ENDS ;代码段结束 END START;汇编结束 4.1.3 汇编语言程序的开发过程 ML.EXE 汇编程序 ML.ERR 汇编错误信息文件 DOSXNT.EXE MS-DOS扩展文件 LINK.EXE 连接程序 LIB.EXE 子程序库管理文件 MASM5.1以下: MASM.EXE 4.2 MASM汇编语言表达式、运算符 包括常量、变量、标号及表达式 1.常量 (1)数字常量 二进制常量,以B(或b)结尾; 十进制常量,以D (或d)结尾或省略; 十六进制常量,以H (或h)结尾,如0A8C6H。 MASM提供基数控制,.RADIX伪指令可以改变默认进制。 伪指令格式: .RADIX n 要求:n为2~16范围内任何数值。 功能:把n表示的数值作为默认基数。 例如指令“.RADIX 16”,将缺省基数改为16 (2)字符串常量 用单引号引起来的字符或字符串也代表常数。 例:’A’,’BCDE’,汇编时被翻译成对应的ASCII码41H和42H,43H,44H,45H。 字符串最大长度为255个字符 (3)符号常量 利用一个标识符表达的一个数值。常数若使用有意义的符号名来表示,可以提高程序的可读性,同时更具有通

文档评论(0)

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

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

1亿VIP精品文档

相关文档