第4章8086汇编语言程序设计-2h课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章8086汇编语言程序设计-2h课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 汇编语言 程序设计 _2h 课件
- 资源描述:
-
1、 但是,到目前为止,汇编语言到底怎么编程实现,到底是如何控制外部接口的,我们还不清楚呢。从本堂课开始,我们将陆续开始,深入学习8086系统。我们学习了8086CPU、存储器和I/O结构、8086系统指令寻址方式和指令集,从设计角度而言,我们已经把全书的基本内容学习完毕了。第4章 8086汇编语言程序设计v必须知道的几个概念v8086汇编语言的语句v8086汇编中的伪指令v8086汇编中的运算符v汇编语言程序设计v宏定义与宏调用v汇编语言程序设计实例本堂课解决的问题什么是汇编语言、汇编源程序和汇编程序一样吗?汇编又是什么东西?8086汇编语言的语句是如何构成?8086汇编中的伪指令又是什么东东?
2、8086汇编中的运算符有哪些?8086汇编语言源程序的基本结构必须清楚的几个概念v汇编语言 以指令的助记符、符号地址、标号等书写程序的语言,实际就是机器语言的符号表示。助记符表示指令的操作码和操作数,符号和标号表示地址、变量和常量。v汇编语言源程序 用汇编语言编写的程序,简称源程序。v汇编程序 能将汇编源程序翻译成机器语言的程序。v汇编 使用汇编程序将汇编源程序翻译成机器语言的过程。STACK SEGMENT PARA STACK STACK DB 50 DUP(?)STACK ENDSDATA SEGMENT VAR DB 34DATA ENDSCODE SEGMENT ASSUME CS:
3、CODE,DS:DATA,SS:STACKSTART PROC FAR PUSH DS MOV AX,0 PUSH AX RETSTART ENDPCODE ENDS END START4.1 8086汇编语言的语句汇编语言的语句 汇编语言由指令性语句和指示性语句组成。指令性语句指令性语句:CPU执行的语句。执行的语句。如:如:MOV AX,BX指示性语句指示性语句:汇编程序执行的语句。:汇编程序执行的语句。如:如:BUF EQU 324.1 8086汇编语言的语句汇编语言的语句 一、指令性语句格式一、指令性语句格式第第3 3章学习的指令均是指令性的章学习的指令均是指令性的STEP:ADD A
4、X,BX ;加法指令加法指令标号:标号:操作码操作码 操作数操作数1,操作数操作数2 ;注释注释代表了该指令在代码段的偏移地址代表了该指令在代码段的偏移地址4.1 8086汇编语言的语句汇编语言的语句 存储器操作数的属性有三种:存储器操作数的属性有三种:段值属性、段内偏移量段值属性、段内偏移量和类型。和类型。v段值:段的起始基地址,即段基址。v段内偏移量:从段的开始到操作数的偏移字节数。v类型:标号的属性有NEAR和FAR之分;变量的类型有BYTE、WORD、DWORD之分。二、有关属性二、有关属性4.1 8086汇编语言的语句汇编语言的语句 三、指示性语句格式三、指示性语句格式 标识符(名字
5、)标识符(名字)指示符(伪指令)指示符(伪指令)表达式表达式 BUFF DB 10 DUP(?)ADDR EQU 200 指示性语句有汇编程序执行,不是真正的指示性语句有汇编程序执行,不是真正的CPUCPU执行执行指令,因此,组成语句的指令称为指令,因此,组成语句的指令称为伪指令伪指令或或伪操作伪操作。4.2 80864.2 8086汇编中的伪指令汇编中的伪指令一、符号定义语句 例:例:PORT EQU 1234 BUFF EQU PORT58 MEM EQU DS:BP20H COUNT EQU CX ABC EQU AAA1、等值语句、等值语句 格式:符号名格式:符号名 EQU 表达式表达
6、式4.2 80864.2 8086汇编中的伪指令汇编中的伪指令一、符号定义语句 意义与意义与EQUEQU相同,唯一区别是等值语句相当相同,唯一区别是等值语句相当于常量初始化,而等号语句相当于变量初始化。于常量初始化,而等号语句相当于变量初始化。2、等号语句、等号语句 格式:格式:NUM34 NUM3414.2 80864.2 8086汇编中的伪指令汇编中的伪指令二、变量定义语句变量定义后,就具有了类型属性和地址属性。变量定义后,就具有了类型属性和地址属性。变量存储低字节在先,高字节在后,低字在先,高字在变量存储低字节在先,高字节在后,低字在先,高字在后。后。符号名符号名 DB 表达式表达式符号
7、名符号名 DW 表达式表达式符号名符号名 DD 表达式表达式格式:格式:4.2 80864.2 8086汇编中的伪指令汇编中的伪指令二、变量定义语句BUFF DW 1234H,0ABCDH,8EH DW 79DH,7B6AH1、定义数组、定义数组STR DB Welcome!2、定义字符串、定义字符串SUM DD?,?3、定义保留存储单元、定义保留存储单元4.2 80864.2 8086汇编中的伪指令汇编中的伪指令二、变量定义语句复制操作符复制操作符DUP(Duplication)可预置重复的数值)可预置重复的数值。ALL_ZERO DB 0,0,0,0,0用复制操作可改为:用复制操作可改为:
8、ALL_ZERO DB 5 DUP(0)4、复制操作、复制操作保留存储单元保留存储单元 SUM DB 10 DUP(?)4.2 80864.2 8086汇编中的伪指令汇编中的伪指令二、变量定义语句 LIT DD CYC CYC:MOV AX,BX5、将已定义的地址存入内存单元、将已定义的地址存入内存单元 表示把标号表示把标号CYC的偏移地址和段基址存放在的偏移地址和段基址存放在LIT开始开始的的4个字节单元。个字节单元。4.2 80864.2 8086汇编中的伪指令汇编中的伪指令三、段定义语句1.1.段定义语句格式:段定义语句格式:段名段名 SEGMENT SEGMENT 定位类型定位类型组合
9、类型组合类型类别类别 段名段名 ENDSENDS如:如:STACK SEGMENT PARA STACK STACK STACK SEGMENT PARA STACK STACK STACK ENDS STACK ENDS4.2 80864.2 8086汇编中的伪指令汇编中的伪指令三、段定义语句1.1.段定义语句格式:段定义语句格式:定位类型定位类型:PAGE PAGE 本段从页的整数边界开始。本段从页的整数边界开始。PARA PARA 节的整数边界(省略时隐含为本类型)。节的整数边界(省略时隐含为本类型)。WORD WORD 字的整数边界开始。字的整数边界开始。BYTE BYTE 字节边界,
10、即任何地址开始。字节边界,即任何地址开始。4.2 80864.2 8086汇编中的伪指令汇编中的伪指令三、段定义语句2.2.段假设语句段假设语句ASSUME ASSUME 段寄存器名段寄存器名:段名段名,如:如:ASSUME CS:CODE,DS:DATA,SS:STACK,ES:EDATA ASSUME CS:CODE,DS:DATA,SS:STACK,ES:EDATA 这里,这里,ASSUMEASSUME只是指定某段分配给某段寄存器,但并不只是指定某段分配给某段寄存器,但并不把段地址装入段寄存器。把段地址装入段寄存器。段寄存器段寄存器CSCS、SSSS、DSDS、ESES。段名则是通过段名
展开阅读全文