计算机组成原理与汇编语言第8章

上传人:宝路 文档编号:47156490 上传时间:2018-06-30 格式:PPT 页数:80 大小:683.60KB
返回 下载 相关 举报
计算机组成原理与汇编语言第8章_第1页
第1页 / 共80页
计算机组成原理与汇编语言第8章_第2页
第2页 / 共80页
计算机组成原理与汇编语言第8章_第3页
第3页 / 共80页
计算机组成原理与汇编语言第8章_第4页
第4页 / 共80页
计算机组成原理与汇编语言第8章_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《计算机组成原理与汇编语言第8章》由会员分享,可在线阅读,更多相关《计算机组成原理与汇编语言第8章(80页珍藏版)》请在金锄头文库上搜索。

1、第八章 汇编语言 1第八章汇编语言一、概述 1.高级语言与汇编语言比较高级语言:语句 变量说明/定义 int y,a=25,b=43,c=76; 给变量赋值 y=2(a+b)-c汇编语言:指令 分配寄存器 分配存储单元 数据传递2.汇编程序结构p数据段p堆栈段p代码段第八章 汇编语言 2;设置数据段 DATA SEGMENT ADB25;数据A BDB43;数据B CDB76 ;数据C YDB? ;存放结果 DATA ENDS;设置堆栈段 STACK1 SEGMENTPARA STACK DW 20HDUP(0) STACK1ENDS示例: y=2(a+b)-c第八章 汇编语言 3;设置代码段

2、 COSEGSEGMENT ASSUME CS:COSEG,DS:DATA,SS:STACK1 START:MOV AX , DATA;装填段寄存器DS MOV DS , AX MOV AL , A;取数据A ADD AL , B;计算(A+B) SALAL , 1;计算 2(A+B) SUBAL , C;计算 2(A+B)-C MOV Y , AL;存结果 MOV AH,4CH;结束用户程序,返回操作系统 INT21H COSEGENDS ENDSTART示例: y=2(a+b)-c第八章 汇编语言 4p汇编语言: 是汇编格式指令,伪指令的集合及其表示,使用这些 指令的一组规则。 p机器语言

3、: 用二进制编码的机器指令的集合及一组使用规则,它 是CPU能直接识别的唯一语言。MOV DS,AX 汇编语言8E D8 机器语言(目标代码)汇编语言与机器语言汇编语言与目标代码的对应0019 2B 4CB8 XX XX 8E D8 A0 00 00 02 06 01 00D0 E0 24 06 02 00 A2 03 00 B4 4C CDMOV AX, DATAMOV DS, DXMOV AL, AADD AL, B21数据A 数据B数据C 数据Y地 址 增 大 方 向SALAL , 1SUB AL , CMOV Y , ALINT 21HMOVAH,4CH第八章 汇编语言 6p与机器语言

4、相关p效率高p编写源程序繁琐p调试困难汇编语言特点第八章 汇编语言 7p 对软件的执行时间或存储容量有较高要求的场合,如操作系统的内核、工业控制领域、实时系统等。 p 在大型软件中某些影响系统性能的瓶颈程序或者频繁使用的子程序可以采用汇编语言编程。 p 与硬件资源密切相关的软件程序,如设备驱动程序。 p 没有合适的高级语言去开发的程序。 汇编语言的用途第八章 汇编语言 8二、汇编语言语句种类语句种类 指令语句: 又叫可执行语句,在汇编时产生一个目标 代码, 对应机器的一种操作。伪指令语句:又叫命令语句。用于指示汇编程序如何 汇编源程序,除了数据定义语句之外,没有目标代码 与之对应。宏指令语句:

5、由用户自定义的指令。(指令的扩展)第八章 汇编语言 9格式: 名字 操作符 操作数 ; 注释指令语句: 标号: 助记符 操作数,操作数;注释 伪指令语句:名字 定义符 参数,.,参数 ;注释命名规则:p可以用 ?,_$,数字和英文字符。p名字的第一个字符不能是数字。p名字的长度不受限制,但只有前31个字符有效。p不允许用保留字作名字(指令、伪指令、寄存器名) 。二、汇编语言语句格式第八章 汇编语言 10MASM宏汇编保留字汇编 指令AAA AAD AAM AAS ADC ADD AND CALL CBW CLC CLD CLI CMC CMP CMPS CWD DAA DAS DEC DIV

6、ESC HLT IDIV IMUL IN INC INT INTO IRET JA JAE JB JBE JCXZ JE JG JGE JL JLE JMP JNA JNAE JNB JNBEJNE JNG JNGEJNL JNLE JNO JNP JNS JNE JO JPJPE JPO JS JZ LAHF LDS LEA LES LOCK LODS LOOPLOOPE LOOPNE LOOPNZ LOOPZ MOV MOVS MUL NEG NOP NOT OR OUT POP POPF PUSH PUSHF RCL RCR REP REPE REPNE REPNZ REPZ RET R

7、OL ROR SAHF SAL SAR SBB SCAS SHL SHR STC STD STI STOS SUB TEST WAIT XCHG XLAT XOR第八章 汇编语言 11寄存器名AH AL AX BH BL BX CH CL CX DH DL DX CS DS ES SS BP DI SI SP伪指令ASSUME CODE MACRO DB DD DW END ENDM ENDP ENDS EQU EXTRN GROUP LABEL MODROM NAME NOSEGFIX ORG PROC INCLUDE PUBLIC PURGE RECORD SEGFIX SEGMENT操作

