欢迎来到天天文库
浏览记录
ID:57026939
大小:248.50 KB
页数:15页
时间:2020-07-26
《程序设计(基本语法2)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、表达式与运算符——分析运算符4.2汇编语言语法变量的元素个数LENGTH符号名DUP定义的变量的元素个数,否则=1如,BUFDWNDUP(?),LENGTHBUF=NXDD12345678H,LENGTHX=1求符号名分配的总字节数SIZE符号名返回变量的总字节数:SIZE=LENGTH*TYPE例如:BUF1DBN1,N2,N3,…N10BUF2DB10DUP(0)BUF3DW10DUP(?)OFFSETBUF1=0000HTYPEBUF1=1LENGTHBUF1=1SIZEBUF1=1OFFSETBUF2=000AHTYPEBUF2=1LENGTHBUF2=10SIZEBUF2=
2、10OFFSETBUF3=0014HTYPEBUF3=2LENGTHBUF3=10SIZEBUF3=20表达式与运算符属性运算符4.2汇编语言语法定义类型算符PTR格式:类型PTR表达式类型BYTEWORDDWORD例如:MOVBYTEPTR[DI],12H;将[DI]定义为字节类型。MOV[DI],12H;非法指令INCWORDPTR[BX];字加1INCBYTEPTR[BX];字节加1,当([BX])=1FFH时结果;不相同INC[BX];非法指令BUFWDW1234H;BUF为字类型。MOVAH,BYTEPTRBUFW;将BUFW指定为字节类型;AH=34H指示性语句(伪指令)
3、4.2汇编语言语法符号定义伪指令:EQU(=)格式:符号名EQU(=)表达式例如:COUNTEQU20ABC=21H+4MOVAL,COUNT;将20送ALMOVAL,ABC;将25H送ALBEQU10;非法定义如:A=3BEQU5;定义B=5A=10;重定义A为10EQU不能重复定义,=可任意重复定义。指示性语句(伪指令)4.2汇编语言语法段定义伪指令格式:段名SEGMENT[定位方式][组合方式][‘类别名’]段名ENDS定义了以段名命名的存贮段。汇编时给该段名分配一个段基值。…例如:DATASEGMENT…DATAENDSCODESEGMENT…CODEENDS定义了二个段,段
4、名分别为DATA、CODE。指示性语句(伪指令)4.2汇编语言语法段定义伪指令的参数格式:段名SEGMENT[定位类型][组合方式][‘类别名’]定位方式:段的起始地址边界规则PAGE——指定起始地址的低8位是0,称页边界XXXXXXXXXXXX00000000BPARA——指定起始地址的低4位是0,称段边界(缺省)XXXXXXXXXXXXXXXX0000BWORD——指定起始地址的低2位是0,称字边界XXXXXXXXXXXXXXXXXX00BBYTE——指定起始地址为任意值。XXXXXXXXXXXXXXXXXXXXB(PARA缺省方式下可以省略)指示性语句(伪指令)4.2汇编语言语
5、法段定义伪指令的参数格式:段名SEGMENT[定位类型][组合类型][‘类别名’]组合方式:连接程序时设定本段与其它同名段的连接方式。(模块化程序设计)PUBLIC:同名段依次连接起来,形成一个连续的段。COMMON:同名段共用同一段起始地址,相互重叠段的长度,为最长的段的长度。AT表达式:定位在表达式所指定的段地址。(代码段例外)STACK:同名段构成一个连续的堆栈段,自动初始化SP。MEMORY:表示本段定位在所有段的地址之上,高地址处。空缺(NONE)不与任何段相连接。各段有独立段基址。(缺省方式)指示性语句(伪指令)4.2汇编语言语法段定义伪指令的参数格式:段名SEGMENT
6、[定位类型][组合方式][‘类别名’]类别名:用单引号括起来的字符串。类别名相同的段按先后顺序存放在一个连续的存贮区中,形统一的物理段。(模块化程序设计)指示性语句(伪指令)段寄存器说明伪指令格式:ASSUME段寄存器:段名1,段寄存器:段名2……在代码段,告诉汇编程序CS、DS、ES、SS应具有的符号段基址,但是段寄存器(CS除外)还必须用传送指令赋值。一般紧跟在SEGMENT语句之后例如:CODESEGMENTPARAASSUMECS:CODE,DS:DATAMOVAX,DATAMOVDS,AX;传送指令赋值……CODEENDSDATASEGMENT……DATAENDS4.2汇编
7、语言语法指示性语句(伪指令)过程(子程序)定义伪指令格式:过程名PROCNEAR[FAR]…………RET;返回指令过程名ENDP过程名:过程的起始地址,如子程序定义。类型:NEAR近过程(主、子同段)FAR远过程(主、子在两个不同的代码段)程序结束伪指令END格式:END标号标号为程序中第一条指令性指令标号。4.2汇编语言语法DATASEGMENTvarBDB63,63H,'ABCD',3DUP(?),2DUP(1,3)varWDW1234H,5,'AB'
此文档下载收益归作者所有