微机原理实验指导书(新版) - 图文(4)
图19 运行前后数据区的变化
五、参考程序 data segment
buf1 db 0,1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh;buf1为源区域首地址 org 08H
buf2 db 8 ;buf2为目的区域首地址
org 10H ;由于偏移地址10H-1Fh区域可能被使用,所以建立足够的数据段缓冲区 db ? ;当10H被db伪指令占用后,10h-1fH都会分配给数据段使用 data ends code segment
assume cs:code,ds:data start: mov ax,data mov ds,ax mov cx,16
lea si,buf1 ;如需改变源区域和目的区域位置关系,只要将这里的buf1 lea di,buf2 ;和这里的buf2倒一下次序即可 cmp si,di ja L1
add si,cx
dec si ;源区域首地址+16-1即为源区域末地址 add di,cx ;
dec di ;目的区域首地址+16-1即为目的区域末地址 std
L3: mov al,[si] L3:rep movsb mov [di],al ;递减方式 jmp L2 dec si dec di loop L3
jmp L2 ;初学者往往在这里容易遗漏
L1: mov al,[si] L1:cld
mov [di],al rep movsb inc si ;递增方式 L2:mov ah,4ch
14
inc di int 21h loop L1 L2: mov ah,4ch int 21h code ends end start 六、思考题
1)为什么要在数据段定义足够的缓冲深度? 2)用串传送指令实现该程序功能。
15
软件实验四 冒泡法排序实验
一、实验目的
了解冒泡法原理,学习多重循环的编程方法。 二、实验内容
编写程序,用冒泡法实现将数据段内5,3,3,2,1按照由小到大的顺序重新排列。 三、编程原理
冒泡即将数据两两比较,确保大的数放到右边。N个数经历N-1次冒泡后可以找到最大的气泡。其中“两两比较”可以用内循环的结构实现。经历第一次冒泡后剩下的N-1个数依然是无序的,可以重新重复冒泡过程,第二次只需经历n-2次两两比较即可以找到次大的气泡。依次类推,第N-1次冒泡后恰好可以排好所有的数。重复执行的N-1次的冒泡过程可以用外循环结构实现。由图21可知,内循环次数只要每次和外循环次数相等即可
图20 冒泡法原理示意图1
图21 冒泡法原理示意图2
四、实验步骤
1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名) 2)用masm.exe工具队源程序进行编译,得到目标文件*.obj; 3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;
4)用debug调试环境的-U命令,查看数据段段地址,用-D命令查看运行前存储器内容,用-g运行程序后再用-d查看转码后的内容
5)可以用-T命令单步执行,观察每条指令运行后的寄存器及存储器变化情况,观察冒泡法的原理
16
图22 程序运行前后的冒泡法排序情况
五、参考程序 data segment
buf1 db 5,4,3,2,1 data ends code segment
assume cs:code,ds:data start: mov ax,data mov ds,ax
mov dx,4 ;dx中存放外循环次数
L3: mov cx,dx ;cx中存放内循环次数,内循环次数等于外循环次数 lea si,buf1
L2: mov al,[si] ;取出第一个数 cmp al,[si+1] ;两个数比较
jb L1 ;如果第一个数比第二个数大,则两两交换 xchg al,[si+1] mov [si],al L1: inc si loop L2
dec dx ;外循环次数减1,没减到0则跳转至L3处,重新置 jnz L3 ;入内循环的计数初值 mov ah,4ch int 21h code ends end start 六、思考题
1)n个数冒泡法排序共需要多少次循环?
2)循环嵌套时总循环次数和内外循环次数是哪种数学关系?编写内外循环嵌套的双重循环程序,实现100次内循环,300次外循环。
17
软件实验五 存储器校验实验
一、实验目的
了解存储器校验原理,学习汇编指令。 二、实验内容
编写程序,将数据段1000H开始的256个字节校验。 三、编程原理
为了测试存储器每个位是否正常,可以对存储单元的每一位分别写入0和1,再立刻读出来,如果读出依然是0和1,说明写0和写1都正常,否则,说明存储器相应单元已损坏。对每一位写入时,通常采用分别写入55H和0AAH的方式。 四、实验步骤
1)按照本章第2节所述,建立源程序文件*.asm(*为自己输入的文件名) 2)用masm.exe工具队源程序进行编译,得到目标文件*.obj; 3)用link.exe工具对目标文件进行链接,得到可执行文件*.exe;
4)用debug调试环境的-U命令,查看数据段段地址,用-g运行程序后再用-d查看数据段的内容 五、思考题
若存储器段地址为1600H,首偏移地址为0000H,要求以8088为CPU,用全译码方式扩展一片6264存储器,画出扩展电路图
18
…… 此处隐藏:472字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




