第3章汇牧编语言程序设计.ppt

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

第3章 汇编语言程序设计 三种层次的计算机语言: 机器语言:用二进制数表示指令和数据,计算机可直接理解和执行,速度快,占用内存少,但不直观,不宜理解和记忆。 汇编语言: 用助记符来书写指令,地址、数据也可用符号表示,执行速度快,编写、阅读和修改比较方便,需要汇编成机器语言。 高级语言:不针对某个具体的计算机,通用性强。不需要了解计算机内部的结构和原理,易读、易编,需要编译成机器语言。 汇编语言:一种采用助记符表示的程序设计语言,即用指令助记符表示指令的操作码和操作数,用符号或标号表示地址、常量或变量,与机器代码相对应。 汇编语言源程序:用汇编语言编写的程序。 宏汇编程序 MASM.EXE 功能:检查源程序中语法的正确性,将汇编语源程序翻译成由机器代码组成的目标程序。 ? 汇编语言上机环境 汇编语言源程序的格式 DATA SEGMENT;定义出必要的数据,以及数据存放空间 DATA1 DB 0F8H,60H,0ACH,74H,3BH ;被加数 DATA2 DB 0C1H,36H,9EH,0D5H,20H ;加数 DATA ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA START:MOV AX,DATA ;指令序列,构成代码段 MOV DS,AX ;初始化DS MOV CX,5 ;循环次数 MOV SI,0 ;偏移值 CLC ;CF=0 LPER:MOV AL,DATA2[SI] ADC DATA1[SI],AL INC SI DEC CX JNZ LPER MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START 汇编语言的两种基本语句 (1)指令性语句 也称可执行性语句,表示为CPU指令系统中各种用助记符表示的机器指令。这些指令在汇编过程中最终转换为目标程序的机器代码,在运行该程序时被执行。 例 MOV AX, 100H → B8 00 01 (2)指示性语句(伪指令语句) 指示汇编程序进行汇编的操作,例如用来定义变量,分配存储单元,指示程序开始和结束等。这些指令在汇编过程中被执行,指示相应的汇编操作,其自身并不产生任何目标代码。如伪指令。 一个程序经汇编、连接和装入内存后,在执行程序之前,指示性语句的功能已经完成,故又称伪操作;而指令性语句的功能尚未完成,需控制CPU去执行,才能完成。 汇编语言语句组成 [名字] 操作码/伪操作 [操作数] [;注释] 分为4部分,各部分之间至少要用一个空格作为间隔。 操作码是一个助记符,它可以是指令、伪指令(又叫伪操作)或宏指令。 操作数由寄存器、存储单元、数据项或其表达式构成。汇编时一个表达式得到一个值。 注释用来说明程序或语句的功能,用分号;作为注释开始。 其中名字和注释视情况而定,可有可无。 标号的三个属性: (1)段属性(SEGMENT):表示标号所在段的段地址 (2)偏移属性(OFFSET):表示标号的偏移地址 (3)距离属性(类型属性TYPE):表示标号作为段内或 段间的转移属性 2)变量名、段名、过程名 变量——通常是存放在某些存储单元的数据,这些数据在程序运行期间可以修改。 3.2.5 操作数 常数、寄存器、标号、变量和表达式 ?1.常数 常数——没有任何属性的纯数值。在汇编期间,它的值已经完全确定,而且在程序的运行中也不会发生变化。它可以有以下几种类型: 5.表达式与运算符 3)关系运算符 包括:EQ(相等)、NE(不相等)、 LT(小于)、GT(大于)、 LE(小于或等于)、GE(大于或等于)。 结果:若关系为假(不成立),结果为0; 若关系为真(成立),结果为0FFH或0FFFFH。 例: MOV BX,2 LT 5 ;BX=0FFFFH 例: MOV AX,4 EQ 3 ;AX=0 4)分析运算符 分析运算符用以分析一个存储器操作数的属性,如段、偏移量或类型等; ⑴ 取地址的偏移量 格式:OFFSET 变量名或标号 功能:取变量名或标号所在段的段内偏移量。 MOV SI,OFFSET DATA

文档评论(0)

186****0772 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档