欢迎来到天天文库
浏览记录
ID:5317581
大小:578.10 KB
页数:104页
时间:2017-12-08
《04 汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第四章80x86汇编语言程序设计¢第一节汇编语言概述¢第二节汇编语言语句的组成¢第三节汇编语言的语句¢第四节宏汇编指令¢第五节编写完整的汇编语言程序¢第六节汇编语言程序设计第一节汇编语言概述一个简单的8086系统下的汇编语言程序:数据段DATASEGMENTSTRINGDB‘HELLOWORLD!’,0DH,0AH,‘$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATAMOVDS,AX;初始化数据段的段地址代码段MOVAH,09HLEADX,STRING;输出字符串INT21HMOV
2、AH,4CHINT21H;调用4CH号系统功能返回DOSCODEENDSENDBEGIN第二节汇编语言语句的组成¾汇编语言程序的语句中包含的元素:ò字符集ò保留字与标识符ò常量、变量与标号ò表达式及运算符一、字符集¾允许使用的字符:ò字母,包括大写字母A~Z和小写字母a~z;ò数字,包括0~9;ò特殊字符,包括:+-*/=()[]<>;,‘“.—:?@$&及空格、制表符、回车、换行等。¾注意:ò除了字符串,字母都是不区分大小写ò一系列相连的空格、制表符效果相当于一个空格ò一系列相连的回车换行相当于一次回车换行ò分号“;”后一直到行尾的内容都是注释
3、ò字符“&”若用于某行的开头,则表示该行是上一行的续行二、保留字与标识符1、保留字在汇编语言中有特定意义的词,可分为:¾指令助记符及指令前缀如:MOV、ADD、REP等¾寄存器名如:AX、EBX、CL等¾伪指令助记符如:DB、SEGMENT等¾其他保留字,包括运算符、操作符等如:EQ、LT、OFFSET、SEG等2、标识符¾标识符是程序员自己起的名字,如变量名、标号、段名、过程名等¾标识符的命名规则:ò标识符必须由字母、数字和几个特殊字符(包括_@$?:)组成,而且第一个字符不能是数字(否则可能与16进制的数字混淆)ò标识符不能与某个保留字相同,
4、以免混淆ò尽量用有意义的英文单词或缩写来命名,以增加程序的可读性三、常量、变量与标号1、常量¾数字常量ò二进制:以B结尾,如10101010Bò八进制:以Q结尾,如123Q,67Qò十进制:以D结尾,“D”可省略,如1234D,5678ò十六进制:以H结尾,A~F开头的数须在前面加“0”如:1234H,0FFFFH¾字符串常量ò用单引号或双引号引起来的一个或多个ASCII字符ò每个字符的值等于其ASCII码值ò例:‘A’=41H一个字节,‘12’=31H、32H两个字节2、变量¾变量是存放在存储器中的操作数¾可通过变量的名字来访问变量¾变量具有三
5、个属性:ò段属性,即变量所在的段的基地址;ò偏移量属性,即变量相对于段的起始地址的偏移量;ò类型属性,包括BYTE(字节)、WORD(字)、DWORD(双字)、FWORD(6字节)、QWORD(四字)、TBYTE(10字节)等。3、标号¾标号是一条指令性语句的起始地址¾变量具有三个属性:ò段属性,即变量所在的段的基地址;ò偏移量属性,即变量相对于段的起始地址的偏移量;ò类型属性,包括NEAR(近程,即段内)、FAR(远程,即段间)四、表达式及运算符¾由常量、变量、标号和一些运算符、操作符构成的式子¾表达式的值在汇编的过程中就已经被汇编程序计算出来
6、¾运算符的分类:ò算术运算符ò逻辑运算符ò关系运算符ò属性运算符ò数值返回操作符1、算术运算符¾五种算术运算:加:+、减:-、乘:*、除:/、模:MODò合法地址表达式:地址-地址(处在同个段中);地址±常数VADDR1-ADDR2(假设两个地址处在同个段中)VADDR1+1VADDR2-2ò非法地址表达式:地址+地址;地址*地址;地址/地址;常量-地址;地址-地址(处在不同段中)UADDR1+ADDR2UADDR1*ADDR2UADDR1/2U100-ADDR1USEG1_A-SEG2_B(假设两个地址处在不同段中)2、逻辑运算符¾五种算术运算
7、:与AND、或OR、异或XOR、非NOT、逻辑左移SHL、逻辑右移SHR¾只用于数字表达式中¾例:¾MOVAL,10101010BAND11001100B;AL←10001000B¾MOVAL,10001000BOR01000100B;AL←11001100B¾MOVAX,1000100010001000BXOR1100110011001100B;AX←0100010001000100B¾MOVAX,NOT1010101010101010B;AX←0101010101010101B3、关系运算符¾六种关系运算符:òEQ(Equal,相等)òNE(
8、NotEqual,不等)òLT(LessThan,小于)òLE(LessthanorEqual,小于或等于)òGT(GreatThan,
此文档下载收益归作者所有