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

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

来源:网络收集 时间:2026-02-23
导读: 实验三 逻辑运算程序 实验目的 8088指令:AND OR XOR NOT 实验内容 将字单元内容二进制最高位清“0” 自己先在3040H单元放个二进制首位为1的字,结果保存在3042H中(注意:字的高位在后) CODE SEGMENT ASSUME CS:C

实验三 逻辑运算程序

实验目的

8088指令:AND OR XOR NOT

实验内容

将字单元内容二进制最高位清“0”

自己先在3040H单元放个二进制首位为1的字,结果保存在3042H中(注意:字的高位在后)

CODE SEGMENT

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

START: MOV AX,DS:[3040H]

AND

MOV

CODE

AX,7FFFH

DS:[3042H],AX

JMP $ ENDS

END START

将单元内容最高位置“1”

思考:如果屏蔽最低位,应如何修改?

将字的二进制最高位置“1”

CODE SEGMENT

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

START: MOV AX,DS:[1200H] OR AX,8000H MOV DS:[1202H],AX JMP $ CODE ENDS

END START

思考:其余位置“1”如何修改?

将字节单元内容二进制最高位求反

CODE SEGMENT

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

START: MOV AL,DS:[2200H] XOR AL,80H

MOV DS:[2201H],AL JMP $ CODE ENDS END START

思考:

如果要求反任一位或几位,应如何修改? 若将NOT指令加上完成上述程序,应如何修改?

9

实验四 拆字及位移程序

实验目的

掌握汇编语言 设计和调试方法。

实验内容

把4000H单元的字节内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H 的高位清零,一般本程序用于把数据送显示缓冲区时用。

程序框图及程序

CODE SEGMENT

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

S2:

ORG MOV MOV MOV MOV SHR INC MOV AND INC MOV JMP ENDS

3000H BX,4000H AL,[BX] AH,AL CL,4 AH,CL BX

[BX],AH AL,0FH BX

[BX],AL $

CODE

END S2 实验步骤

用连续或单步方式运行程序,检查4000H-4002H中内容变化情况。

思考

如何用断点方式调试本程序;

如果高位送4002H低位,低位送4001H低位,如何修改。

位移程序

16位数左移一位

在1200H单元放一个字,移位结果在1202H单元里查看

CODE SEGMENT

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

10

ORG START: MOV

SHL MOV HLT CODE

2000H

AX,DS:[1200H] AX,1

DS:[1202H],AX

ENDS

END START

思考:上述程序中SHL是否可以改用SAL?用指令在用法上有无区别?

若为8位数左移一位,如何修改程序?

试编写32位数右移二位程序(提示:利用带进位位移)

11

实验五 拼字程序及分支程序、堆栈程序

实验目的

进一步掌握汇编语言设计和调试方法 。

实验内容

把4000H、4001H的低位分别送入4002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。

程序框图及程序

CODE SEGMENT

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

ORG 3040H

S3: MOV BX,4000H

MOV AX,[BX] AND AL,0FH MOV CL,4 SHL AL,CL AND AH,0FH OR AL,AH ADD BX,2 MOV [BX],AL JMP $

CODE ENDS END S3 实验步骤

单步或用断点方式运行程序,检查4002H内容变化情况。

分支程序

计算 Y=X+5 X<0

Y=X+25 0<X<25 Y=X+100 其它

利用单步执行查看变化,X值按16进制分别放入初值,填入AX中;单步到HLT时查看BX中Y值 注意:题目中为10进制,内存中要换成16进制。

其中X放入AX中 Y在BX中

CODE SEGMENT

12

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

ORG 3000H

START:AND AX,AX JLE LESSE CMP AX,25

JC ADD

BELLOW AX,100 BX,AX $ AX,5 BX,AX HALT AX,25 BX,AX HALT START

MOV HALT: JMP LESSE: ADD

MOV JMP

BELLOW:ADD MOV CODE

思考题:

JMP ENDS END

有一个按从小到大顺序排列的无符号数的数组,其首地址存放在DI寄存器中,数组中的第一个单元

存放着该数组的长度。在AX中放一个无符号的数,要求在该数组中查找(AX),如找到则使CF=0,并在SI中给出该元素在数组中的偏移地址;如未找到则使CF=1。编写程序实现。(试用折半查找法)

堆栈程序 利用单步观察堆栈指针和堆栈指针所指的存储单元内容的变化,熟悉堆栈的用法。 CODE SEGMENT

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

SL:

ORG MOV

3000H SP,2000H AX,3000H BX,5000H AX BX AX BX $

MOV MOV PUSH PUSH POP POP JMP CODE ENDS END SL

13

…… 此处隐藏:485字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机原理及应用试验指导书(3).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)