版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第四章 汇编语言4.1 汇编语句格式4.2 汇编语言中数据的表示方法4.3 运算符号4.4 伪指令4.5 汇编语言的上机过程24.1 汇编语句格式4.1.1 字符集4.1.2 汇编语句格式3Microsoft的宏汇编语言由下列字符组成:(1)英文字母:AZ和az。(2)数字字符:09。(3)算术运算符:+,-,*,/。(4)关系运算符:。(5)分隔符:,:,;,(,),”, (空格),TAB(制表符)。(6)控制符:CR(回车),LF(换行),FF(换页)。(7)其它字符:,_(下划线),.,%,!。4.1.1 字符集44.1.2 汇编语句格式DSEG SEGMENT ;数据段开始数据段开始
2、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:SSEGSTART:MOV AX,DSEG ;初始化数据段基址初始化数据段基址 MOVDS,AX MOVAX,SSEG;初始化堆栈段基址初始化堆栈段基址 MOV SS,AX MOV SP,LENGTH SKTOP;设
3、段堆栈指针设段堆栈指针 XORAH,AHMOV AL,DATA1;取第一个数据取第一个数据 ADD AL,DATA11 ;与第二个数据相加与第二个数据相加 ADCAH,0MOV DATA2,AX;保存结果保存结果 MOV AH,4CH INT21H ;返间返间DOSCSEG ENDS ;代码段结束代码段结束 ENDSTART;源程序结束源程序结束5p 汇编语言源程序是若干汇编语言语句的有序集合p 一个语句是一条指令语句、伪指令语句或宏指令语句 p 汇编语句最多由四个域组成:标号 操作符 操作数 ;注释61. 标号(1) 定义定义: 程序设计人员自己定义的符号, 用于代表内存单元的地址。(2)
4、标号的组成规则标号的组成规则 1) 组成标号的字符: AZ,az,09,?,.,$和_(下划线)。 2) 标号的最大长度为3l(字符个数)。 3) 标号的第一个字符不能是09的数字。 4) 机器指令语句中标号必须以冒号结束,伪指令语句中的标号不允许有冒号。7(3) 标号的三个属性标号的三个属性 段值属性:标号所在段的段值,一个在数据段中定义的标号段值是DS的值,而在代码段中定义的标号段值是CS的值,可以用SEG取得。 偏移量属性:标号所在段起始偏移地址到它的存放位置之间的字节数,可以用OFFSET取得。?标号的本质是什么?标号的本质是什么?8 类型属性:当标号表示数据在内存的偏移地址时,伪指令
5、DB、DW、DD、DQ、DT就规定了其属性为字节、字、双字四字和十字节属性,标号的类型属性实际上指出了为这个变量类型分配的字节数目;当标号表示机器指令代码中的地址时,类型NEAR和FAR指出了该标号是否能被其他代码段的指令调用。可以用TYPE算符得到。标号标号类型类型 类型值类型值字节类型字节类型(BYTE)字类型字类型(WORD)双字类型双字类型(DWORD)四字类型四字类型(QWORD)十字节类型十字节类型(TBYTE)近类型近类型(NEAR)远类型远类型(FAR)110-1-284292. 操作符操作符 操作符可以是指令助记符, 伪指令助记符,宏指令符号。3. 操作数操作数 操作数是操作
6、符操作的对象,可以是数据本身,也可以是标号、寄存器名或算术表达式。4. 注释注释 以分号开始,不被执行。注释是对指令功能的说明,目的是使自己或他人在阅读分析程序时方便。104.2.1 数据在机内的表示4.2.2 汇编语言中数据的书写形式4.2 汇编语言中数据的表示方法114.2.1 数据在机内的表示(1)数据的符号数据的符号 用0表示正,1表示负. 对于定点表示有原码、反码、补码和过余码等表示方法.(2)数据的定点表示法(补码)数据的定点表示法(补码) 1)小数点在最低位之后,代表纯整数, 16位表示范围为 -32768+32767 2)小数点在最高位和次高位之间,代表纯小数,16位定点小数的
7、表示范围为-11-2-15(3)数据的浮点表示法数据的浮点表示法 在浮点表示中, 分为尾数和阶码两部分,有多种表示方法。现在一般用IEEE754的表示方法. 12S阶码阶码尾尾 数数 06352长实数长实数尾数尾数52位位, 阶码阶码11位位,过余量过余量1023(3FFH)S阶码阶码尾尾 数数 10636479临时实数临时实数尾数尾数63位位, 阶码阶码15位位,过余量过余量16383(3FFFH)1ffffffS S阶码阶码尾尾 数数 0 031312323短实数短实数尾数尾数2323位位, , 阶码阶码8 8位位, ,过余量过余量127(7FH)127(7FH)13转换为二进制为转换为二
8、进制为 100100.101规格化后为规格化后为 1.0010010125阶码为阶码为 101加过余量加过余量127后后 0111 1111+00000101=10000100尾数尾数(23位位) 001 0010 1000 0000 0000 0000符号符号&阶码阶码&尾数尾数 01000010 00010010 10000000 00000000用用16进制表示为进制表示为 42 12 80 00符号位变化符号位变化 11000010 00010010 10000000 00000000 C2 12 80 00浮点数据表示法(举例)36.625-36.62514(4) 数
9、据的表示范围1)1)一个字节一个字节( (字节数据字节数据) ) 无符号整数 0255 补码表示带符号整数 -1281272)2)二个字节二个字节( (字数据字数据) ) 无符号整数 0 655535 补码表示带符号整数 -32767 +327683) 3) 四字节表示的浮点数据四字节表示的浮点数据( (规格化规格化) ) 正数: 2128(1-2-24)N2-126 负数:2128(-(1-2-24)N-2-126 零: 阶码和尾数同时为0154.2.2汇编语言中数据的书写形式1)二进制常数 0,1 以B结尾2)八进制常数 07, 以Q结尾3)十进制常数 09, 以D结尾或空4)十六进制常数
10、 09, AF, 以H结尾5)十进制科学记数法常数 以09,E和指数组成, 如 0.2467E+56)字符常数 用单引号或双引号给出,例如 a ,”高”7)标识符号 用符号定义伪指令定义的符号。8)表达式 用运算符号连接起来的以上各种数据16o算术运算符算术运算符o逻辑运算符逻辑运算符o关系运算符关系运算符o分析算符分析算符o组合算符组合算符o字节分离算符字节分离算符o运算符的优先级运算符的优先级4.3 运算符17(1)算术运算符)算术运算符o七个: + - * / MOD SHL SHRo+ - * / 与通常的用法相同oMOD(取模) 两数相除之余数, 例 10 MOD 3=1oSHL(左
11、移) 按二进制左移, 例 10 SHL 2 =40oSHR(右移) 按二进制右移, 例 10 SHR 2 =218(2)逻辑运算符)逻辑运算符1AND(与) 按位与76H AND 23H=22H0111 01100010 00110010 0010ANDOR(或) 按位或76H OR 23H=77H0111 01100010 00110111 0111OR19(2)逻辑运算符)逻辑运算符2XOR 异或 76H XOR 23H=55H0111 01100010 00110101 0101XORNOT(非) 按位取反NOT 76H =89H0111 01101000 1001NOT20(3)关系运
12、算符)关系运算符相等EQ、不等NE、小于LT、大于GT、小于或等于LE、大于或等于GE参与运算的两个操作数必须都是数据,或者是同一段中的存储单元,而结果总是一个数值:全0或者全1(0FFH或者0FFFFH)MOV AX,0 LT 1MOV AL,0 LT 121(4)分析算符)分析算符1. SEG 取标号所代表的地址的段地址取标号所代表的地址的段地址.2. OFFSET 取标号所代表的地址的偏移量取标号所代表的地址的偏移量.3. TYPE 取标号所代表的内存单元的类型值取标号所代表的内存单元的类型值.ALPHA DB 15,23,46BETA DW 4267H,25H MOV AX,SEG A
13、LPHA MOV BX,SEG BETA MOV CX,OFFSET ALPHA MOV DX,OFFSET BETA MOV SI,TYPE ALPHA MOV DI,TYPE BETAALPHA 0FH 2000:0001H 17H 2000:0002H 2EH 2000:0003H BETA 67H 2000:0004H 42H 2000:0005H 25H 2000:0006H 00H 2000:0007H 22(4)分析算符)分析算符4. SIZE 取变量分配的内存单元的字节数。取变量分配的内存单元的字节数。5. LENGTH 取变量分配的内存单元数。取变量分配的内存单元数。ALPH
14、A DB 5 DUP(0)BETA DW 3 DUP (0)GAMA DD 4 DUP (0)DATA0 DW 32H 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 MOV BX,LENGTH BETA ;3 MOV CX,LENGTH GAMA ;4 MOV DX,LENGTH DATA0 ;1SIZE LAB= (LENGTH LAB) * (TYPE LAB)23(5)组合算符)组合算符1PTR 用来建立或临时改变存储器操作
15、数的类型。用来建立或临时改变存储器操作数的类型。格式:格式:NEWTPTR 标号或存储单元标号或存储单元BX10H2000:0001H00H2000:0002HA110H2000:0003H20H2000:0004HB1或A221H2000:0005H34H2000:0006H 建立:建立: MOV BX,10H 错误错误 MOV BYTE PTRBX,10H MOV WORD PTRBX,10H 临时更改:临时更改: A1 DB 10H,20H MOV AX,A1 错误错误 MOV AX,WORD PTR A124(5)组合算符)组合算符2l 格式:格式:THIS 类型类型l THIS运算符通常和运算符通常和EQU伪指令连用,定义新的伪指令连用,定义新的标号,其段基值和偏移量和紧跟其后的标号相同。标号,其段基值和偏移量和紧跟其后的标号相同。 DATA0 EQU THIS BYTEDATA1 DW 1234H,5698H25(6)字节分离算符)字节分离算符用于将一个表达式的高字节和低字节分开。用于将一个表达式的高字节和低字节分开。LOW取低字节,取低字节,HIGH取高字节。取高字节。MOV AL,HIGH 1234HMOV AH,LOW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年职工职业技能竞赛考试题及答案(压缩机操作工赛项)
- 注册计量师试题及答案
- 2025年汽车维修工技能理论考试题库附答案(满分必刷)
- 纳米材料储能-洞察与解读
- 2025年环境保护法律法规培训试题及答案
- 2025年制冷与空调设备运行操作作业(特种作业)考试题库含答案
- 2025年公共管理学期末考试题及参考答案
- 2024-2025学年浙江省宁波市三锋联盟高一下学期期末政治试题及答案
- 2018护理三基题目及答案
- 南京市人民医院良性前列腺增生的药物治疗与转诊指征考核
- 2025年小学教育专升本真题解析题试卷(含答案)
- 建筑业十项新技术
- 二层小楼拆除施工方案
- 临时展览搭建与施工方案
- 2025年10月自考13886经济学原理(初级)
- 2025天津宏达投资控股有限公司校园招聘18人笔试参考题库附带答案详解
- 第11课 《课生态和谐新景观》说课稿 2024-2025学年岭南美版(2024) 初中美术七年级上册
- 光伏电站安全检查表
- 2025年江苏省常州市辅警招聘考试题题库(含参考答案)
- 从国内外角度对人工智能未来发展探索及影响的研究报告
- 2025通辽科左中旗招聘25名社区工作者考试参考试题及答案解析
评论
0/150
提交评论