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

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

来源:网络收集 时间:2026-02-23
导读: REPNZ JNZ SUB DEC MOV INC AAA: | SCASB AAA DX,CX DX DI,DX BYTE PTR [DI+2000H] 4.LODSB/LODSW程序 将1700H单元开始的5个字节的内容逐一取来,放在累加器中进行处理,处理完后再送到1700H的 内存区域。 CLD

REPNZ JNZ SUB DEC MOV INC AAA: |

SCASB AAA DX,CX DX

DI,DX

BYTE PTR [DI+2000H]

4.LODSB/LODSW程序

将1700H单元开始的5个字节的内容逐一取来,放在累加器中进行处理,处理完后再送到1700H的

内存区域。

CLD MOV MOV LI:LODSB

PUSH | POP DEC MOV JNZ

SI,1700H CX,5 CX

;处理字符

CX CX

[DI],AL LI

5.STOSB/STOSW程序

将1000H开始的256个单元清0

CLD LEA MOV XOR REP 思考题:

DI,DS:[1000H] CX,0080H AX,AX STOSW

下面这一程序段的功能是:将数据段中buf单元开始的50个字节数据中非负数和负数分开,分别存到pbuf和nbuf开始的单元,并将非负数和负数的个数分别存到pcnt和ncnt单元。填写下列程序中的空白以保证程序的正确性。这段程序是用什么方式控制循环的?写成完整程序调试。

push mov mov lea lea lea mov mov

es ax,ds es,ax bx,pbuf di,nbuf si,buf dx,0

cx,

next: lodsb

and j mov

al,al next2 [bx],al

19

inc

inc jmp

next2: stosb

inc

bx dh

dl

next1:

mov pcnt,dh

mov pop ret

ncnt,dl es

实验内容

在4000H-400FH中查出有几个字节是零,把计数个数放在4100H中。

程序框图及程序

CODE SEGMENT

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

ORG 30B0H S6:

A62: A63: A61: CODE

MOV BX,4100H ;COUNT MOV AX,0000 MOV [BX],AX MOV CX,0010H MOV DI,4000H CLD SCASB JZ A61 LOOP A62

JMP $

INC BYTE PTR [BX] JMP A63 ENDS END S6

20

实验步骤

在4000-400FH的几个单元中输入零,运行本程序后检查4100H中是几个单元数。

思考

修改程序,查找其它内容;

如果查找的是字或双字,如何修改程序。 思考题:

一个首地址为LIST和未经排序的字数组,在数组的第一个字中存放着该数组的长度,数组的首地址

存放在DI寄存器中。在AX寄存器中存放一个数。要求编写一程序:在数组中查找该数,如果找到此数则把它从数组中删除。

将正数N插入一个已整序的字数组的正确位置。该数组的首地址和末地址分别为ARRAY_HEAD和

ARRAY_END,其中所有数均为正数且已按递增的次序排列。

21

实验九 32位二进制乘法

实验目的

掌握8088汇编语言程序设计方法,熟悉二进制乘法指令的使用。

实验内容

进行两个32位无符号二进制的乘法运算。

实验预备知识

本程序是利用无符号二进制数乘法指令。

设计思想

如下图所示,设A、B为被乘数的高、低16位二进制数,C、D为乘数的高、低16位二进制数,则:

N1N2×N3N4=(A×2+B)×(C×2+D) =BD+AD×2+BC2+AC2

16

16

32

1616

通过分析可知,共需进行四次乘法运算,每次进行两个16位二进制数的乘法,共得到四个部分积,然后再求部分积累加和。

×﹞ ACH ×﹞ ︳—32位— ︳ A C BDH ADL BCL B D BDL ADH BCH ACL M2单元 累加和存入 M1单元 M3单元 M4单元

30DB-30DC 30DD-30DE 30DF-30E0 30E1-30E2

64位积在内存中的存放格式:

积最高位 H1 30DC

M1 L1 30DB H2 30DE M2 L2 30DD H3 30E0 M3 L3 30DF H4 30E2 M4 L4 30E1 CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 30D0H S7: JMP START N1 DW ? N2 DW ? N3 DW ?

22

N4 DW ? M1 DW 0 M2 DW 0 M3 DW 0 M4 DW 0 START: MOV AX,N2 MUL N4 MOV M4,AX MOV M3,DX MOV AX,N4 MUL N1 ADD M3,AX ADC M2,DX MOV AX,N3 MUL N2 ADD M3,AX ADC M2,DX ADC M1,0 MOV AX,N3 MUL N1 ADD M2,AX ADC M1,DX JMP $ CODE ENDS

END S7 实验步骤

在30D3H-30DAH中即?中输入无符号整数的字,为N1-N4的值,连续或单步运行本实验程序后检查30DBH -30E2H中即M1-M4的内容。[注意:?必须改为自行添入的原始数值后编译执行]

阶乘实验 求1到10的阶乘之和;

方法是利用提取公因式的方法:1!+2!+3!+??+10!={[(10*9+9)*8+8]*7??+1}

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 1000H Start: MOV SI,0 MOV DI,0 MOV CX,10 LP: CALL MULTI ADD SI,CX ADC DI,0 LOOP LP

MOV DS:[2000H],SI MOV DS:[2002H],DI JMP $

23

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