8086指令系统汇编实训实例

2019-03-23 11:17

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


8086指令系统汇编实训实例.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中建一局公司重要管理文件试题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: