77范文网 - 专业文章范例文档资料分享平台

8086指令系统汇编实训实例

来源:网络收集 时间:2019-03-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

8086指令系统实训实例

一、80x86微处理器中的寄存器

AH BH CH DH SP BP SI DI IP FLAGS CS DS SS ES AL BL CL DL 累加器基址寄存器 计数寄存器 数据寄存器 堆栈指针寄存器 基址指针寄存器 源变址寄存器 目的变址寄存器 指令指针寄存器 标志寄存器 代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器

段寄存器 控制寄存器 地址指针和 变址寄存器 数据寄存器

通用寄存器

图1-1 80x86微处理器的基本结构寄存器

标志寄存器对照表

序号 类别 1 OF OV NV 2 DF DN UP 3 IF EI DI 4 TF 5 SF NG PL 6 ZF ZR NZ 7 AF AC NA 8 PF PE PO 9 CF CY NC EFLAG DEBUG=1 DEBUG=0 标志名称 设置 未设置? 标志名称 设置 未设置 溢出 OV(溢出) NV(未溢出) 零位 ZR(为0) NZ(不等于零)? 方向 UP(增加) DN (减少) 辅助进位 AC(有进位)NA(无进位)? 中断 EI(许可) DI(禁止) 奇偶标志 PE(偶) PO(奇)? 符号 NG(负) PL(正) 进位 CY (有进位) NC(清除进位)

1

二、 用DEBUG软件学习汇编语言

? DEBUG的几点规则说明:

1. 所有数据默认为16进制数,后缀“H”不用加;

2. DEBUG命令都是一个字母,字母大小写不分,后面的参数可以用空格分开,也可以不用;命令与数字之间可以不分开,但是两个十六进制数字之间必须分开,如:

L100 = L 100;100 110 ≠ 100110 ; 3. DEBUG中的地址表示格式有如下几种: 1) 段寄存器:偏移量,如:cs:100

2) 段地址:偏移量,如:04ba:100 或4ba:100 3) 默认段寄存器不写,只写偏移量,如:100; 4) 确定地址范围可以有两种表示方式:

a) 段地址:起始地址的偏移量 结束地址的偏移量,如:cs:100 110; b) 段地址:起始地址的偏移量 L(长度),如:cs:100 L10;

DEBUG软件基本指令用法一览表

指格式 令 A A [首地址] C 功能 备注 编译汇编语言指令 A 100 C [区段1] [区段长度] [区段将两块内存作比较 C 100 L20 200 2] D 100 L20 E 100 F 100 L10 90 2

D D [地址] [长度]& [地址范围] 显示内存的内容 E E [地址] 空格键编辑下一个 编辑内存内容 F F [地址] [长度] [内容]

填充指定内存区块内容 G G =[地址] [断点1] [断点2] 带有任选断点执行 G=100 ?? H H [数1] [数2] I I [端口地址] 十六进制数加减 读/显示输入字节 H 44 33 I 70 L 100 2 1 2 M 100 L10 110 N bb.com O 70 19 Q R AX S 100 L70 'j' T U 100 默认32字节 L L [地址]或[磁碟,磁轨,扇区] 装入文件或磁区 M M [原地址] [长度] [目标地址] 传送内存区块 N N [文件名] O O [端口位址] Q Q R R [寄存器] S S [地址] [长度] ‘参数’ T T [=地址]或[指令条数] U U [地址] [指令长度] W W [地址]或[指定BX、CX范围] 定义文件名 输出字节到端口 退出DEBUG界面 显示修改寄存器 对字符进行检索 单步追踪 反汇编 写入文件,默认写入 W 200 CS:100

实例: 查看主板BIOS信息:

① 输入“D FE00:0”,回车后看到的结果就是主板BIOS的厂商信息。

② 接着再输入“D FFFF:5 L 8”,回车后,主板的BIOS版本日期也出来了。

三、ASCII码与BCD编码

ASCII码是美国国家信息交换标准字符码(American Standard Code for Information Interchange )的字头缩码。早期的ASCII码采用7位二进制代码对字符进行编码。它包括32个通用控制字符,10个阿拉伯数字,52个英文大,小字母,34个专用符号共128个。7位ASCII代码在最高位添加一个“0”组成8位代码,正好占一个字节,在存储和传输信息中,最高位常作为奇偶校验位使用。扩展ASCII码,即第八位不再视为校验位而是当作编码位使用。扩展 ASCII码有256个。

3

数0-9 ASCII码的编码值为30H-39H,大写英文字母A-Z的编码值为41H-5AH,小写英文字母a-z的编码值为61H-7AH。

四、DOS常用的几个系统功能调用

1. 调用方法:

DOS功能调用的子程序已按顺序编号,功能号(00H~68H),其调用方法是: (1) 功能号→AH

(2) 入口参数、出口参数→指定寄存器 (3) INT 21H

(4) INT 20H 此为结束语句

2、常用的系统功能调用

1) 1号调用——从键盘输入单个字符

人口参数:ah=01 ; 出口参数:al=输入字符的ascii码 功能: 等待从键盘输入一个字符并送入al。

4

2) 2号调用——在显示器上显示输出单个字符

人口参数:ah=02 ; 出口参数:dl=待显示字符的ascii码 功能:将dl中的字符送显示器显示。 3) 9号调用——在显示器上显示输出字符串

入口参数:ah=09h; ds:dx=字符串的起始地址;

功能:将当前数据区中DS:DX所指向的字符串送显示器显示,注意字符串必须以 '$' 结尾。

4) 0AH号调用——从键盘输入字符串

入口参数:ah=0ah; ds:dx=输入缓冲区的起始地址;

第1个字节指出缓冲区能容纳的字符个数,即缓冲区长度,不能为0。 第2个字节保留,以存放实际输入的字符个数。 第3个字节开始存放从键盘输入的字符串。

功能: 从键盘接收字符串送入内存的缓冲区,同时送显示显示。

五、命名文件过程

1.N 文件名.COM ;命名文件, 文件必须以.com结尾 2.输入 RBX ;查看 BX 寄存器,存放文件长度值高八位

3.输入 RCX ;以CX存放文件长度值的低八位 4.输入 W ;用W命令将该程序写入磁盘中,即存盘

六、DEBUG实验程序

1. 显示一个字符 word.com

MOV DL,41 MOV AH,2 INT 21 INT 20

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库8086指令系统汇编实训实例在线全文阅读。

8086指令系统汇编实训实例.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/541710.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: