教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

微机原理及应用试验指导书(2)

来源:网络收集 时间:2026-02-23
导读: 实验一 内存操作数及寻址方法 实验目的 8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 8088寄存器: AX,BX,CX,DX,FL,IP BCD码,用16进制数表示二进制码的方法。 8088系统中数据在内存中的存放方式和内存操作数的几种寻址方

实验一 内存操作数及寻址方法

实验目的

8088指令:

MOV,ADD,ADC,SUB,SBB,DAA,XCHG

8088寄存器: AX,BX,CX,DX,FL,IP

BCD码,用16进制数表示二进制码的方法。

8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 8088汇编语言伪操作:BYTE PTR,WORD PTR。 求累加和程序和多字节加减法程序

实验内容

(按照实验装置要求的程序格式输入程序后单步调试): 示例:

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ;定义段

ORG 2000H ;此代码段起始地址偏移2000H SL: 。。。。。。。 ;程序第一条可执行语句的标号名 。。。。。。。 。。。。。。。 JMP $ CODE

注解:因为实验装置中存储范围不超过64K,即不超过一个段的范围,所以对段的定义都是在一个段内

[ ASSUME

CS:CODE,DS:CODE,ES:CODE ]段值都为0000H; 用户程序区 用户数据区 ORG

通过实验掌握下列知识

0000:1000—7FFFH 0000:1000—7FFFH ;死循环,目的是强制程序结束

ENDS ;标记汇编源程序结束 END

SL ;后面带的标号为主程序模块中的标号名称

2000H ;此代码段起始地址必须在上面指定范围内(1000—7FFFH);

SL: 。。。 ;程序第一条可执行语句的标号名可自己按要求定义。

8088常用指令练习

1、传送指令

在内存1000H处写入下列程序:

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG SL: MOV MOV

1000H AX,1234H BX,5678H

XCHG AX,BX MOV AH,35H MOV

AL,48H

4

MOV DX,75ABH

XCHG AX,DX JMP $ CODE ENDS END SL 2、加减法指令

在内存2000H处写入下列程序:

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG

2000H

SL: MOV AH,34H

MOV AL,22H ADD AL,AH SUB AL,78H MOV CX,1284H MOV DX,5678H ADD CX,DX SUB CX,AX SUB CX,CX

JMP

CODE ENDS

$

END SL 3、带进位加减法

在内存3000H处写入下列程序:

CODE

SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3000H SL: MOV AH,12H MOV AL,84H MOV CH,56H

MOV CL,78H ADD AL,CL ADC AH,CH MOV DH,0A7H MOV DL,58H SUB DL,7FH SBB DH,34H

JMP

CODE ENDS

$

END SL

上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。

4、BCD码加减法 CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE

5

ORG 4000H

SL: MOV AL,58H ADD AL,25H DAA JMP $ CODE ENDS END SL 5、标志位显示

在单步执行程序时,检查PSW标志寄存器值,其值为16进制,换成2进制查看相应位的值。 15 11 10 9 8 7 6 4 2 0 标志名

OF DF IF TF SF ZF AF PF CF PSW中标志位的符号表示:

标志为1 标志为0

OV DN EI NG ZR AC PE CY

NV UP DI PL NZ NA PO NC

OF 溢出 DF 方向 IF 中断 SF 符号 ZF 零 AF PF CF

奇偶 进位

(是/否) (减/增量) (负/正) (是/否) (偶/奇) (是/否)

(允许/关闭)

辅助进位(是/否)

6、内存操作数及各种寻址方式使用: CODE SEGMENT ASSUME ORG SL: MOV MOV

MOV MOV MOV INC MOV DEC MOV MOV MOV MOV

CS:CODE,DS:CODE,ES:CODE 5000H

AX,1234H

DS:[1000H],AX BX,1002H

BYTE PTR[BX],20H DL,39H BX

[BX],DL DL

SI,0003H [BX+SI],DL [BX+SI+1],DL

WORD PTR[BX+SI+2],2846H

$

JMP CODE ENDS

SL

END

注意:

用户程序区 用户数据区 0000:1000—7FFFH 0000:1000—7FFFH 由于实验装置的存储空间不超过64K,程序区和数据区都在(0000:1000—7FFFH)中,所以我们

6

必须通过偏移地址的不同加以区分。

在利用存储空间存放数据时,其偏移地址必须避开程序存放的偏移地址,在上面的程序中程序的

存放地址是从5000H开始的(ORG 5000H),那么程序中要保存AX值在内存单元中时就不能是5000H,我们将其放在了1000H中(MOV

DS:[1000H],AX)。

思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

7、求累加和程序:

从内存地址1000H开始依次键入16个字节数,利用程序求和

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG

6000H BX,1000H CX,10H AX,AX AL,[BX] AH,0 BX LOP $ SL

SL: MOV

MOV SUB LOP: ADD

ADC

INC

LOOP JMP CODE ENDS

END

思考:上述程序求和的结果保存在哪?如要将结果保存在2000H应如何修改。

提示:程序执行后如结果保存在寄存器中不适宜用连续执行,利用单步执行执行到最后一句后查看寄存器内容。

8、多字节加法程序。

在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。

CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG SL: MOV

MOV

MOV CLC LOP: MOV

ADC

INC INC

7000H DI,1000H CX,8 SI,2000H AL,[SI] [DI],AL SI DI

$

LOOP LOP

JMP

CODE ENDS END

9、自编程序: 实验步骤

写成完整的实验程序,用单步运行查看对应的寄存器和存储单元的变化。

SL

用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。调试并做记录。

7

实验二 清零程序

实验目的

掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。

实验内容

把RAM区内4000H-40FFH单元的内容清零 。

程序框图及程序

CODE

SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3000H

SL:

MOV MOV MOV

LL:

MOV INC INC LOOP JMP

CODE

ENDS END SL

BX, 4000H AX, 0000H CX, 0080H [BX],AX BX BX LL $

;循环

实验步骤

用连续或单步方式运行程序,检查4000-40FFH内容执行程序前后的变化。

思考

假使把4000H-40FFH中的内容改成FF,如何修改程序; 如果把4000H-40FEH中的内容改成FF,如何修改程序; 试编写一到二种其它方法实现的清零程序。

8

…… 此处隐藏:1456字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机原理及应用试验指导书(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/402989.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)