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