第6章8086汇编语言程序设计.ppt

第6章8086汇编语言程序设计.ppt

ID:60760578

大小:104.00 KB

页数:26页

时间:2020-02-02

第6章8086汇编语言程序设计.ppt_第1页
第6章8086汇编语言程序设计.ppt_第2页
第6章8086汇编语言程序设计.ppt_第3页
第6章8086汇编语言程序设计.ppt_第4页
第6章8086汇编语言程序设计.ppt_第5页
资源描述:

《第6章8086汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章汇编语言及程序设计初步主要内容★汇编语言语句、变量、标号★汇编语言伪指令及程序结构★汇编语言程序设计方法6.1汇编语言语句6.1.1语句的种类及格式1、语句的种类汇编语句指令语句:在汇编时可以翻译成机器指令如前面学习的各种指令;伪指令语句:在汇编时无机器指令对应,如:变量、符号的定义,段的定义;宏指令2、语句的格式指令语句的格式:[标号:]指令助记符[操作数1][,操作数2][;注释]伪指令语句的格式:[名字]伪指令定义[参数1,…,参数n][;注释]6.1.2数值表达式1、常量(1)数值常量:MOVAX,1F00hMOVCX,[BX+20](2)字符常

2、量:MOVAL,’a’CMPBX,’ab’2、数值表达式(1)算术运算MOVAX,100*4+7(2)关系运算MOVAX,1234GT1024等效:MOVAX,0FFFFh关系运算符有:GT—大于、LT—小于、NE—等于EQ—等于、LE—小于等于、GE—大于等于在关系运算时,关系成立返回值FFFF,否则返回0。(3)逻辑运算MOVAX,1024AND0FFhANDBX,3AND47h6.1.3地址表达式地址表达式是指由寄存器间址、变量、地址常量组成的表达式,如:VAR[BX+DI]或VAR[BX][DI]等。6.2变量和标号6.2.1数据定义语句1、数据的定义

3、在汇编语言中使用的所有数据都必须预先使用数据定义语为不同的数据定义一个变量(数据存放地址的符号描述)。其格式如下:[变量名]数据定义符[参数1][,参数2]……..数据定义符有:DB(字节)、DW(字)、DD(双字)、DQ(8字节)、DT(10字节)。(1)数值数据的定义X1DB10,0FFhX2DW0,0A30h,1F22hX3DD12345678h,3Fh(2)字符数据的定义字符或字符串的定义通常采用DB伪指令定义,如:BUFDB‘ABCD1234$’,0Ah,0DhMESSGDB‘Howareyou!’在BUF的首地址单元存放了9个字节的数据,它们是这些

4、字符的ASCII码值。0AhFFh000030h0Ah22h1Fh78h56h34h12h3Fh000000X1X2X3(3)?数据在定义数据时,有时使用?,如:X1DB?表示定义一个字节的未知数据,起始地址表示为X1。2、重复操作符DUP如:BUFDB100DUP(0)表示在BUF为首址的存储单元存放了100个字节的数据0。DUP内可以是表达式,也可以是DUP嵌套,如:DATA1DB100DUP(’ABCD’)BUFFERDW1,5DUP(1,2,4DUP(0))3、参数为变量名如:BUFDB‘ABCD’ADDR1DWBUFADDR2DDBUF假定BUF的偏

5、移为0220h,段值为2F00h,则以上3个变量的存储示意图如右所示:‘A’‘B’‘C’‘D’20h02h20h02h00h2FhBUFADDR1ADDR26.2.2变量和标号的属性操作1、变量和标号的属性(1)变量:段属性、偏移属性、类型(BYTEWORDDWORD)(2)标号:段属性、偏移属性、类型(FARNEAR)2、属性分离符(1)SEG段属性分离符MOVAX,SEGBUF;BUF为定义的字变量将BUF的段值传送到AX寄存器(立即寻址)(2)OFFSET偏移属性分离符MOVAX,OFFSETBUF将BUF的偏移属性送AX寄存器(立即寻址),等效于:LE

6、AAX,BUF传送变量的偏移属性,可以使用地址表达式,如:MOVAX,OFFSETBUF+1该指令的意图是将BUF的偏移地址值加1后送AX寄存器。(3)TYPE类型值返回如:MOVAX,TYPEBUF;BUF为字节变量。该指令等效于:MOVAX,1;各类型返回值如下表:类型返回值DB1DW2DD4DQ8DT0AhNEARFFFFhFARFFFEh3、属性操作符(1)PTR指定地址表达式的类型。(2)THIS格式:THIS类型如:X1EQUTHISBYTEX2DW0,1FFFh表示X1和X2指向同一数据,且X1为字节类型,X2为字类型。6.3汇编语言程序的组织6

7、.3.1汇编语言段的定义1、段的定义格式:段名SEGMENT[定位类型][组合类型][‘别名’](段的内容:如数据段定义数据,代码段书写代码等)段名ENDS其中:(1)定位类型:指段起始地址值的要求,有如下关键字:PARA(默认):低4位为0;WORD:最低位为0BYTE:无要求;PAGE:低8位为0(2)组合方式:指相同性质的段以何种方式组合。其中关键字STACK表示定义的是堆栈段。(3)别名:段的别名2、段指定语句格式:ASSUME[段寄存器名:段名][,段寄存器名:段名]ASSUME出现在代码段,可以在程序开始之前或其它位置说明段。如:ASSUMECS:

8、CODE,DS:DATA3、汇编地址指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。