第三章 MASM汇编语言课件.pptVIP

  1. 1、本文档共53页,可阅读全部内容。
  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文档。上传文档
查看更多
第三章 MASM汇编语言课件

第三章 MASM汇编语言; 概述 程序是一组为完成某种功能而按一定顺序(由算法确定)编排的指令序列。 机器语言:二进制数形式的指令和数据,既不直观,又不易理解和记忆( B0 64 ) 助记符:用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆(MOV AL,64H);汇编程序;3.1 汇编的语句结构;语句的构成元素: 标号:指令的符号地址,用来代表指令在存储器中的地址。只能出现在指令性语句中,标号后应加上冒号。 名字:段、过程、变量的名字,用来代表它们在存储器中的地址。只能出现在指示性语句中,名字后不加冒号。 指令助记符:8088助记符、伪指令 操作数:指令的操作对象,可以是:寄存器、存储单元、常数或表达式 ;例 给出一个完整的汇编语言源程序,该程序的功能是完成两个字节数据相加。 DATA SEGMENT ;段定义开始(DATA段) BUF1 DB 34H ;第1个加数 BUF2 DB 2AH ;第2个加数 SUM DB ? ;准备用来存放和数的单元 DATA ENDS ;段定义结束(DATA段) CODE SEGMENT ;段定义开始(CODE段) ASSUME CS:CODE,DS:DATA ;规定DATA、CODE分别为数据段和代码段 START: MOV AX,DATA MOV DS, AX ;给数据段寄存器DS赋值 MOV AL, BUF1 ;取第1个加数 ADD AL, BUF2 ;和第2个加数相加 MOV SUM,AL ;存放结果 MOV AH,4CH INT 21H ;返回DOS状态 CODE ENDS ;段定义结束(CODE段) END START ;整个源程序结束;一、汇编源程序的一般结构(逻辑段)      数据段      堆栈段      附加段      代码段;一个基本的汇编语言程序框架如下: stack SEGMENT DB 100 DUP (‘stack’) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AL, 4CH INT 21H code ENDS END start ;二、逻辑段定义伪指令 1.段定义的简单格式 格式:段名 SEGMENT      ┇     ┇ 段内容    段名 ENDS SEGMENT 段定义开始的伪指令 ENDS   段定义结束的伪指令 段内容可以是数据段、附加段、堆栈段和代码段的内容。 对于代码段主要由指令及其伪指令等组成,对于数据段和附加段,主要由伪指令、数据等组成。一个源程序种不同逻辑段的段名可以各不相同,但也允许相同。;2.段设定伪指令 全格式:  ASSUME 段寄存器名1:段名1[,段寄存器名2:段名2]  ASSUME [,段寄存器名3:段名3] [,段寄存器名4:段名4] ASSUME一般在代码段中,主要用于设定程序段与段寄存器的对应关系。 段寄存器名可以是CS、DS、ES或SS。 段名是用SEGMENT/END定义过的段。 ASSUME应该放在可执行程序开始位置的前面,只是告知汇编程序段寄存器与逻辑段的关系,并不给段寄存器赋初值,赋初值的工作由MOV指令来完成。代码段寄存器CS初值由系统在执行程序时自动赋给,用户不用程序赋值。    ;例:  A SEGMENT

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档