微机原理及应用试验指导书(5)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




