CH4+语言程序设计.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH4+语言程序设计.ppt

汇编语言程序设计 4.0 概述 4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 程序设计方法 4.5 DOS系统功能调用 4.0 概述 从使用者的角度看,一般可分成以下三种: 1、机器语言(Machine Language) 用‘0’、‘1’数字代码来表示机器操作; 如:加法:1001、1D、2B…… 特点:计算机能够直接识别,执行速度快; 但不方便记忆和编程 2、汇编语言(Assembly Language) 用助记符来表示指令,如:加法:ADD…… 特点:机器不能识别,需翻译;但仍然面向硬件,执行速度较快;多用于编制系统程序、实时控制和通信程序。 3、高级语言(High-level Language) 用数学语言和自然语言编程; 如:加法:+,输出:Printf… 特点:编程方便简单,无需了解机器硬件;但机器不能识别,需要庞大的翻译系统,速度较慢。 一般应用: 混合语言 汇编语言加高级语言等组合编程;各取所长,相互调用 汇编语言实现:硬件操作 高级语言实现:复杂算法 二、汇编语言程序执行过程 1、几个名词 汇编语言:用助记符来表示指令的语言 汇编语言源程序:用汇编语言编写的程序。 汇编:将源程序翻译成机器代码的过程。 汇编程序:将源程序翻译成机器代码的程序。 汇编源程序特点 分段的结构 4个段,至少有代码段,其他视需要而定; 有部分固定的程序框架(程序结构) 基本组成---语句 有些是前面学过的指令语句,其他是MASM中规定的格式、语法语句。 4.1 汇编语言程序格式 MASM中的语句分为两类: 指令性语句:与机器指令相对应,可译成目标代码(机器指令代码)。 伪指令语句:无对应的机器指令,汇编时对伪指令进行处理,可完成数据定义、存储区分配、段定义、段分配、指示程序开始和结束等功能。 差别:格式及功能不同(形式); 汇编时能否形成对应的机器码(本质)。 1、指令性语句 格式: 标号:指令助记符 操作数,操作数;注释 标号-符号地址;必须加“:”;命名规则;可省略 指令助记符-指令名称,不可省略 操作数-操作对象;多个时用“,”隔开 注释-以“;”开头;说明性语句,可省略 例: NEXT:MOV AH,0FH ;将0FH送入AH中 2、伪指令语句(也称汇编命令语句) 格式: 名字 伪指令指示符 操作数,操作数;注释 名字-符号地址;不加“:”;变量名、段名等;可省略 伪指令指示符-MASM中规定的符号;如变量定义DB等 操作数-操作对象;不同伪指令有不同要求,多个时用“,”隔开 注释-以“;”开头;说明性语句,可省略 例:DA1 DB 10H,20H,30H;定义变量DA1,并赋初值 MASM中使用的数据项:常数、寄存器、存储器、变量、标号或表达式。 1、常数 是固定值,没有属性,是确定的数据。 二进制:字母“B”结尾,如; 十进制:字母“D”结尾或省略,如:1234D、5678; 十六进制:字母“H”结尾,“A~F”开头时,前面加0,如:0F7H; 字符串:用单引号‘ ’括起来字符或字符串,如:‘A’,‘123H’。 注:字符串汇编时被翻译成对应的ASCII码,机内也以ASCII码形式存放, 如:MOV AH, ‘A’ ;AH=41H 2、变量 数据的符号地址; 名称可以代表后面数据项第一字节的地址; 例:DA1 DB 10H,20H,30H,… ;定义变量DA1,初值为…,DA1表示‘10H’的地址 相当于高级语言中的数组; 在程序中作为存储器操作数来使用。 变量有三种属性: ⑴段值:变量所在段的段基址。 ⑵段内偏移地址:指变量所在地址与所在段首地址之间的地址偏移字节数。 ⑶类型:长度属性,指变量中每个元素所包含的字节数,类型有字节变量(BYTE)、字变量(WORD)、双字变量(DWORD)等。 3、标号 指令性语句的符号地址; 名称代表后面可执行指令语句的开始地址; 可作为转移指令的目的操作数。 例: JMP NEXT …… NEXT:MOV AH,0FH 标号也有三种属性: ⑴段值:标号所在段的段基址,总在CS中。 ⑵段内偏移地址:指标号所在地址与所在段首地址之间的地址偏移字节数。 ⑶类型:指标号可转移的距离,也称距离属性。 NEAR:近标号,实现段内转移或调用; FAR: 远标号,实现段间转移或调用。 若没有对类型进行说明,默认为NEAR。 4.2 MASM中的表达式 表达式:运算对象与运算符组成; 运算对象:常数、变量、标号; 运算符:MASM中有六类 算术运算符、逻辑运算符、关系运

文档评论(0)

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

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

1亿VIP精品文档

相关文档