第五章8086汇编语言课件

上传人:我*** 文档编号:140957552 上传时间:2020-08-03 格式:PPT 页数:27 大小:275KB
返回 下载 相关 举报
第五章8086汇编语言课件_第1页
第1页 / 共27页
第五章8086汇编语言课件_第2页
第2页 / 共27页
第五章8086汇编语言课件_第3页
第3页 / 共27页
第五章8086汇编语言课件_第4页
第4页 / 共27页
第五章8086汇编语言课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第五章8086汇编语言课件》由会员分享,可在线阅读,更多相关《第五章8086汇编语言课件(27页珍藏版)》请在金锄头文库上搜索。

1、1,第五章 8086汇编语言,汇编语言语句 伪指令 DOS系统功能调用 汇编语言程序上机过程,2,5-1 汇编语言语句,汇编语言是一种以处理器指令系统为基础的低级程序设计语言,所以要注意汇编程序的格式要求。 主要优点是可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序。,3,2、语句格式 指令语句汇编时产生机器码,对应机器的一种操作。 标号: 指令助记符 操作数,操作数 ;注释 伪指令语句又称指示性语句,汇编时不产生机器码,主要为汇编程序服务。 标号 伪指令助记符 操作数,操作数 , ;注释,4,(3)两者的区别 指令中的标号是反映指令的位置(逻辑地址)和属性的标识

2、符,后跟一个冒号分隔。 伪指令中的标号是反映伪指令位置(逻辑地址)和属性的标识符,后跟空格分隔,没有冒号。 指令中的操作数可以是立即数、寄存器和存储单元,最多有两个。 伪指令中的操作数可以是常数、变量名、表达式等,可以有多个,操作数之间用逗号分隔。,5,1、常数:指令中出现的固定值。 (二、八、十、十六进制、字符串等) 如:MOV AL,23H DATA1 DB 13,23H,A MOV DS:2000H,AL 2、标号: 由字母、数字、下划线构成,必须用字母打头。 (长度31个字符,不允许用保留字) 3、保留字:预先保留下来的特殊含义的符号。MOV 、DB、 BX 4、分界符:分隔符号。常用

3、的 ,、 ;、 、$ 5、注释,二、汇编语言中的标记,表达式由操作数和运算符组成。 1、算术运算符: , , , 等 2、逻辑运算符:AND, OR, XOR, NOT 3、关系运算符:EQ(相等), NE(不等), LT(小于), GT(大于) LE(小于等于),GE(大于等于) 4、分析运算符:SEG(求段址),OFFSET(求偏移地址),TYPE(求类型) 5、组合运算符: PTR(对存储单元规定,常和WORD、 BYTE连用) 例: MOV WORD PTR 0500H,0 MOV BYTE PTR 0500H,0,三、表达式和运算符,7,5-2 伪指令,一、赋值伪操作EQU 格式:名

4、字 EQU 表达式 CONSTANT EQU 256 ALPHA EQU 7 BETA EQU ALPHA,二、定义存储器分配伪操作 DB DW DD DQ DT( 1; 2; 4;8;10) DATA_WORD DW 100, 100H DATA_BYTE DB 100 DUP (?) MESS1 DB AB MESS2 DW AB,8,例: OPER1 DB 1, 2 OPER2 DW 1, 5678H MOV AX, OPER1+1 ;AX=0102H MOV AL, OPER2 ;AL=01H,9,三、段定义伪操作 格式: 段名 SEGMENT 定位类型, 组合类型, 类别 段名 EN

5、DS,例:定义用户堆栈段 STACK SEGMENT QQQ DW 40H DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE ,SS: STACK ;段地址寄存器说明 MOV AX, STACK MOV SS, AX MOV SP, OFFSET TOS CODE ENDS,10,四、程序开始和结束伪操作 ORG 常数表达式 ;使下一地址是常数表达式的值 END 程序首地址标号 ;汇编源程序结束 如: ORG 100H START: . . END START,五、过程定义 PROC START1 PROC NEAR (FAR) . START1 E

6、NDP 成对使用,NEAR:产生段内调用 FAR:产生段间调用,12,5-3 系统功能调用,一、概述 用户可在自己的程序中调用DOS提供的87个子程序。包括: (1)一般设备的输入输出 (2)磁盘的输入输出及磁盘文件的管理 (3)其它 二、DOS功能的调用方法: (1)设置调用参数 (2)MOV AH, 功能号 (3)INT 21H,三、基本I/O功能调用 1、DOS键盘功能调用 ( AH=1,6,7,8,A,B,C ) (1)1号调用 ( AH=1)单字符输入 功能:扫描键盘,将键盘输入的字符送AL及CRT,Ctrl-Break 退出。 设置调用参数: 无 功能调用号: AH1 功能调用:

