欢迎来到天天文库
浏览记录
ID:49264111
大小:642.50 KB
页数:46页
时间:2020-02-02
《CH4(1) 汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言程序设计第四章4.0概述4.1汇编语言程序格式4.2MASM中的表达式4.3伪指令语句4.4程序设计方法4.5DOS系统功能调用4.0概述从使用者的角度看,一般可分成以下三种:1、机器语言(MachineLanguage)用‘0’、‘1’数字代码来表示机器操作;如:加法:1001、1D、2B……特点:计算机能够直接识别,执行速度快;但不方便记忆和编程一、计算机程序设计语言2、汇编语言(AssemblyLanguage)用助记符来表示指令,如:加法:ADD……特点:机器不能识别,需翻译;但
2、仍然面向硬件,执行速度较快;多用于编制系统程序、实时控制和通信程序。3、高级语言(High-levelLanguage)用数学语言和自然语言编程;如:加法:+,输出:Printf…特点:编程方便简单,无需了解机器硬件;但机器不能识别,需要庞大的翻译系统,速度较慢。一般应用:混合语言汇编语言加高级语言等组合编程;各取所长,相互调用汇编语言实现:硬件操作高级语言实现:复杂算法二、汇编语言程序执行过程1、几个名词汇编语言:用助记符来表示指令的语言汇编语言源程序:用汇编语言编写的程序。汇编:将源程序翻译
3、成机器代码的过程。汇编程序:将源程序翻译成机器代码的程序。2、汇编语言源程序执行过程源程序汇编程序机器代码程序设计算法语法8086系统:MASM规范三、完整汇编源程序实例DATASEGMENTDA1DB12HDA2DB34HDA3DB00HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA(下接右边)START:MOVAX,DATAMOVDS,AXMOVBL,DA1ADDBL,DA2MOVDA3,BLMOVAH,4CHINT21HCODEENDSENDSTART分析
4、程序的结构、功能、组成汇编源程序特点分段的结构4个段,至少有代码段,其他视需要而定;有部分固定的程序框架(程序结构)基本组成---语句有些是前面学过的指令语句,其他是MASM中规定的格式、语法语句。段名1SEGMENT;段开始………段名1ENDS;段结束段名2SEGMENTASSUMECS:段名2,DS:段名1;段分配START:MOVAX,DATAMOVDS,AX;送段基址……………MOVAH,4CH;返回DOS方法一INT21H段名2ENDSENDSTART;源程序结束一般程序框架MAINP
5、ROCFAR…………PUSHDSMOVAX,0PUSHAX…………RETMAINENDP返回DOS方法二4.1汇编语言程序格式MASM中的语句分为两类:指令性语句:与机器指令相对应,可译成目标代码(机器指令代码)。伪指令语句:无对应的机器指令,汇编时对伪指令进行处理,可完成数据定义、存储区分配、段定义、段分配、指示程序开始和结束等功能。差别:格式及功能不同(形式);汇编时能否形成对应的机器码(本质)。一、汇编源程序的语句1、指令性语句格式:标号:指令助记符操作数,操作数;注释标号-符号地址;必须
6、加“:”;命名规则;可省略指令助记符-指令名称,不可省略操作数-操作对象;多个时用“,”隔开注释-以“;”开头;说明性语句,可省略例:NEXT:MOVAH,0FH;将0FH送入AH中2、伪指令语句(也称汇编命令语句)格式:名字伪指令指示符操作数,操作数;注释名字-符号地址;不加“:”;变量名、段名等;可省略伪指令指示符-MASM中规定的符号;如变量定义DB等操作数-操作对象;不同伪指令有不同要求,多个时用“,”隔开注释-以“;”开头;说明性语句,可省略例:DA1DB10H,20H,30H;定义变
7、量DA1,并赋初值MASM中使用的数据项:常数、寄存器、存储器、变量、标号或表达式。1、常数是固定值,没有属性,是确定的数据。二进制:字母“B”结尾,如:00110100B;十进制:字母“D”结尾或省略,如:1234D、5678;十六进制:字母“H”结尾,“A~F”开头时,前面加0,如:0F7H;字符串:用单引号‘’括起来字符或字符串,如:‘A’,‘123H’。注:字符串汇编时被翻译成对应的ASCII码,机内也以ASCII码形式存放,如:MOVAH,‘A’;AH=41H二、数据项与指令系统中介绍
8、的一样2、变量数据的符号地址;名称可以代表后面数据项第一字节的地址;例:DA1DB10H,20H,30H,…;定义变量DA1,初值为…,DA1表示‘10H’的地址相当于高级语言中的数组;在程序中作为存储器操作数来使用。变量有三种属性:⑴段值:变量所在段的段基址。⑵段内偏移地址:指变量所在地址与所在段首地址之间的地址偏移字节数。⑶类型:长度属性,指变量中每个元素所包含的字节数,类型有字节变量(BYTE)、字变量(WORD)、双字变量(DWORD)等。3、标号指令性语句的符号地址;名称代表后面可执行
此文档下载收益归作者所有