《汇编语句格式》ppt课件

上传人:tian****1990 文档编号:76049801 上传时间:2019-02-02 格式:PPT 页数:26 大小:293.81KB
返回 下载 相关 举报
《汇编语句格式》ppt课件_第1页
第1页 / 共26页
《汇编语句格式》ppt课件_第2页
第2页 / 共26页
《汇编语句格式》ppt课件_第3页
第3页 / 共26页
《汇编语句格式》ppt课件_第4页
第4页 / 共26页
《汇编语句格式》ppt课件_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《《汇编语句格式》ppt课件》由会员分享,可在线阅读,更多相关《《汇编语句格式》ppt课件(26页珍藏版)》请在金锄头文库上搜索。

1、1,第四章 汇编语言,4.1 汇编语句格式 4.2 汇编语言中数据的表示方法 4.3 运算符号 4.4 伪指令 4.5 汇编语言的上机过程,2,4.1 汇编语句格式,4.1.1 字符集 4.1.2 汇编语句格式,3,Microsoft的宏汇编语言由下列字符组成: (1)英文字母:AZ和az。 (2)数字字符:09。 (3)算术运算符:+,-,*,/。 (4)关系运算符:。 (5)分隔符:,:,;,(,),”, (空格),TAB(制表符)。 (6)控制符:CR(回车),LF(换行),FF(换页)。 (7)其它字符:,_(下划线),.,%,!。,4.1.1 字符集,4,4.1.2 汇编语句格式,D

2、SEG SEGMENT ;数据段开始 DATA1 DB 13H,26H ;原始数据 DATA2 DW 0 ;保存结果单元 DSEG ENDS ;数据段结束 SSEG SEGMENT STACK ;堆栈段开始 SKTOP DB 20 DUP(0) SSEG ENDS ;堆栈段结束 CSEG SEGMENT ;代码段开始 ASSUME CS:CSEG,DS:DSEG, SS:SSEG START:MOV AX,DSEG ;初始化数据段基址 MOV DS,AX MOV AX,SSEG ;初始化堆栈段基址 MOV SS,AX MOV SP,LENGTH SKTOP ;设段堆栈指针 XOR AH,AH

3、MOV AL,DATA1 ;取第一个数据 ADD AL,DATA11 ;与第二个数据相加 ADC AH,0 MOV DATA2,AX ;保存结果 MOV AH,4CH INT 21H ;返间DOS CSEG ENDS ;代码段结束 END START ;源程序结束,5,汇编语言源程序是若干汇编语言语句的有序集合 一个语句是一条指令语句、伪指令语句或宏指令语句 汇编语句最多由四个域组成:,标号 操作符 操作数 ;注释,6,1. 标号,(1) 定义: 程序设计人员自己定义的符号, 用于代表内存单元的地址。 (2) 标号的组成规则 1) 组成标号的字符: AZ,az,09,?,.,$和_(下划线)。

4、 2) 标号的最大长度为3l(字符个数)。 3) 标号的第一个字符不能是09的数字。 4) 机器指令语句中标号必须以冒号结束,伪指令语句中的标号不允许有冒号。,7,(3) 标号的三个属性,段值属性:标号所在段的段值,一个在数据段中定义的标号段值是DS的值,而在代码段中定义的标号段值是CS的值,可以用SEG取得。 偏移量属性:标号所在段起始偏移地址到它的存放位置之间的字节数,可以用OFFSET取得。,8,类型属性:当标号表示数据在内存的偏移地址时,伪指令DB、DW、DD、DQ、DT就规定了其属性为字节、字、双字四字和十字节属性,标号的类型属性实际上指出了为这个变量类型分配的字节数目;当标号表示机

5、器指令代码中的地址时,类型NEAR和FAR指出了该标号是否能被其他代码段的指令调用。可以用TYPE算符得到。,9,2. 操作符 操作符可以是指令助记符, 伪指令助记符,宏指令符号。 3. 操作数 操作数是操作符操作的对象,可以是数据本身,也可以是标号、寄存器名或算术表达式。 4. 注释 以分号开始,不被执行。注释是对指令功能的说明,目的是使自己或他人在阅读分析程序时方便。,10,4.2.1 数据在机内的表示 4.2.2 汇编语言中数据的书写形式,4.2 汇编语言中数据的表示方法,11,4.2.1 数据在机内的表示,(1)数据的符号 用0表示正,1表示负. 对于定点表示有原码、反码、补码和过余码

6、等表示方法. (2)数据的定点表示法(补码) 1)小数点在最低位之后,代表纯整数, 16位表示范围为 -32768+32767 2)小数点在最高位和次高位之间,代表纯小数,16位定点小数的表示范围为-11-2-15 (3)数据的浮点表示法 在浮点表示中, 分为尾数和阶码两部分,有多种表示方法。现在一般用IEEE的表示方法.,12,1ffffff,13,转换为二进制为 100100.101 规格化后为 1.0010010125 阶码为 101 加过余量127后 0111 1111+00000101=10000100 尾数(23位) 001 0010 1000 0000 0000 0000 符号&

