《计算机原理与应用》实验指导书
- 格式:doc
- 大小:207.00 KB
- 文档页数:21
《计算机操作系统》实验指导书(适合于计算机科学与技术专业)湖南工业大学计算机与通信学院二O一四年十月前言计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。
要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。
同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。
为了收到良好的实验效果,编写了这本实验指导书。
在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。
任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。
进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。
实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。
实验成绩考核:实验成绩占计算机操作系统课程总评成绩的20%。
指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。
-电气学科大类《计算机原理与应用实验》课程实验报告水电与数字化工程学院2011级姓名:学号:专业班号:日期:2014年1月7日实验成绩:评阅人:实验评分表基本实验实验名称实验分值评分实验一EMU8086软件安装与使用实验二汇编语言实例讲解与程序编写实验三基于Proteus软件8086最小系统硬件设计实验四基于8086最小系统的汇编程序设计实验五8255并行接口实验(演示实验)设计性实验实验名称实验分值评分实验六工频测频接口电路设计与实现教师评价意见总分(100)目录实验评分表 (I)实验一:EMU8086软件安装与使用 (1)一、实验目的 (1)二、实验设备 (1)三、实验任务 (1)四、实验原理 (1)五、实验内容 (1)六、实验过程及结果 (2)七、实验感想 (4)八、参考文献 (4)实验二:汇编语言实例讲解与程序编写 (5)一、实验目的 (5)二、实验设备 (5)三、实验任务 (5)四、实验原理 (5)五、实验内容 (6)六、实验过程及结果 (7)七、实验感想 (12)八、参考文献 (13)实验三:基于PROTEUS软件的8086最小系统硬件设计 (14)一、实验目的 (14)二、实验设备 (14)三、实验任务 (14)四、实验原理 (14)五、实验内容 (15)六、实验过程及结果 (16)七、实验感想 (18)八、参考文献 (19)实验四:基于8086最小系统的汇编程序设计 (20)一、实验目的 (20)二、实验设备 (20)三、实验任务 (20)四、实验原理 (20)五、实验内容 (21)六、实验过程及结果 (22)七、实验感想 (24)八、参考文献 (24)实验五:8255并行接口实验(演示实验) (25)一、实验目的 (25)二、实验设备 (25)三、实验任务 (25)四、实验原理 (25)五、实验内容 (26)六、实验过程及结果 (27)七、实验感想 (28)八、参考文献 (28)实验六:工频测频接口电路设计与实现 (30)一、实验目的 (30)二、实验设备 (30)三、实验任务 (30)四、实验原理 (30)五、实验内容 (33)六、实验过程及结果 (34)七、实验感想 (39)八、参考文献 (40)实验一:EMU8086软件安装与使用一、实验目的通过本实验学习EMU8086软件的安装与使用。
实验1 单片机实验系统硬软件环境认识一.实验目的了解单片机实验板、计算机和仿真器组的连接方法,了解WAVE仿真软件,学会单步、断点和全速运行的程序调试运行方法,学会察看各存储单元、特殊寄存器等参数变化情况。
二.实验设备伟福通用微控制器实验系统一台,通用计算机一台,WAVE仿真软件三.实验内容1. 编写计算1234H+0FE7H的程序(程序1),要求把和的高8位存入51H单元,和的低8位存入50H单元,并用WAVE仿真软件调试运行。
2. 编写一个程序(程序2),实现将20H~29H内的数据由小到大的顺序排列。
四.实验步骤1.观察了解通用微控制器实验系统的硬件组成,及其与通用计算机的连接;打开计算机可在桌面上看到WAVE仿真软件图标。
2.键入实验程序(1)双击桌面上的“WAVE中文版”图标,打开开发环境,选择“模拟仿真”,点击“文件”新建一个汇编程序文件,并以.asm后缀保存。
(2)输入实验程序1。
(3)点击“项目管理”选择“编译”,注意观察编译结果有无错误。
若有错误打开文件进行修改,若无错误转向下一步。
3.运行程序(1)编译无误后,点击“窗口/CPU窗口”以便在寄存器(或特殊寄存器)查看或送入必要的初始数据;点击“窗口/数据窗口”以便在RAM数据区DATA中查看或送入必要的初始数据。
点击”执行/复位”(2)观察寄存器的值及PSW各位的初始状态。
(3)点击调试/单步(F8),单步运行各条指令,注意观察有关寄存器的值及PSW的数据变化。
(4)也可点击调试/全速运行(Ctrl+F9)连续运行程序。
(5)将运行结果填入表1。
4. 将程序2输入,并在20H~29H单元中输入10个数据,点击“执行”选择“全速运行”,并将相关结果记录在表2中。
5. 改变20H~29H单元中的10个数据,调试运行程序将结果记录在表3中。
表3:程序2运行结果五.思考与总结1.要求数据1234H和0FE7H分别存入31H、30H和33H、32H单元(高字节在高地址单元),如何编写程序。
目录目录 (1)实验一数据输入输出通道 (2)实验二信号采样与保持 (5)实验三数字PID控制 (7)实验四直流电机闭环调速控制 (9)实验五温度闭环数字控制 (11)实验六最少拍控制器的设计与实现 (13)附录 (15)实验一数据输入输出通道实验目的:1.学习A/D转换器原理及接口方法,并掌握ADC0809芯片的使用。
2.学习D/A转换器原理及接口方法,并掌握TLC7528芯片的使用。
实验设备:PC机一台,TD-ACC+实验系统一套,i386EX系统板一块实验内容:1.编写实验程序,将-5V~+5V的电压作为ADC0809的模拟量输入,将转换所得的8位数字量保存于变量中。
2.编写实验程序,实现D/A转换产生周期性三角波,并用示波器观察波形。
实验原理:1.A/D转换实验ADC0809芯片主要包括多路模拟开关和A/D转换器两部分,其主要特点是:单电源供电、工作时钟CLOCK最高可达到1200KHz、8位分辨率,8个单端模拟输入端,TTL电平兼容等,可以很方便地和微处理器接口。
ADC0809 芯片,其输出八位数据线以及CLOCK 线已连到控制计算机的数据线及系统应用时钟1MCLK (1MHz)上。
其它控制线根据实验要求可另外连接(A、B、C、STR、/OE、EOC、IN0~IN7)。
实验线路图1-1为:图1-1 A/D转换实验接线图上图中,AD0809 的启动信号"STR"是由控制计算机定时输出方波来实现的。
"OUT1" 表示386EX 内部1#定时器的输出端,定时器输出的方波周期=定时器时间常数。
ADC0809 芯片输入选通地址码A、B、C 为"1"状态,选通输入通道IN7;通过单次阶跃单元的电位器可以给A/D 转换器输入-5V ~ +5V 的模拟电压;系统定时器定时1ms 输出方波信号启动A/D 转换器,并将A/D 转换完后的数据量读入到控制计算机中,最后保存到变量中。
实验一、8086最小系统硬件设计【实验目的】学习使用Proteus进行8086微机系统仿真设计的方法;学习8086CPU以及外部电路的接法和应用原理。
【实验内容】设计一个8086最小系统,实现其硬件功能,使用指定的程序以验证电路正确性。
【实验要求】1)硬件部分要求包括CPU、地址锁存、数据缓冲、地址译码电路、RAM、IO电路、1*8开关、LED灯。
硬件功能要求如下:1.用LED显示开关状态2.要求使用地址锁存器和数据缓冲;3.开关和LED灯的IO端口使用统一编址方式;4.两片8位RAM分别为奇偶存储体,组成一个16位的存储器;5.使用三八译码器和逻辑器件进行译码;6.存储器地址RAM 8Kx16 (80000H~81FFFH)7.开关状态输入地址INPUT PORT (4000H)8.LED灯输出地址OUPUT PORT (4002H)硬件接线较为复杂,建议参考实验二中给出的电路图,可在此基础上修改。
2)软件部分已给出对应的汇编程序和可执行文件,用来验证电路的正确性。
软件的基本思想是,读出按键的开关量的值,存入RAM里面,然后读出RAM的值,比较写入和读出的值,然后输出到LED显示。
为了验证存储器的连接正确性,程序中对多个地址进行了写入,包括奇地址,偶地址,写入的数分为8bit和16bit。
当从开关读出的数为F0H时,下面给出正确的结果供同学们参考:图一:存储器内存表程序流程图如下图所示:图二:实验一程序流程图3)实验报告提交Proteus设计文件,必须可以仿真运行,电路图中应尽量用文字注明各部分的功能以及译码表。
实验二、基于8086的汇编程序设计【实验目的】学习使用Proteus进行8086微机系统仿真设计的方法;学习8086CPU以及外部电路的接法和应用原理;编程实现电路功能,学习汇编程序的编辑、编译、链接、执行的全过程。
【实验内容】对于给定的8086最小系统,编写汇编程序实现其硬件功能,验证电路正确性。
计算机原理与应用实验实验名称:外部中断实验学院:信息与通信工程学院班级:2017211113姓名:***学号:**********同组成员姓名:李凝同组成员学号:**********一、实验目的1. 掌握NVIC 中断优先级配置。
2. 学会外部中断配置。
二、实验原理及内容(一)实验原理电路结构如图3.1 所示1. NVIC 中断优先级NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。
但是各个芯片厂商在设计芯片的时候会对Cortex-M4 内核里面的NVIC 进行裁剪,把不需要的部分去掉,所以说STM32 的NVIC 是Cortex-M4 的NVIC 的一个子集。
CM4 内核可以支持256个中断,包括16个内核中断和240个外部中断,256 级的可编程中断设置。
对于STM32F4 没有用到CM4 内核的所有东西,只是用到了一部分,对于STM32F40 和41 系列共有92个中断,其中有10个内核中断和82个可屏蔽中断,常用的为82个可屏蔽中断。
ISER[8]—中断使能寄存器组,用来使能中断,每一位控制一个中断,由于上面已经说明了控制82 个可屏蔽的中断,因此利用ISER[0~2]这三个32 位寄存器就够了。
一下的几个寄存器同理。
ICER[8]—中断除能寄存器组,用来消除中断。
ISPR[8]—中断挂起控制寄存器组,用来挂起中断。
ICPR[8]—中断解挂控制寄存器组,用来解除挂起。
IABR[8]—中断激活标志寄存器组,对应位如果为1 则表示中断正在被执行。
IP[240]—中断优先级控制寄存器组,它是用来设置中断优先级的。
我们只用到了IP[0]~IP[81],每个寄存器只用到了高4 位,这4 位又用来设置抢占优先级和响应优先级(有关抢占优先级和响应优先级后面会介绍到),而对于抢占优先级和响应优先级各占多少位则由AIRCR 寄存器控制,相关设置如表 3.1 所示。
《单片机原理及应用》实验指导书(C语言)《单片机原理及应用》实验指导书(C语言)某某大学物电学院微机教研室某某2022前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。
由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生,配合《单片机原理及应用》课程的教学,结合本学院自制单片机教学实验板编写了这本实验指导书。
《单片机原理应用及》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。
本实验指导书提供多个实验的指导性材料,有些实验还有一些有一定难度的选做项目,可以根据课时的安排和教学要求进行取舍。
为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。
由于时间紧迫,需要赶课程进度与实验时间的同步,加上编者学识有限,如有不妥之处,欢迎读者批评指正。
实验须知1.实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。
2.各种电源的电压和极性不能接错,严禁带电接线和接插元器件。
通电前须经过指导教师检查认可后方能通电。
3.不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。
4.严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。
5.实验中若损坏仪器或元器件,应及时向指导教师报告。
6.在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。
7.实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。
《计算机组成原理》实验指导书目录第一部分EL-JY-II计算机组成原理实验系统简介 (1)第二部分使用说明及要求 (5)实验一运算器实验 (12)实验二移位运算实验 (24)实验三存储器实验和数据通路实验 (29)实验四微程序控制器的组成与实现实验 (36)实验五微程序设计实验 (45)实验六、简单实验计算机组成与程序运行实验 (53)实验七、带移位运算实验计算机组成与程序运行实验 (65)实验八、复杂实验计算机组成与程序运行实验 (77)实验九、实验计算机的I/O实验 (93)实验十、总线控制实验(选做) (103)实验十一、可重构原理计算机组成实验(选做) (105)实验十二、简单中断处理实验(选做) (110)实验十三、基于重叠和流水线技术的CPU结构实验(选做) (116)实验十四、RISC模型机实验(选做) (122)第一部分EL-JY-Ⅱ计算机组成原理实验系统简介EL-JY-Ⅱ型计算机组成原理实验系统是为计算机组成原理课的教学实验而研制的,涵盖了目前流行教材的主要内容,能完成主要的基本部件实验和整机实验,可供大学本科、专科、成人高校以及各类中等专业学校学习《计算机组成原理》、《微机原理》和《计算机组成和结构》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
一、基本特点:1、本系统采用了新颖开放的电路结构:(1)、在系统的总体构造形式上,采用“基板+ CPU板”的形式,将系统的公共部分,如数据的输入、输出、显示单片机控制及与PC机通讯等电路放置在基板上,它兼容8位机和16位机,将微程序控制器、运算器、各种寄存器、译码器等电路放在CPU板上,而CPU板分为两种:8位和16位,它们都与基板兼容,同一套系统通过更换不同的CPU板即可完成8位机或16位机的实验,用户可根据需要分别选用8位的CPU 板来构成8位计算机实验系统或选用16位的CPU板来构成16位计算机实验系统;也可同时选用8位和16位的CPU板,这样就可用比一套略多的费用而拥有两套计算机实验系统,且使用时仅需更换CPU板,而不需做任何其它的变动或连接,使用十分方便。
十六位微机教学实验系统微机原理及接口实验指导书中国矿业大学2009年10月DEBUG命令及其操作开机输入8装载8088系统。
系统提示符为“〉”.A 启动小汇编程序格式:A [段址:][偏移量]或A[偏移量] 例:A2000.B 断点设置.D 显示一段地址单元中的数据格式:D[ [段址:] 起始地址, [尾地址] ].E 编辑制定地址单元的数据格式:E [[段址:] 偏移量]。
修改的数据之间用空格分隔, 回车结束输入。
.G连续运行程序格式:G [=[段址:] 偏移量GB[=[段址:] 偏移量](带断点运行).I 从I/O端口读入数据并显示格式:I [I/O接口地址] 如:>1002显示地址为0042接口单元的内容。
.L 从外设读入数据或输入程序格式:通过RS-232C接口读入外部计算机系统(如IBM PC)传送来的数据。
.M 数据块搬移格式:M [段址:] 源起始址, 尾址[目标段址:] 目标起始址。
.O 数据送存指定I/O接口地址单元格式:O I/O口地址, 数据如:> O 0098, 10回车, 就完成送10到地址为98的I/O端口上去。
.R 寄存器显示与修改格式:R或R寄存器.T 单步运行指定程序格式:T [ [段址:] 偏移量].U 反汇编程序命令格式:U [ [段址:起始址[, 尾址] ] 或U.W 将内存数据或程序转贮到外设中去格式:WP 由RS-232C接口传送由DS:SI指定入口, CX指定长度的数据块到外设。
.Z 进入汇编器界面格式:Z。
在此下有如下命令:伪指令:ORG 目标程序首址END结束程序.N 建立新文件, 格式:*N 功能:建立新文件。
.I 插入命令, 格式:*I或*I[行号], 退出插入用CTRL+Z或CTRL+Q。
.L 行列表, 格式:*L或*L[行号]或*L[行号1], [行号2].C 修改命令, 格式:*C或*C[行号].D 删除命令, 格式:*D或*D[行号]或*D[行号1], [行号2].A 汇编命令, 将汇编器内的源程序汇编成目标程序。
十六位微机教学实验系统微机原理及接口实验指导书中国矿业大学2009年10月DEBUG命令及其操作开机输入8装载8088系统。
系统提示符为“〉”.A 启动小汇编程序格式:A [段址:][偏移量]或A[偏移量] 例:A2000.B 断点设置.D 显示一段地址单元中的数据格式:D[ [段址:] 起始地址, [尾地址] ].E 编辑制定地址单元的数据格式:E [[段址:] 偏移量]。
修改的数据之间用空格分隔, 回车结束输入。
.G连续运行程序格式:G [=[段址:] 偏移量GB[=[段址:] 偏移量](带断点运行).I 从I/O端口读入数据并显示格式:I [I/O接口地址] 如:>1002显示地址为0042接口单元的内容。
.L 从外设读入数据或输入程序格式:通过RS-232C接口读入外部计算机系统(如IBM PC)传送来的数据。
.M 数据块搬移格式:M [段址:] 源起始址, 尾址[目标段址:] 目标起始址。
.O 数据送存指定I/O接口地址单元格式:O I/O口地址, 数据如:> O 0098, 10回车, 就完成送10到地址为98的I/O端口上去。
.R 寄存器显示与修改格式:R或R寄存器.T 单步运行指定程序格式:T [ [段址:] 偏移量].U 反汇编程序命令格式:U [ [段址:起始址[, 尾址] ] 或U.W 将内存数据或程序转贮到外设中去格式:WP 由RS-232C接口传送由DS:SI指定入口, CX指定长度的数据块到外设。
.Z 进入汇编器界面格式:Z。
在此下有如下命令:伪指令:ORG 目标程序首址END结束程序.N 建立新文件, 格式:*N 功能:建立新文件。
.I 插入命令, 格式:*I或*I[行号], 退出插入用CTRL+Z或CTRL+Q。
.L 行列表, 格式:*L或*L[行号]或*L[行号1], [行号2].C 修改命令, 格式:*C或*C[行号].D 删除命令, 格式:*D或*D[行号]或*D[行号1], [行号2].A 汇编命令, 将汇编器内的源程序汇编成目标程序。
.Q 退出汇编器, 返回DEBUG状态。
实验一系统认识实验1.系统操作练习(1)从3500H内存单元开始建立0~15共16个数据。
程序如下:2000 MOV DI, 3500 ;设数据区首址2003 MOV CX, 0010 ;字节数送CX 2006 MOV AX, 00002009 SAHF ;AH送状态寄存器200A MOV B[DI], AL ;写入一字节200C INC DI ;修改地址指针200D INC AX ;修改数据200E DAA;十进制调整200F LOOP 200A ;未填完转移2011 JMP 2011要求:①单步运行, 记下每次各寄存器的内容。
②连续运行。
③断点运行, 在2009H设断点。
用D命令查看3500H~350FH2.系统操作练习(2)从3500H内存单元开始建立0~15共16个数据传递到3600H单元开始的数据区中。
程序如下:2000 MOV SI, 3500 ;建立源址指针2003 MOV DI, 3600 ;目标地址指针2006 MOV CX, 0008 ;数字送CX 2009 MOV AX, W[SI] ;取一字200B MOV W[DI], AX ;送一字200D INC SI ;修改指针200E INC SI200F INC DI2010 INC DI2011 DEC CX2012 JNZ 2009 ;判传完否2014 INT先在3500H内存单元开始建立16个字节的数据, 运行后用D命令显示结果。
要求传送不同的数据三次。
实验二数码转换编程及程序调试1.将ASCII码表示的十进制数转换为二进制数2000 MOV SI, 3500 ;源首地址2003 MOV DI, 3510 ;结果首址2006 MOV BX, 000A2009 MOV CX, 0004200C MOV AH, 00200E MOV AL, B[SI]2010 SUB AL, 30 2012 IMUL BX2014 ADD AL, B[SI+01]2017 SUB AL, 302019 INC SI201A LOOP 2012 ;转换完否201C MOV W[DI], AX ;存结果201E INT ;停机在3500H~3504H单元存入十进制数12的ASCII码, 即E3500, 并输入3030303132。
运行后用D命令查3510H应为0C 00。
2.将十进制数的ASCII码转换为BCD码2000 MOV CX, 0005 ;计数器赋初值2003 MOV DI, 3500 ;ASCII码首址2006 MOV BL, FF ;错误标志送BL 2008 MOV AL, B[DI] ;ASCII码送AL 200A CMP AL, 3A200C JNB 2014 ;不低于3A转200E SUB AL, 30 ;低于3A取ASCII码2010 JB 2014 ;低于30转2012 MOV BL, AL ;否则AL送BL 2014 MOV AL, BL ;结果或错误标志送AL 2016 MOV B[DI+0A], AL2019 INC DI201A LOOP 2006201C INT在3500~3504H单元中存入五位十进制数的ASCII码, 即:E3500回车, 并输入31、32、33、34、35。
运行后结果在350AH, 用D命令显示结果:01 02 03 04 05 CC。
反复试几组数, 考查程序的正确性。
3.将十六位二进制数转换为ASCII码表示的十进制数2000 MOV DX, W[3500] ;取二进制数2004 MOV SI, 3515 ;目标首址2007 DEC SI2008 MOV AX, DX200A MOV DX, 0000200D MOV CX, 000A 2010 DIV CX ;除10 2012 XCHG AX, DX2013 ADD AL, 302015 MOV B[SI], AL2017 CMP DX, 0000201A JNE 2007201C CMP SI, 3510 ;填余下高位为0 2020 JZ 2029 ;对应的ASCII码2022 DEC SI2023 MOV AL, 30 2025 MOV B[SI], AL 2027 JMP 201C 2029 INT在3500~3501H单元中存放0C00, 运行程序并检查结果, 应看到3510H~3514H单元中的数依次为3030303132。
反复试几组数, 并运行程序、观察结果。
4.十六进制数转为ASCII码2000 MOV CX, 00042003 MOV DI, 35002006 MOV DX, W[DI]2008 MOV AX, DX200A AND AX, 000F ;取低4位200D CMP AL, 0A;判是否“0~9”200F JB 2013 ;是“0~9”转2011 ADD AL, 07 ;是“A~F”加7 2013 ADD AL, 30 ;转为ASCII码2015 MOV B[DI+0A], AL2018 INC DI2019 PUSH CX ;保护计数器内容201A MOV CL, 04 ;移位次数送CL 201C SHR DX, CL201E POP CX201F LOOP 20082021 INT在3500~3501H单元中存入四位十六进制数203B, 即:E3500回车, 并输入3B、20。
运行后结果在350AH, 用D命令查看结果:42 33 30 32。
反复试几组, 验证程序正确性。
5.BCD码转为二进制码2000 MOV CX, 00042003 MOV DI, 35002006 MOV AL, B[DI]2008 ADD AL, AL ;乘2 200A MOV BL, AL200C ADD AL, AL ;乘2 200E ADD AL, AL ;乘2 2010 ADD AL, BL ;乘10 2012 INC DI2013 MOV AH, 002015 ADD AL,B[DI] ;BCD码十位+个位2017 MOV W[DI+0F], AX ;存结果201A INC DI201B LOOP 2006201D INT在3500~3507单元中存入四个十进制数(12、34、56、78)的BCD码, 即E3500回车, 输入01、02、03、04、05、06、07、08。
运行后结果在3510H, 用D命令查看结果, 应为0C 00 22 00 38 00 4E 00。
反复试几组数, 考查程序的正确性。
实验三运算类编程实验(一)加法运算1.二进制双精度加法运算2000 MOV AX, W[3500] ;加数低位送AX 2003 ADD AX, W[3504] ;两数低位相加2007 MOV W[3508], AX ;存低位和200A MOV AX, W[3502] ;加数高位送AX 200D ADC AX, W[3506] ;两数高位相加2011 MOV W[350A], AX ;存高位和2014 INT在3500开始的单元存入A0, 65, 15, 00(即001565A0)在3504开始的单元存入9E, B7, 21, 00(即0021B79E)。
运行后, 结果在3508开始的单元, 用D命令查看, 应有:3E 1D 37 00 CC。
反复试几组数, 考查程序的正确性。
2.十进制的BCD码相减运算2000 MOV AH, 00 2002 SAHF2003 MOV CX, 0002 2006 MOV SI, 3500 2009 MOV DI, 3510 200C MOV AL, B[SI] 200E SBB AL, B[SI+02] 2011 DAS 2012 PUSHF2013 AND AL, 0F 2015 POPF2016 MOV B[DI], AL 2018 INC DI2019 INC SI201A LOOP 200C 201C INT在3500~3503H单元, 依次存入00、04、02、01(即40和12)运行后结果在3510, 应有08 02。
(二)乘除运算1.考察乘法指令MUL、IMUL对状态标志位的影响取3000H单元开始的10个无符号数, 将其各自乘以2, 若有溢出, 显示“O”, 有进位显示“C”, 否则只显示间隔符“, ”, 规定每一组相应的标志显示之间均用“, ”来间隔。
这样就可以在数据区放各种试验数来考察乘法对标志的影响。
2000 MOV SI, 3000 ;源数据首址2003 MOV CX, 000A;数据个数2006 MOV BX, 00022009 MOV AX, W[SI] ;取数200B CLC200C IMUL BX ;乘2 200E JO 201E ;溢出转2010 JB 20222012 MOV AL, 2C ;显示“, ”2014 INC SI2015 INC SI2016 MOV AH, 01 ;显示功能调用2018 INT 10201A LOOP 2009 ;完否201C JMP 201C ;停机201E MOV AL, 4F ;显示“O”2020 JMP 20142022 MOV AL, 43 ;显示“C”2024 JMP 20142026 INT准备10个数存放到3000~3009H单元中, 运行程序, 观察显示结果并认真分析。