8、 符及 其他ABS AT BYTE COMMON DUP EQ FAR GE GT HIGH LEN LE LENGTH LOW LT MASK MEMORY MOD NE NEAR NOTHING OFFSET PAGE PARA PREFIX PTR SEG SHORT SIZE STACK THIS TYPE WIDTH MASM宏汇编保留字第八章 汇编语言 12三、符号定义语句1. 等值语句 格式: 符号 EQU 表达式表达式:常数或数值表达式地址表达式变量或标号 CONST EQU 10 ADR1 EQU DS:BP+14H ADR2 EQU CONST +10 COUN EQU V

9、AR 为变量名VAR另定义一个别名 p 同一符号不能用EQU重新定义。 p 汇编时,作为替代符号用,不产生目标代码,不占有存储单元。第八章 汇编语言 132. 等号语句 格式: 符号 = 表达式CONT=5NUM=10HNUM=NUM+20HCOUNT=VAR;COUNT是变量VAR的别名COUNT=NUM ;COUNT是常数NUM的别名 表达式形式同上,但可多次重新定义同一符号。三、符号定义语句第八章 汇编语言 14四、数据定义语句基本格式:基本格式:DB 变量名变量名 DW 表达式表达式1, 1,表达式表达式2,.2,. DD 保留存储空间,并可以完成数据的初始化。字节BYTE1字WORD

10、2双字DWORD4四字QWORD8十字节TBYTE10DB DW DD DQ DT第八章 汇编语言 15例:DATASEGMENTDA1DB9AHDA2DW5678HDA3DD12345678H DATAENDS变量的属性: 段属性偏移属性类型属性四、数据定义语句格式: 变量名 DB/DW/DD 表达式1,表达式2,.第八章 汇编语言 16格式: 变量名 DB/DW/DD 表达式1,表达式2,.表达式:(1)数值DA_BYTE1DB50HDA_BYTE2DB10H,20H,30H,40HDA_WORD1DW0A34HDA_WORD2DW1234H,5678H,9ABCHDA_DWORDDD12

11、345678H,9ABCDEFH四、数据定义语句第八章 汇编语言 17格式: 变量名 DB/DW/DD 表达式1,表达式2,.表达式:(2)字符/字符串p字符串必须用引号括起来pDB时一个字符串可以连续书写小于255个字;pDW、DD时每一个字符串表达式由12个字符构成;STRING1DBSTRINGSTRING2DWST,RI,NGSTRING3DDST,RI,NG四、数据定义语句第八章 汇编语言 18STRING153 54 52 49 4E 4754 5352494E47STRING254 5352494E47STRING300 0000 0000 00STRING1 DBSTRING

12、STRING2 DWST,RI,NG STRING3 DD ST,RI,NG字符串定义举例第八章 汇编语言 19格式: 变量名 DB/DW/DD 表达式1,表达式2,.表达式:(3)?表达式:分配相应数量的存储单元,但不初始化。DA_BYTE3DA_BYTE3DBDB?,?,?DA_WORD3DA_WORD3DWDW?,?,?四、数据定义语句第八章 汇编语言 20格式: 变量名 DB/DW/DD 表达式1,表达式2,.表达式:(4)带带DUPDUP的表达式的表达式DA_B1DB10H DUP(?)DA_B2DB20H DUP(ABCD)DA_W1DW10DUP(4)DA_W2DW10DUP(-

13、1,1)操作符DUP可以嵌套使用:DA_B3 DB 10H DUP(4 DUP(3),8)四、数据定义语句第八章 汇编语言 211.常数数值常数:二、八、十、十六进制 B,O,D,H字符串常数(1)在指令语句的原操作数中作立即数.MOV AL, 0A9H MOV BX, AB(2) 存储器操作数的寻址方式中作位移量。MOV AL, DS: 340H(3)在数据定义语句中,对存储单元预置初值。DB 12H, 34H五、汇编语言数据与运算符第八章 汇编语言 222. 变量(1) 用数据定义语句定义并预置初值后,变量代表存储单元的数 据,并作为该单元的符号地址。例如在某数据段已定义一变量:DATA_

14、VAR DB 40H DUP (?)几种含有变量名的地址表达式为:直接寻址:DATA_VAR+08H基址变址寻址: DATA_VAR BX DIp地址表达式的值:存放操作数的存储单元偏移量。p地址表达式的类型:同变量名的类型。五、汇编语言数据与运算符第八章 汇编语言 232. 变量(2)在用DW或DD的数据定义语句中,若操作数字段引用了 变量名,则在分配的存储单元中,预置被引用的变量名 的地址部分:偏移量、段基值NUM1DB10HDUP (?)NUM2DW10HDUP (?)ARRAYDB10HDUP (ABCD)ADR1DWARRAYADR2DDARRAY五、汇编语言数据与运算符第八章 汇编语言 243. 标号:一条指令的符号地址。n 段属性n 偏移属性n 类型属性 p NEAR:段内转移,作为标号所在段的转移、 调用指令的目标地址。p FAR:段间转移,作为其他段的转移、调用 指令的目标地址。类型属性设置:(1)隐含方式:NEXT:MOV AX, 3000五、汇编语言数据与运算符(2)用LABEL伪指令设置类型属性:标号伪指令LABEL格式:名字 LABEL 类型 p 与指令语句配合使用:名字(新标号) LABEL 类型(NEAR/FAR)SUB1_FAR LABEL FARSUB1:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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