- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4-1汇编程序结构
微型计算机原理及应用 第4章 汇编语言程序设计 第4章 汇编语言程序设计 * * 机器指令——二进制数形式的指令和数据。 B0 64 是什么意思?这就是机器语言。既不直观,又不易理解和记忆.---机器语言 (符号指令——用便于记忆的英语助记符和符号表示的指令和数据。它反映了指令的功能和主要特征,便于人们理解和记忆。----汇编语言 MOV AL,64H ;很容易记忆理解,这就是助记符。 机器语言与汇编语言 汇编语言程序是指用指令助记符、符号地址、标号等编写的源程序(文件名.ASM)(用编辑程序建立)。 (它需由宏汇编程序(MASM.EXE)翻译成目标文件(文件名.OBJ),再经连接程序(LINK.EXE)转换成可执行文件(文件名.EXE) ,才可运行。 在DOS命令状态下键入文件名就可以执行该文件。 为什么还要使用汇编语言? 1)面向机器的语言,本课程介绍微机工作原理和过程,通过汇编程序可以更好的了解硬件及数据处理原理。 2)涉及的都是和接口打交道的程序,要求简短、执行时间少。汇编指令是根据计算机硬件特点研制出来的,指令系统与计算机硬件有着某些对应关系,编程程序能够充分开发计算机硬件资源,它的程序目标代码短、运行速度快,在自动控制、智能化仪器仪表、监测等领域应用非常广泛。 汇编语言的执行 4.1 汇编语言结构 段名1 SEGMENT ┇ 段名1 ENDS 段名2 SEGMENT ┇ 段名2 ENDS … 段名n SEGMENT ┇ 段名n ENDS END 一个完整的用汇编语言写的源程序,由可执行指令组成的指令性语句和由对符号定义、分配存储单元、分段等指示性语句组成。一个完整的程序至少应该包括三种段:由源程序组成的码段,堆栈操作所需要的堆栈段和存放数据的数据段。 [例4-1] 编写一个两个字相加的程序。 DATA SEGMENT DATA1 DW 0F865H DATA2 DW 360CH DATA ENDS ; STACK SEGMENT SUM DW 100 DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA,SS:STACK 定义数据段 定义堆栈段 START:MOV AX,DS MOV DS,AX MOV AX,ESEG MOV ES,AX MOV AX,DATA ADD AX,DATA MOV ES:[SI],AX HLT CODE ENDS END START 4.1 汇编语言结构 汇编源程序什么样子? 定义代码段 完整的汇编语言源程序包含1~几个段。整个程序用伪指令END结束。。 程序段的格式: 段名 SEGMENT; 语句1 语句2 ------ 段名 ENDS; 开始一般有一个段的名字-段名;名字后面空一格写 SEGMENT,是一个伪指令表示段的开始 ;下面写一个一个语句,写完后还要在同样的段名下面加上ENDS 表示段的结束。现在我们知道一个段的格式由SEGMENT开始,由ENDS 结束。。 机器语言与汇编语言 包含几个段?段内这些指令有什么含义 数据段和堆栈段里面由DB或DW定义一些数据,这些指令称为伪指令,用来说明DATA1这个数据符号的含义。CODE段比较复杂,含有很多我们学过的那些指令。从而看出各段中的指令是不一样的。 程序结尾的地方不是单纯的END ,后面还跟一个START,START用来说明什么?说明该程序经过汇编程序汇编后,从START处开始执行。 1)START不是关键字,就是一个标号,你写任何一个以字母开头的比如 L0之类的符号都可以。它后面跟着第一个指令性语句。 2)END后面也可以不跟标号,则说明该程序是一个子程序。 ; 机器语言与汇编语言 包含几个段?段内这些指令有什么含义 指令性语句——由8086指令助记符构成的语句 指令性语句由
文档评论(0)