7、阶码&尾数 01000010 00010010 10000000 00000000 用16进制表示为 42 12 80 00 符号位变化 11000010 00010010 10000000 00000000 C2 12 80 00,浮点数据表示法(举例),36.625,-36.625,14,(4) 数据的表示范围,1)一个字节(字节数据) 无符号整数 0255 补码表示带符号整数 -128127 2)二个字节(字数据) 无符号整数 0 655535 补码表示带符号整数 -32767 +32768 3) 四字节表示的浮点数据(规格化) 正数: 2128(1-2-24)N2-127 负数:212

8、8(-(1-2-24)N-2-127 零: 阶码和尾数同时为0,15,4.2.2汇编语言中数据的书写形式,1)二进制常数 0,1 以B结尾 2)八进制常数 07, 以Q结尾 3)十进制常数 09, 以D结尾或空 4)十六进制常数 09, AF, 以H结尾 5)十进制科学记数法常数 以09,E和指数组成, 如 0.2467E+5 6)字符常数 用单引号或双引号给出,例如 a ,”高” 7)标识符号 用符号定义伪指令定义的符号。 8)表达式 用运算符号连接起来的以上各种数据,16,算术运算符 逻辑运算符 关系运算符 分析算符 组合算符 字节分离算符 运算符的优先级,4.3 运算符,17,(1)算术

9、运算符,七个: + - * / MOD SHL SHR + - * / 与通常的用法相同 MOD(取模) 两数相除之余数, 例 10 MOD 3=1 SHL(左移) 按二进制左移, 例 10 SHL 2 =40 SHR(右移) 按二进制右移, 例 10 SHR 2 =2,18,(2)逻辑运算符1,AND(与) 按位与 76H AND 23H=22H,0111 0110 0010 0011 0010 0010,AND,OR(或) 按位或 76H OR 23H=77H,19,(2)逻辑运算符2,XOR 异或 76H XOR 23H=55H,NOT(非) 按位取反 NOT 76H =89H,20,(

10、3)关系运算符,相等EQ、不等NE、小于LT、大于GT、小于或等于LE、大于或等于GE 参与运算的两个操作数必须都是数据,或者是同一段中的存储单元,而结果总是一个数值:全0或者全1(0FFH或者0FFFFH),MOV AX,0 LT 1 MOV AL,0 LT 1,21,(4)分析算符,1. SEG 取标号所代表的地址的段地址. 2. OFFSET 取标号所代表的地址的偏移量. 3. TYPE 取标号所代表的内存单元的类型值.,ALPHA DB 15,23,46 BETA DW 4267H,25H MOV AX,SEG ALPHA MOV BX,SEG BETA MOV CX,OFFSET A

11、LPHA MOV DX,OFFSET BETA MOV SI,TYPE ALPHA MOV DI,TYPE BETA,22,(4)分析算符,4. SIZE 取变量分配的内存单元的字节数。 5. LENGTH 取变量分配的内存单元数。,ALPHA DB 5 DUP(0),2 BETA DW 3 DUP (0),23 GAMA DD 4 DUP (0),2 DATA0 DW 32H,5 MOV AX,SIZE ALPHA ;5 MOV BX,SIZE BETA ;6 MOV CX,SIZE GAMA ;16 MOV DX,SIZE DATA0 ;2 MOV AX,LENGTH ALPHA ;5 M

12、OV BX,LENGTH BETA ;3 MOV CX,LENGTH GAMA ;4 MOV DX,LENGTH DATA0 ;1,SIZE LAB= (LENGTH LAB) * (TYPE LAB),23,(5)综合算符1,PTR 用来建立或临时改变存储器操作数的类型。 格式:NEWT PTR 标号或存储单元,建立: MOV BX,10H 错误 MOV BYTE PTRBX,10H MOV WORD PTRBX,10H 临时更改: A1 DB 10H,20H MOV AX,A1 错误 MOV AX,WORD PTR A1,24,(5)综合算符2,格式:THIS 类型 THIS运算符通常和E

13、QU伪指令连用,定义新的标号,其段基值和偏移量和紧跟其后的标号相同。,DATA0 EQU THIS BYTE DATA1 DW 1234H,5698H,25,(6)字节分离算符,用于将一个表达式的高字节和低字节分开。LOW取低字节,HIGH取高字节。,MOV AL,HIGH 1234H MOV AH,LOW 1234H MOV AL,LOW 12345 MOV AL,LOW 34*97+8 MOV AL, LOW OFFSET A1,26,运算符的优先级,表达式求值时,各种运算符的优先次序(由高至低)如下: 1)括号内的表达式 2)LENGTH,SIZE 3)PTR,OFFSET,SEG,TYPE 4)HIGH,LOW 5) *,MOD,SHL,SHR 6)十,一 7)EQ,NE,LT,LE,GT,GE 8)NOT 9)AND 10)OR,XOR。 优先级别相同时,按出现次序由左至右顺序计算。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号