- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.汇编语言语法与其程序格式课件
第三章汇编语言程序格式;概述1; 4.1.2 汇编语言的程序格式
使用汇编语言编写程序时必须遵循的语法规则。
完整的汇编语言源程序由段组成:若干个代码段、数据段、附加段或堆栈段;独立运行的程序必须包含一个代码段,并指出程序的启动语句;所有的执行语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内;堆栈段不是必须的,但最好设置堆栈段。
编写汇编语言源程序通常应遵循所谓“标准格式”,本书介绍标准格式的两种表示形式,一种符合MASM 5.0及更新版本的语法规则,称为“简化段定义格式”;另一种符合早期版本的语法规则,称为“完整段定义格式”(5.0及以后的版本也支持)。;4.1 汇编语言语句格式 ;;;;; 4.2 参数、变量和标号伪指令
4.2.1 数值型参数
常数、数值表达式、运算符及运算符
的优先级
4.2.2 变量定义伪指令
4.2.3 变量和标号的属性
变量和标号的三种属性、属性操作符;3.2.1 数值型参数;数值型参数;数值型参数;数值型参数;数值型参数; 3.2.2 变量定义伪指令
为变量申请固定长度的存储空间,并将相应存储单
元初始化。
一般格式:
变量名为用户自定义的标识符,表示初值表首个
数据的偏移地址,称为符号地址。如省略变量名,
汇编程序只为初值表分配空间,无符号地址。
伪指令助记符:指DB、DW等。
初值表是由逗号分割开的参数,可以是常数、表
达式、问号、DUP等。问号(?)表示初值不确定,
即不赋初值;DUP为重复分配操作符,格式为:
重复次数 DUP(被重复数据列表);变量定义伪指令(2);变量定义伪指令(3);变量定义伪指令(4);变量定义伪指令(5);变量定义伪指令(6);变量定义伪指令(7);变量定义伪指令(8)(end);3.2.3 变量和标号的属性(1);变量和标号的属性(2);地址操作符(1);类型操作符(1); 4.3.2 简化段定义格式
简化段定义标准格式:
.model small
.stack
.data
.code
.startup
.exit 0
end;存储模式;TINY 模式;SMALL 模式;;预定义符号;程序开始;数据段、堆栈段调整示意图;程序结束; 4.3.1 完整段定义格式
1.段定义伪指令
段名 SEGMENT [定位] [组合] [段字] [‘类别’]
………
段名 ENDS
⑴定位属性:指定逻辑段的起始地址
BYTE:为下一个可用的字节地址(xxxx xxxxB)
WORD:为下一个可用的偶数地址(xxxx xxx0B)
DWORD:下一个可被4整除的地址(xxxx xx00B)
PARA:下一个可被16整除的地址(xxxx 0000B)
PAGE:下一个可被256整除的地址(0000 0000B) ;完整段定义格式;段字属性、类别属性;指定段寄存器;段组伪指令;段顺序伪指令 ; 例 4.7:
按要求写出适当的段定义:数据段起始于字边界,连接时同名逻辑段连接成一个物理段,类别名为‘data’;堆栈设置在数据段内,起始地址为DS:100处,大小为200个字,sp指向栈顶;堆栈区后面为100个字的数组array;代码段cseg将100个字压入自设的堆栈。
dseg segment word public ‘data’
org 100h
dw 200 dup(?)
topsp equ this word
array dw 100 dup(5868h)
dseg ends;cseg segment ‘code’
assume cs:cseg,ds:dseg,ss:dseg
start: mov ax,dseg
mov ds,ax
mov ss,ax
mov sp,offset topsp
………
mov ah,4ch
int 21 h
cseg ends
end start;例.6 在程序中使用段组合
stackseg segment stack
db 256 dup(?)
stackseg ends
data1 segment word public const
const1 dw 100
data1 ends
data2 segment word public vars
var1 dw ?
data2 ends
datagroup group data1,data2 ;进行段组合
codeseg segment para public co
您可能关注的文档
最近下载
- 2021全国一卷生物.docx
- 普法先进个人优秀事迹普法先进个人事迹材料三篇.docx
- 2015石油工程专业职业生涯规划.doc VIP
- 中医妇科常见病诊疗指南.pdf VIP
- 微波技术习题答案1.pdf VIP
- 毕业职业生涯规划书PPT模板.pptx
- 22G101三维立体彩色图集完整ppt版本.pptx
- ISO 4649-2017-09-硫化橡胶或热塑性橡胶 — 耐磨性能的测定(旋转辊筒式磨耗机法)(中文版 ).docx
- T∕CAGHP 031-2018 地质灾害危险性评估及咨询评估预算标准(试行)(可复制版).pdf
- CECS195-2006聚合物水泥、渗透结晶型防水材料应用技术规程(OCR).pdf
文档评论(0)