汇编语言基础伪指令.ppt
《汇编语言基础伪指令.ppt》由会员分享,可在线阅读,更多相关《汇编语言基础伪指令.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.3 3.3 汇编语言基础汇编语言基础(P111)(P111)西安电子科技大学西安电子科技大学 冯育长冯育长 序言计算机语言发展简介 一常量及其数制二、汇编语言语句格式三、伪指令*(重点难点)1硬 件机器语言汇编语言高级语言继 续 计算机语言发展简介计算机语言发展简介 2汇编语言与机器语言的关系汇编语言与机器语言的关系用汇编语言编写的程序称为汇编语言源程序汇编语言源程序MASM.EXE 系统软件系统软件汇编程序汇编程序汇编语言源程序汇编语言源程序.ASM机器语言机器语言目标程序目标程序汇编语言的两种语句类型汇编语言的两种语句类型1.CPU1.CPU指令指令 CPU CPU执行的语句,如执行的
2、语句,如 MOV,ADD MOV,ADD 等等 能够生成目标代码能够生成目标代码2.2.伪指令(指示性语句)伪指令(指示性语句)CPUCPU不不执执行行,而而由由汇汇编编程程序序执执行行的的语语句句,不不生生成成目目标标代码代码.定义逻辑段、指示程序开始和结束等定义逻辑段、指示程序开始和结束等.7一、汇编语言的常量及其数制一、汇编语言的常量及其数制B B 二进制数二进制数D D(或缺省)(或缺省)十进制数十进制数H H 十十六进制数六进制数A A 单引号表示单引号表示ASCIIASCII码(字符串常量)码(字符串常量)用后缀表示常数的数制用后缀表示常数的数制等价如:如:MOV ALMOV AL
3、,0110 0100B0110 0100B MOV AL MOV AL,64H64H MOV AL MOV AL,100100 MOV ALMOV AL,1 1;(;(ALAL)=31H=31H MOV AL MOV AL,0ABH0ABH以以A AF F开头的数,加前导开头的数,加前导0 08允许使用一些简单的允许使用一些简单的常量常量表达式表达式等价如:MOV AL,3+5 MOV AL,16/2 MOV AL,8 9二、汇编语言语句格式二、汇编语言语句格式 标号:标号:助记符助记符 操作数操作数,操作数,操作数 ;注释;注释 表示可选项表示可选项指令的符号地址,指令的符号地址,标号后要有
4、冒号标号后要有冒号注释前加分号注释前加分号根据不同的指令根据不同的指令可有可无,可多可少可有可无,可多可少操作码操作码不可缺省不可缺省1.CPU1.CPU指令语句格式指令语句格式:如如 L1:MOV AL,BL ;数据传送;数据传送10标号由下列字符组成:标号由下列字符组成:1.AZ 或或 az 2.?_ .3.09 但但09不能作为第一个字符不能作为第一个字符L1:MOV AL,BL 字母数字串,字母数字串,大小写不分,大小写不分,不要用保留字不要用保留字合法的标号合法的标号L1:L21:NEXT:LOOP2:EXITagain:非法的标号非法的标号1L:21L:$NEXT:LOOP:11
5、变量名变量名 助记符助记符 操作数操作数,操作数,操作数 ;注释;注释 变量的符号地址,变量的符号地址,后无冒号后无冒号伪指令助记符伪指令助记符 不可缺省不可缺省2.2.伪指令语句格式伪指令语句格式:指示汇编程序要完成的操作。指示汇编程序要完成的操作。用来定义变量用来定义变量,分配存储单元分配存储单元,指示程序开始和结束等指示程序开始和结束等MASM.EXE1.CPU1.CPU指令语句格式指令语句格式:12三、三、伪指令伪指令CPUCPU不执行,而由汇编程序执行的语句不执行,而由汇编程序执行的语句指示汇编程序(指示汇编程序(MASM.EXEMASM.EXE)要完成的操作。)要完成的操作。用于定
6、义变量、分配存储区、用于定义变量、分配存储区、定义逻辑段、指示程序开始和结束等定义逻辑段、指示程序开始和结束等131 1、定义段的伪指令、定义段的伪指令2 2、定义数据的伪指令、定义数据的伪指令 3 3、变量的属性及属性操作符、变量的属性及属性操作符4 4、定义字符串、定义字符串5 5、问号?及、问号?及DUPDUP在在DBDB和和DWDW的应用的应用重点掌握:重点掌握:n伪指令的格式及实现的操作伪指令的格式及实现的操作n伪指令的应用伪指令的应用141 1、定义段的伪指令定义段的伪指令段名段名 SEGMENTSEGMENT 定位类型定位类型 组合类型组合类型 类别类别 段名段名 ENDSEND
7、S说明段的起始位置,说明段的起始位置,缺省缺省,则起始地址为,则起始地址为 0H0H(段的起始地址能被(段的起始地址能被16 16 整除)整除)说明不同模块中同名段的连接方式说明不同模块中同名段的连接方式缺省缺省,不组合(同名段在逻辑上相互独立),不组合(同名段在逻辑上相互独立)说明说明 段的段的结束结束类别类别相同者,相同者,组合时连续存放,组合时连续存放,不组合时不组合时应应缺省缺省152 2、定义数据的伪指令、定义数据的伪指令n用于定义数据区中变量的类型用于定义数据区中变量的类型 DBDB 定义字节数据定义字节数据 Defin Byte Defin Byte n指令格式:指令格式:变量名
8、变量名 DBDB 数数11,数,数2 2 ;注释;注释 可省略可省略可选可选可有多个可有多个数据项数据项16定义数据段定义数据段DATADATA,其中包含其中包含3 3个变量个变量M M,N N和和SUMSUMDATA DATA SEGMENTSEGMENT M MDB 10HDB 10H N NDB 25HDB 25HSUMSUM DB 0DB 0DATA DATA ENDSENDS 例例1 1 由系统自动为段分配内存,由系统自动为段分配内存,且起始地址一定为且起始地址一定为0 0H HDATA DATA 是程序员指定的数据段段名;是程序员指定的数据段段名;SEGMENT SEGMENT 段
9、的定义伪指令段的定义伪指令段名可以是:段名可以是:DATA2 D1 D2 DATA2 D1 D2 等等定义字节变量定义字节变量ENDENDS S 数据段结束数据段结束 数据由此开始!数据由此开始!1FFFFH1FFFFH20000H20000H20001H20001H20002H20002H17定义数据段定义数据段DATADATA,其中包含其中包含3 3个变量个变量M M,N N和和SUMSUMDATA DATA SEGMENTSEGMENT M MDB 10HDB 10H N NDB 25HDB 25HSUMSUM DB 0DB 0DATA DATA ENDSENDS 例例1 1 由系统自动
10、为段分配内存空间,由系统自动为段分配内存空间,且起始地址一定为且起始地址一定为0 0H HM10H10HN25H25HSUM00H00H 段的起始地址能被段的起始地址能被1616整除整除 每个段最大为每个段最大为64KB64KB 最小视需要而定最小视需要而定要点要点:18CODE CODE SEGMENTSEGMENT ASSUME CSASSUME CS:CODECODE,DSDS:DATADATA STARTSTART:MOV AXMOV AX,DATADATA MOV DS MOV DS,AXAX MOV AL MOV AL,M M ADD AL ADD AL,N N MOV SUM M
11、OV SUM,ALAL CODE CODE ENDSENDS ENDEND STARTSTART 定义代码段定义代码段CODECODE,实现实现 M+N M+NSUMSUMDATA DATA SEGMENTSEGMENT M MDB 10HDB 10H N NDB 25HDB 25HSUMSUM DB 0DB 0DATA DATA ENDSENDS数据段由此开始 CODE CODE 是程序员指定的代码段段名;是程序员指定的代码段段名;SEGMENT SEGMENT 段的定义伪指令段的定义伪指令在代码段开头必须用在代码段开头必须用ASSUMEASSUME指定各段的段寄存器指定各段的段寄存器:CS
12、 CS 代码段段寄存器代码段段寄存器,DS DS 数据段段寄存器数据段段寄存器,ES ES 附加段段寄存器附加段段寄存器,SS SS 堆栈段段寄存器堆栈段段寄存器,注意语法格式注意语法格式 lENDENDS S 代码段结束代码段结束lEND END 源程序结束源程序结束l一般在一般在ENDEND之后是第一条指令的标号之后是第一条指令的标号l段名段名DATADATA代表数据段的段地址值,代表数据段的段地址值,用户应完成用户应完成DSDS的初始化,方法固定。的初始化,方法固定。l变量名表征变量的偏移地址变量名表征变量的偏移地址l引用变量名访问变量引用变量名访问变量直接寻址方式直接寻址方式19COD
13、E CODE SEGMENTSEGMENT ASSUME CSASSUME CS:CODECODE,DSDS:DATADATA STARTSTART:MOV AXMOV AX,DATADATA MOV DS MOV DS,AXAX MOV AL MOV AL,M M ADD AL ADD AL,N N MOV SUM MOV SUM,ALAL CODE CODE ENDSENDS ENDEND START START 定义代码段定义代码段CODECODE,实现实现 M+N M+NSUMSUMDATA DATA SEGMENTSEGMENT M MDB 10HDB 10H N NDB 25HDB
14、 25HSUMSUM DB 0DB 0DATA DATA ENDSENDS数据段由此开始 CODE CODE SEGMENTSEGMENT ASSUME CSASSUME CS:CODECODE,DSDS:DATADATA STARTSTART:MOV AXMOV AX,2000H2000H MOV DS MOV DS,AXAX MOV AL MOV AL,0000H0000H ADD AL ADD AL,0001H0001H MOV 0002H MOV 0002H,ALAL CODE CODE ENDSENDS ENDEND START START 设已知地址如图设已知地址如图示,则等价于:
15、示,则等价于:由于地址是由系统自动分配的,故:由于地址是由系统自动分配的,故:l一律用段名代表段地址值,一律用段名代表段地址值,完成完成DSDS的初始化的初始化l用变量名访问变量用变量名访问变量直接寻址方式直接寻址方式20CODE CODE SEGMENTSEGMENT ASSUME CSASSUME CS:CODECODE,DSDS:DATADATA STARTSTART:MOV AXMOV AX,DATADATA MOV DS MOV DS,AXAX MOV AL MOV AL,M M ADD AL ADD AL,N N MOV SUM MOV SUM,ALAL CODE CODE END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 基础 指令
限制150内