- 1、本文档共140页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1汇编语言概述3.2汇编语言程序结构与语句格式3.3伪指令.ppt
3.1 汇编语言概述 特点: 一种介于机器语言和高级语言之间的计算机 编程语言; 用助记符代替机器语言指令的二进制代码。 3.2.1 源程序结构 3.2.1 源程序结构 各语句可以是: 3.2.1 源程序结构 [.486] DATA SEGMENT [USE16/USE32] ;定义数据段 …… (数据定义伪指令序列) DATA ENDS STACK SEGMENT [USE16/USE32]STACK ;定义堆栈段 …… (数据定义伪指令序列) STACK ENDS CODE SEGMENT [USE16/USE32] ;定义代码段 ASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATA ;段寄存器说明 START: MOV AX,DATA ;建立数据段和附加数据段的可寻址性 MOV DS,AX ;置DS和ES初值 MOV ES,AX …… (核心程序段) MOV AH,4CH ;返回操作系统 INT 21H CODE ENDS END START ;程序结束 3.2.1 源程序结构 由该标准源程序框架可看出: 3.2.1 源程序结构 2.必须用段寄存器说明伪指令ASSUME说明各段寄存器与逻辑段的关系; 3.定义的数据段寄存器均要在程序代码段的起始处赋初值,以建立这些逻辑段的可寻址性; 4.每个源程序在其代码段中都必须含有返回到DOS操作系统的指令语句。 3.2.1 源程序结构 采用DOS 4CH号功能调用 将主程序定义为远过程 利用20号软中断调用 利用DOS的0号功能调用 3.2.1 源程序结构 1)采用DOS 4CH号功能调用; 3.2.1 源程序结构 CODE SEGMENT… ASSUME… 主过程名 PROC FAR PUSH DS MOV AX,0 PUSH AX RET …… 主过程名 ENDP …… END 主过程名 3.2.1 源程序结构 3)利用20号软中断调用 3.2.1 源程序结构 4)利用DOS的0号功能调用 3.2.2 语句格式 3.2.2 语句格式 字母A~Z或a~z(汇编程序不区分大、小写); 3.2.2 语句格式 2.助记符和定义符 3.2.2 语句格式 1)常量操作数:二、八、十或十六进制的整型常数、十六进制实数、字符串(必须用单引号括起来,其值为字符的ASCII码值)、已赋值的常数标识符、寄存器名和I/O端口地址等。 3.2.2 语句格式 段值--段基址,可用SEG运算符求得。 偏移值--段内偏移地址,可用OFFSET运算符求得。 类型--对变量有字节、字、双字、四字、十字节等五种类 型;对标号有NEAR和FAR两种类型。可用TYPE运算 符求得。 3.2.2 语句格式 它由各种操作数、界限符和运算符组成;汇编时,每个表达式都能产生一个确定的值。 MASM汇编程序支持的运算符表见教材。 3.2.2 语句格式 1 LENGTH,SIZE,WIDTH,MASK,( ),[ ], 2 PTR,OFFSET,SEG,TYPE,THIS 3 HIGH,LOW 4 +,-(单目) 5 *,/,MOD,SHL,SHR 6 +,-(双目) 7 EQ,NE,LT,LE,GT,GE 8 NOT 9 AND 10 OR,XOR 11 SHORT 3.2.2 语句格式 注释部分以分号“;”开始,其作用与注 释语句相同,用于对语句的功能加以说明, 增加程序的可读性,本身不被汇编程序汇编 也不被执行。 3.3.1 程序结构伪指令语句 1. 方式选择伪指令 2. 逻辑段定义伪指令 3. 指定地址伪指令 4. 模块定义伪指令 5. 模块连接伪指令 3.3.1 程序结构伪指令语句 3.3.1 程序结构伪指令语句 伪指令格式 功 能 .8087
文档评论(0)