7、INT 21H 例:GET-KEY: MOV AH, 1 INT 21H CMP AL, N JZ NO JMP GET_KEY NO: ,(2)10号调用 ( AH=0AH)字符串输入 功能:将键盘输入的字符串送存DS:DX指向的输入缓冲区。,例:输入字符串 设置调用参数: DX输入缓冲区首地址 功能调用号: AH0AH 功能调用: INT 21H 定义缓冲区: MAXLEN DB 32 ACTLEN DB ? STRING DB 32 DUP (?) LEA DX, MAXLEN MOV AH, 0AH INT 21H,定义键入字符长度,实际键入字符数,回车结束,15,2、 DOS显示功能

8、调用 ( AH=2,6,9 ) (1) 2号调用 输出一个字符 入口参数:DL欲显示字符的ASCII码 功能调用号:AH02H 功能调用:INT 21H 出口参数:无,;显示一个问号“ ?” MOV DL,? ;设置入口参数 MOV AH,02H;设置功能调用号 INT 21H ;功能调用,16,(2)9号调用 输出一个字符串 功能调用号:AH09H 入口参数:DS:DX欲显示字符串在内存中的首地址,内存中的字符串以ASCII码形式保存,最后必须添加一个“$”结尾(并不显示)。 功能调用:INT 21H 出口参数:无,17,STRING DB HELLO, 0DH, 0AH, $ MOV DX

9、, OFFSET STRING MOV AH, 9 INT 21H,回车,换行,结束,18,3、 返回操作系统 ( AH=4CH ) 入口、出口参数:无 功能调用号:AH 4CH 功能调用:INT 21H,MOV AH, 4CH ;设置功能调用号 INT 21H ;功能调用,19,源程序文件要以ASM为扩展名 源程序文件的形成(编辑)可以通过任何一个文本编辑器实现: DOS中的全屏幕文本编辑器EDIT 其他程序开发工具中的编辑环境 Windows中的记事本Notepad EDIT SY1.ASM,一、源程序的编辑,5-4 汇编语言程序上机过程,20,二、源程序的汇编,汇编是将源程序翻译成由机器

10、代码组成的目标模块文件的过程。 MASM SY1.ASM 默认采用源程序文件相同的主文件名,扩展名则是相应类型文件的扩展名,例如模块文件(.obj)和列表文件(.lst)交叉索引文件(.CRF)。 如果源程序中没有语法错误,MASM将自动生成一个目标模块文件( SY1.obj);否则MASM将给出相应的错误信息。这时应根据错误信息,重新编辑修改源程序后,再进行汇编。,21,三、目标模块的连接,连接程序能把一个或多个目标文件和库文件合成一个可执行程序(.EXE文件)。 LINK SY1.OBJ; 如果没有严重错误,LINK将生成一个可执行文件( SY1.EXE);否则将提示相应的错误信息。这时需

11、要根据错误信息重新修改源程序文件后再汇编、链接,直到生成可执行文件。,22,四、可执行程序的调试,经汇编、连接生成的可执行程序在操作系统下只要输入文件名就可以运行: SY1 如果出现运行错误,可以从源程序开始排错,也可以利用调试程序帮助发现错误。 采用DEBUG.EXE调试程序: DEBUG SY1. exe,23,DEBUG命令介绍 1、汇编命令 A 2、反汇编命令 U 3、显示内存命令 D 4、修改内存单元命令E 5、显示并修改寄存器命令R 6、执行命令 G 7、单步执行命令 T 8、其他命令 N(定义名字)、W(写磁盘)、L(从磁盘装入) 五、执行程序 XXX.EXE(或XXX) 注意:

12、仅当该程序能够显示出运行结果,才能采用XXX.EXE直接 运行的方式。 要求通过实验熟练掌握以上5个过程。,24,程序运行步骤及生成的文件,25,建立、 运行汇编语言程序, C:masm EDIT SY1.ASM ;建立汇编语言原程序 C : masm MASM SY1.ASM ;汇编 Microsoft (R) Macro Assembler Version 5.10 Copyright (C) Microsoft Corp 1981,1988.All rights reserved. Object filename MYFILE.OBJ: Source listing NUL.LST: S

13、Y1 Cross-reference NUL.CRF: ,26,47962 + 413345Bytes symbol space free 3 Warning Errors 1 Severe Errors C : masm EDIT SY1 .LST ;查错( 修改-重复 ,直至无错为止。) 即: 0 Warning Errors 0 Severe Errors (若无错- , 不需进入 ) C : masm LINK SY1 ;连接 Microsoft (R) Overlay Linker Version 3.64 Copyright (C) Microsoft Corp 1983-1988. All rights reserved.,27,了解常用的伪指令和DOS系统功能调用,为上机实验作好准备 掌握常用的DOS系统功能调用和上机实验的必要步骤及注意事项。 本章难点: DOS系统功能调用。,Run File MYFILE.EXE: List File NUL.MAP: Libraries .LIB: LINK : warning L4021: no stack segment C: masm DEBUG SY1 . EXE ;运行,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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