东南大学微机实验报告一
东南大学微机实验综合课程设计
东南大学自动化学院微机实验及课程设计报告《参数可调波形发生器》姓名:学号:专业:实验室:组别:同组人员:设计时间:评定成绩:审阅教师:目录一.设计目的和要求--------------------------------------3 二.原理设计--------------------------------------------4 三.方案论证与实现--------------------------------------6 四.设计思路及流程图--------------------------------------------------------7 五.编程实现--------------------------------------------------------------------10六.方案测试与结果分析----------------------------------18 六.改进与提高------------------------------------------19 七.分析与总结------------------------------------------19一、设计要求1)基本要求编制1 个参数在线可调的波形发生程序,由D/A 输出,构成参数在线可调的波形发生器,并用示波器观察波形。
函数波形可选f(t)=asin(bt),其中a、b参数在线可调(也可自己选择,但要求至少2 个参数可调且调节很明显)。
参数调节采用如下两种方式之一:(1)两个可调电位器输出通过A/D 转换后作为可调参数;(2)参数通过实验装置上的键盘实时修改(调整);(3)精确时间,开关选择标准信号输出(例如a=2V, b=100πRAD/s,即50Hz 正弦波)。
2)设计提示(1)当用电位器调节参数时,输出零不能对应相应的参数值就为零;(2)当通过键盘修改参数时,先键入参数名如“a”,显示当前参数值,修改后再键入参数名,则修改参数完成,随后输出波形发生变化。
东南大学 微机接口与实验 课程设计 乒乓球比赛 实验报告
东南大学《乒乓球比赛》微机课程设计实验报告姓名:学号:专业:吴健雄学院实验室:实验时间:2013年00月00日报告时间:2013年00月00日评定成绩:审阅教师:目录一、实验目的与内容 (2)二、总方案设计及原理 (3)(一)比赛规则 (3)(二)面板设计 (3)(三)方案流程图 (3)三、方案实现与测试 (5)(一)各模块硬件设计 (5)(二)整体硬件连线图 (6)(三)系统框图 (7)(四)主程序设计 (7)(1)主程序流程图 (7)(2)主要程序片段 (9)(五)子程序设计 (11)(1)延时子程序 (11)(2)屏幕显示子程序 (12)(3)数码管扫描比分子程序 (13)(4)移动速度选择子程序 (16)(5)规定等待时间选择子程序 (17)四、程序设计中遇到的问题及解决方法 (18)五、分析与总结 (18)附录 (19)一. 实验目的与内容1)基本要求用8个LED 发光管(红黄绿)的来回滚动显示来模拟打乒乓球时乒乓球在两边球台上的来回运动。
比赛双方用按钮/开关(双方各用1个按钮/开关)来模拟发球与接球,即发球方按动其控制的按钮/开关,球从发球方一侧向另一方运动(LED发光管从发球方到对方逐个点亮,滚动显示),当球运动至接球方时,接球方立即按动其控制的按钮/开关,“击球”使球“弹回”发球方一侧,如此周而复始,直至在规定的击球时间内有一方未能完成击球动作,从而对方得一分,然后继续比赛。
比赛规则可参照一般的乒乓球比赛规则。
要求:(1) 球以每0.5秒滚过1个LED的速度移动;(2) 回球需在球到达后的0.5秒内进行(按下按钮),否则按失球计;(3) 球未到达提前按下按钮按失球处理,不起回球作用;(4) 在PC机上显示比赛过程,同时用2个八段数码管显示比分(按10进制计数,初始值 0:0,可自行设计显示及规则,可简化为0-9,也可为0-99);(5) 要求精确计时。
2)设计提示球到达接球方后,立即读接球方的按钮状态,若未按则有效(若已按下则按失球计),并开始0.5秒的计时,在这个0.5秒内不断读接球方按钮状态,直到按下代表“击球”动作。
东南大学微机第六次实验报告1
东南大学《微机实验及课程设计》实验报告实验六8255 并行输入输出姓名:学号:专业:实验室:计算机硬件技术实验时间:年05月22日报告时间:年05月29日评定成绩:审阅教师:一.实验目的与内容(一)实验目的1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8段数码管的动态刷新显示控制;(二)实验内容及要求1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。
(必做)2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。
(如56或7f)(必做)3、静态显示:用逻辑电平开关预置某个数字(0~9)的二进制码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来。
4、动态显示:在两个数码管上滚动循环显示不同的0~f字符。
(即开始时两个数码管显示01,12,23,34 ······ 9a······f0,一直循环直至退出)注:3,4中选做一题,必做一题二. 实验基本原理(一)实验接线图PA0~PA6分别接数码管的a~gPC0~PC7分别逻辑电平开关的K0~K7位选端S1接+5V位选端S0接地数码管dp端接地必做1,3 接线图PA0~PA6分别接数码管的a~g位选端S0 、S1接8255C口的PC0、PC1端必做2 接线图(二)程序流程图开 始设置8255C口输入A口输出从C口输入数据将此数据自A口输出有键按下吗?NY结 束图 8255 简单输入输出程序流程图图 8255 动态显示5 6 程序流程图三方案实现与测试(或调试)必做实验1:data segmentioport equ 0ec00h-0280hio8255a equ ioport+288hio8255b equ ioport+28bhled db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh mesg1 db 0dh,0ah,'Input a num(0--9h):',0dh,0ah,'$'data endscode segmenta ssume cs:code,ds:datastart: mov ax,datam ov ds,axm ov dx,io8255b ;使8255的A口为输出方式m ov ax,80ho ut dx,alsss: mov dx,offset mesg1 ;显示提示信息m ov ah,09hi nt 21hm ov ah,01 ;从键盘接收字符i nt 21hc mp al,'0' ;是否小于0j l exit ;若是则退出c mp al,'9' ;是否大于9j g exit ;若是则退出s ub al,30h ;将所得字符的ASCII码减30Hm ov bx,offset led ;bx为数码表的起始地址x lat ;求出相应的段码m ov dx,io8255a ;从8255的A口输出o ut dx,alj mp sss ;转SSS exit: mov ah,4ch ;返回DOS i nt 21hcode endsend start必做实验2:data segmentioport equ 0ec00h-0280hio8255a equ ioport+28ahio8255b equ ioport+28bhio8255c equ ioport+288hled db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh buffer1 db 5,6bz dwdata endsstacks segment stackdb 100 dup()stacks endscode segmentassume cs:code,ds:data,ss:stacksstart: mov ax,stacksmov ss,axmov ax,datamov ds,axmov dx,io8255bmov al,80hout dx,almov di,offset buffer1;23loop2: mov bh,02hlll: mov byte ptr bz,bhpush didec diadd di,bzmov bl,[di] pop dimov al,0mov dx,io8255aout dx,almov bh,0mov si,offset led add si,bxmov al,byte ptr [si] mov dx,io8255cout dx,almov al,byte ptr bz mov dx,io8255aout dx,almov cx,3000delay: loop delaymov bh,byte ptr bz shr bh,1jnz lllmov dx,0ffhmov ah,06hint 21hje loop2mov dx,io8255amov al,0out dx,almov ah,4chint 21hcode endsend start选做实验1:data segmentioport equ 0ec00h-0280h ;tpc卡中设备的io地址io8255a equ ioport+288h ;8255A口地址io8255b equ ioport+28bh ;8255控制寄存器端口地址io8255c equ ioport+28ah ;8255C口地址led db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,79h data endsstacks segment stackdb 100 dup ()stacks endscode segmentassume cs:code,ds:data,ss:stacksmain proc farstart: mov ax,stacksm ov ss,axmov ax,datam ov ds,axm ov dx,io8255b ;设8255为C口输入,A口输出m ov al,8bho ut dx,alinout: mov dx,io8255c ;从C 口输入一数据i n al,dxc mp al,30h ;是否小于0j l error ;若是则显示Ec mp al,39h ;是否大于9j g error ;若是则显示Esub al,30hjmp showerror: mov al,79hmov dx,io8255aout dx,al;显示Eshow: mov bx,offset led ;bx为数码表的起始地址x lat ;求出相应的段码mov dx,io8255a ;从A 口输出刚才自C口所输入的数据o ut dx,alm ov dl,0ffh ;判断是否有按键m ov ah,06hi nt 21hj z inout ;若无,则继续自C 口输入,A口输出m ov ah,4ch ;否则返回DOSi nt 21hmain endpcode endsend start选做实验2:data segmentioport equ 0ec00h-0280hio8255a equ ioport+288hio8255b equ ioport+289hio8255c equ ioport+28ahio8255d equ ioport+28bhled db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h ,7ch,39h,5eh,79h,71h ;段码buffer1 db 0,1 ;存放要显示的十位和个位bz dw ;位码count dwcount1 dwdata endsmystack segment para stackdb 100 dup()mystack endscode segmenta ssume cs:code,ds:data,ss:mystackstart:mov ax,datam ov ds,axmov dx,io8255b ;将8255设为A 口输出m ov al,80ho ut dx,albegin3: mov count1,0fhbegin2: mov count,3000mov ax,countbegin1: mov count,ax mov cx,02hmov ah,02hlea si,buffer1mov bx,offset led begin: mov al,[si] xlatmov dx,io8255aout dx,almov al,ahmov dx,io8255cout dx,alcall delaymov al,0out dx,alinc sishr ah,1loop beginmov ax,countdec axjnz begin1mov si,0inc buffer1[si] inc siinc buffer1[si]dec count1jnz begin2mov si,offset buffer1 mov byte ptr[si],0mov byte ptr[si+1],1 mov dx,0ffhmov ah,06hint 21hje begin3jne exitdelay procpush cxmov cx,0ffffhdelay1: loop delay1 pop cxretdelay endpexit: mov ah,4chint 21hcode endsend start四.分析与总结1、8255作为一个并行输入输出接口电路可实现动态和静态的输入输出,在静态实验中,我们通过键盘输入数据,实际上就是用计算机读取键盘的输入值通过8255输出给外设的过程,动态实验中计算机直接读取内存中的数通过8255送到数码管上显示出来2、8255的A口、B口、C口和控制口的端口地址分别为288H~28BH。
东南大学计算机硬件课程设计报告
计算机硬件课程设计设计报告学号:09008112 姓名:马京亚成绩:学号:09008123 姓名:郭晨成绩:东南大学计算机科学与工程学院二〇一〇年十一月目录一、设计名称: (3)二、实验目的: (3)三、实验任务: (3)四、设计方案: (4)1.数据格式和指令系统 (4)2.硬件结构设计 (5)3.数据通路设计 (6)4.控制器设计 (7)5.指令的微程序表 (10)6.总电路图及Rom (11)五、设计优化 (12)1.更改时序 (12)2.增加指令 (13)3.减少ROM空间 (17)4.总电路图 (19)六、测试结果与性能分析 (20)1.测试程序 (20)2.时序图 (21)3.编译报告中资源使用情况 (22)七、课程设计总结 (23)微程序控制的模型计算机的设计与调试二、实验目的:1.综合运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。
2.进一步掌握运用EDA 技术进行设计和调试的工作方法。
3.掌握计算机硬件设计的思想,方法及工作过程,进一步培养工程设计的能力。
三、实验任务:1.自行规定数据格式和指令格式,在所提供的条件范围内设计一台由微程序控制的模型计算机。
2.根据设计方案,将模型机调试成功,对设计进行优化。
3.整理出相关文件。
(1)数据格式和指令系统。
(2)总框图。
(3)详细电路图。
(4)微指令格式和微程序。
(5)调试过程和测试结果(包括测试程序)。
1.数据格式和指令系统采用8 位数据通路,数据采用8 位二进制定点表示。
7 6 5 4 3 2 1 0.设置7 条机器指令和2条面板操作指令(1)面板操作指令a.输入地址为PC 置初始值,即输入程序的起始地址,当K1 开关置“1”,K2 开关置“0”时执行此操作;b.输入程序将程序输入到内存的指定区域,当K1,K2 开关均置“1”时,由面板输入开关输入程序;c.本模型机设置K3 开关,K3 置1 表示执行单步操作;d. START 表示启动开关。
东南大学计算方法与实习上机实验一
东南大学计算方法与实习实验报告学院:电子科学与工程学院学号:06A*****姓名:***指导老师:***实习题14、设S N=Σ(1)编制按从大到小的顺序计算S N的程序;(2)编制按从小到大的顺序计算S N的程序;(3)按两种顺序分别计算S1000,S10000,S30000,并指出有效位数。
解析:从大到小时,将S N分解成S N-1=S N-,在计算时根据想要得到的值取合适的最大的值作为首项;同理从小到大时,将S N=S N-1+ ,则取S2=1/3。
则所得式子即为该算法的通项公式。
(1)从大到小算法的C++程序如下:/*从大到小的算法*/#include<iostream>#include<iomanip>#include<cmath>using namespace std;const int max=34000; //根据第(3)问的问题,我选择了最大数为34000作为初值void main(){int num;char jus;double cor,sub;A: cout<<"请输入你想计算的值"<<'\t';cin>>num;double smax=1.0/2.0*(3.0/2.0-1.0/max-1.0/(max+1)),temps;double S[max];// cout<<"s["<<max<<"]="<<setprecision(20)<<smax<<'\n';for(int n=max;n>num;){temps=smax;S[n]=temps;n--;smax=smax-1.0/((n+1)*(n+1)-1.0);}cor=1.0/2.0*(3.0/2.0-1.0/num-1.0/(num+1.0)); //利用已知精确值公式计算精确值sub=fabs(cor-smax); //double型取误差的绝对值cout<<"用递推公式算出来的s["<<n<<"]="<<setprecision(20)<<smax<<'\n';cout<<"实际精确值为"<<setprecision(20)<<cor<<'\n';cout<<"则误差为"<<setprecision(20)<<sub<<'\n';cout<<"是否继续计算S[N],是请输入Y,否则输入N!"<<endl;cin>>jus;if ((int)jus==89||(int)jus==121) goto A;}(2)从小到大算法的C++程序如下:/*从小到大的算法*/#include<iostream>#include<iomanip>#include<cmath>using namespace std;void main(){int max;A: cout<<"请输入你想计算的数,注意不要小于2"<<'\t';cin>>max;double s2=1.0/3.0,temps,cor,sub;char jus;double S[100000];for(int j=2;j<max;){temps=s2;S[j]=temps;j++;s2+=1.0/(j*j-1.0);}cor=1.0/2.0*(3.0/2.0-1.0/j-1.0/(j+1.0)); //利用已知精确值公式计算精确值sub=fabs(cor-s2); //double型取误差的绝对值cout<<"用递推公式算出来的s["<<j<<"]="<<setprecision(20)<<s2<<'\n';cout<<"实际精确值为"<<setprecision(20)<<cor<<'\n';cout<<"则误差为"<<setprecision(20)<<sub<<'\n';cout<<"是否继续计算S[N],是请输入Y,否则输入N!"<<endl;cin>>jus;if ((int)jus==89||(int)jus==121) goto A;}(3)(注:因为程序中setprecision(20)表示输出数值小数位数20,则程序运行时所得到的有效数字在17位左右)ii.选择从小到大的顺序计算S1000、S10000、S30000的值需要计算的项S1000S10000S30000计算值0.74900049950049996 0.74966672220370571 0.74996666722220728实际精确值0.74900049950049952 0.74990000499950005 0.74996666722220373误差 4.4408920985006262*10-16 5.6621374255882984*10-15 3.5527136788005009*10-15有效数字17 17 17附上部分程序运行图:iii.实验分析通过C++程序进行计算验证采用从大到小或者从小到大的递推公式算法得到的数值基本稳定且误差不大。
东南大学微机实验报告3、4定时中断流水灯
东南大学《微机实验及课程设计》实验报告实验三定时-中断实验:模拟流水灯姓名:学号:专业:自动化类实验室:金智楼416实验时间:2020年4月29日报告时间:2020年5月1日评定成绩:审阅教师:实验三定时-中断实验:模拟流水灯一. 实验目的与内容1.实验目的:1)掌握 PC 机中断处理系统的基本原理;2)学会编写中断服务程序。
3)掌握计数器/定时器 8253/8254 的基本工作原理和编程应用方法;4)了解掌握 8253(8254)的计数器/定时器典型应用方法。
2.实验内容:1. 查阅实验指导书 P60,了解微机主板上的 8259 IRQ0 是留给时钟的中断,类型号是 08H;2. 在提供的例程 int.asm 基础上编写利用 IRQ0 的定时中断程序(即修改对应的中断服务程序),每次中断在屏幕上输出一行字;3. 查阅课本 P273 例程,了解主机板上 8253 端口号和通道 0 对应的时钟,修改 8253 初始化程序,使得通道 0 输出时钟为55ms;4. 修改之前的程序,使其功能为:每 18 次中断(对应约1s)在屏幕上输出一行字;5. 根据提供的画图程序,模拟单色流水灯,按每秒一个灯向着单方向流动;6. 双向流水灯、键控(方向/加减速)流水灯。
二. 基本实验原理中断:PC 机用户可使用的硬件中断只有可屏蔽中断,由 8259 中断控制器管理。
中断控制器用于接收外部中断请求信号,经过优先级判别等处理后向 CPU 发出可屏蔽中断请求。
IBMPC、PC/XT 机内有一片 8259 中断控制器对外可以提供 8 个中断源:中断源中断类型号中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 OBH 串行口2IRQ4 0CH 串行口1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机8 个中断源的中断请求信号线 IRQ0~IRQ7 在主机的 62 线 ISA 总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。
东南大学微机原理第一次实验报告
《微机实验及课程设计》实验报告实验一汇编语言与程序调试基础姓名:学号:专业:仪器科学与工程学院实验室:计算机硬件技术实验时间: 2014年04月17日报告时间: 2014年04月23日评定成绩:审阅教师:一、实验目的1、了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点2、掌握汇编语言程序指令编辑、宏汇编、连接和运行的基本概念3、熟练掌握动态调试程序TD的常用命令和窗口功能,学会用TD调试程序,修改环境4、学会利用DEBUG或TD检查认识指令功能的正确方法二、实验内容1、必做内容(1)要求计算两个多字节十六进制数之差:3B74AC60F8-20D59E36C1=?式中被减数和减数为5个字节,存放在DATA1和DATA2的内存区,低位在前,高位在后。
试编写减法的程序段,要求相减的结果存放在首址为DATA3的内存区。
(2)以BUFFER为首地址的内存区存放了10个十六位带符号数,编写程序比较它们的大小,找出其中最小的带符号数,存入MIN和MIN+1单元。
2、选做内容(1)两个字符串的长度均为10,首地址分别为STRING1和STRING2,比较两个字符串是否完全相同,如果相同,将BL寄存器置为00H;如果不完全相同,将BL寄存器置为FFH,并将第一个字符串中的第一个不相同字符的地址放在SI寄存器中。
三、实验原理1、实验基本步骤(1)用任意一种文本编辑器(EDIT、NOTEPAD、UltraEDIT等)建立编辑汇编源程序,并将其保存为文件名.asm文件,将其放入带汇编工具的文件夹中(d:\tasm)。
注:文件名不要起的过长,在连接时可能会出现can’t find file的问题。
(2)开始菜单,点运行条目,打入cmd命令进入DOS调试环境。
(3)进入该文件夹(cd d:\tasm) ,键入如下命令开始编辑程序:d:\zxj>edit 文件名.asm(4)将程序保存后返回DOS进行汇编,键入如下命令:d:\zxj>tasm 文件名.asm如果汇编通过,进行下一步,如果出现error,返回3步骤,根据错误的行数进行修改,然后重新汇编,直到不产生error为止。
东南大学最后一次微机实验报告
东南大学电子科学与工程学院实验报告课程名称:微机原理与接口技术实验名称:交通灯控制实验姓名:学号:实验室:516室实验组别:同组人员:实验时间:2016 年5 月23 日评定成绩:审阅教师:实验报告要求实验准备1.实验目的和要求(或主要性能指标)2.实验原理及实现方案3.实验方案设计与参数选择4.需测量参数及数据测量方法5.理论计算数据或软件模拟数据6.实验数据记录格式7.实验使用仪器设备(包括仪器设备名称、型号、规格、编号、使用状况)8.实验过程或实验步骤实验过程1.实验步骤和实验数据记录2.实验最终方案和方案参数3.实验中出现的问题及解决方法实验总结1.实验数据处理2.实验误差分析3.实验结果讨论4.实验心得注:页面不够可以加页一、实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
二、实验内容如图2-29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮(3)南北路口的红灯、东西路口的绿灯同时亮(4)南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次。
2东南大学电子科学与工程学院实验报告用纸东南大学电子科学与工程学院实验报告用纸3三、硬件连接图四、编程参考流程图五、基础部分代码;***********************************;;* 十字路口红绿灯模拟演示程序*;;* 端口各灯的设置: *;;* 1红1黄1绿0 0 2红2黄2绿*;;***********************************;data segmentioport equ 0ec00h-0280hio8255a equ ioport+28ahio8255b equ ioport+28bhportc1 db 24h,44h,04h,44h,04h,44h,04h ;六个灯可能db 81h,82h,80h,82h,80h,82h,80h ;的状态数据db 0ffh ;结束标志data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,io8255bmov al,90hout dx,al ;设置8255为C口输出mov dx,io8255are_on: mov bx,0on: mov al,portc1[bx]cmp al,0ffhjz re_onout dx,al ;点亮相应的灯inc bx4东南大学电子科学与工程学院实验报告用纸mov cx,2000 ;参数赋初值test al,21h ;是否有绿灯亮jz de1 ;没有,短延时mov cx,0FFFFH ;有,长延时de1: mov di,0FFFFHde0: dec dijnz de0loop de1push dxmov ah,06hmov dl,0ffhint 21hpop dxjz on ;没有,转到onexit: mov ah,4ch ;返回int 21hcode endsend start代码分析:主要分析灯的延迟时间这部分。
东南大学微机实验报告10页10页
东南大学微机实验报告10页10页
1. 简介:介绍实验目的、实验背景、研究问题和实验方法等。
2. 材料和方法:介绍实验材料和方法,例如使用的硬件、软件和技术等。
3. 结果:给出实验结果,例如测试数据和图表等。
4. 讨论:对结果进行讨论,对实验中遇到的问题进行解释和分析,并提出结论和建议。
5. 结论:总结实验过程、重要结果和研究结论,以及对未来工作的展望。
以下是一份典型的东南大学微机实验报告的框架,可以参考使用。
实验题目:xxx
实验时间:xxxx.xx.xx
实验地点:东南大学计算机实验室
学生姓名:xxx
实验报告结构
1. 简介
1.1 实验目的
1.3 研究问题
2. 材料和方法
2.1 硬件
2.3 技术
3. 结果
3.1 测试数据
4. 讨论
4.2 问题解释
4.3 建议
5. 结论
5.3 未来展望
参考文献: 1. xxxx。
东南大学信息学院微机实验报告十
实验十一、实验目的1.了解Intel 8086CPU的中断处理功能以及IBM-PC的中断结构。
2.了解8259中断控制器的使用。
3.掌握键盘中断的编程,观察中断的执行情况。
二、实验任务要求每按下一个键就向CPU发出中断请求信号,该信号由8259的IRQ1引入,中断类型号为09,CPU响应中断后转入执行KEYINT中断服务程序,并且在CRT上显示某字或某个图形,按下10次后返回DOS。
三、源程序STACK SEGMENT STACKDW 200H DUP(?)STACK ENDSDATA SEGMENTKEY DB ?BUF DB "OK!"DATA ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK, DS:DATADELAY PROCPUSH CXPUSH DXMOV DX,0A64DHCON2: MOV CX,0FFFFHCON: DEC CXJNE CONDEC DXJNE CON2POP DXPOP CXRETDELAY ENDPDISP1 PROC FARPUSH AXPUSH BXPUSH CXPUSH DXMOV AH, 15 ;读当前显示状态INT 10HMOV AH, 0 ;设置显示方式INT 10HMOV CX, 1 ;要显示字符个数MOV DX, 0 ;行号为0,列号为0REPT: MOV AH, 2 ;设置光标位INT 10HMOV AL, 0FH ;读出太阳图形MOV AH, 10 ;写字符INT 10HCALL DELAYSUB AL, ALMOV AH, 10 ;清除原图形INT 10HINC DHADD DL, 2CMP KEY, 10JAE GO1CMP DH, 25JNE REPTGO1: POP DXPOP CXPOP BXPOP AXRETDISP1 ENDPDISP2 PROC FARPUSH CXPUSH BXPUSH AXMOV CX, 3NEXTC: LODSB ;AL<-[SI]MOV AH, 0EH ;写字符,并移动光标MOV BX, 01INT 10HCALL DELAYLOOP NEXTCCMP KEY, 10JAE GO2POP AXPOP BXPOP CXRETDISP2 ENDPKEYINT PROC FARPUSH AXPUSH SISTIIN AL, 60HIN AL, 61HOR AL, 80HOUT 61H, ALAND AL, 7FHOUT 61H,ALTEST AH, 80HJNE GOSTIINC KEYMOV SI, OFFSET BUFCALL DISP2GO: MOV AL, 20HOUT 20H, ALPOP SIPOP AXIRETKEYINT ENDP START: MOV AX, STACK MOV SS, AXMOV AX, DATAMOV DS, AXMOV ES, AXMOV AX, ES:[24H]PUSH AXMOV AX, ES:[26H]PUSH AXCLIMOV AX, OFFSET KEYINTMOV ES:[24H],AXMOV AX, SEG KEYINTMOV ES:[26H], AXSTIMOV KEY, 0AGAIN: CALL DISP1CMP KEY, 10JB AGAINCLIGO2: POP AXMOV ES:[26H],AXPOP AXMOV ES:[24H],AXSTIMOV AH, 4CHINT 21HCODE ENDSEND START四、实验中遇到的问题在实验编写过程中,遇到按住键,会一直显示OK,出现10次OK后也不会跳出程序。
东南大学微机实验报告
东南大学《微机实验及课程设计》实验报告实验一指令与汇编语言基础实验二汇编语言程序设计姓名:学号:08010424专业:自动化实验室:计算机硬件技术实验时间:2012年04月10日报告时间:2012年04月16日评定成绩:审阅教师:一. 实验目的与内容实验目的1、了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点。
2、掌握汇编语言程序指令编辑基本框架程序,完成宏汇编、连接操作,实现运行;3、熟练掌握动态调试程序TD/DEBUG常用命令或窗口功能,学会动态调试程序的基本方法。
4、利用框架程序检验8086/8088汇编语言(MASM/TASM)的各种指令性与指示性操作功能和语法,并了解它们与目标代码之间的关系;检验典型DOS/BIOS功能调用,实现简单的人机交互功能。
基本实验内容和要求 (重点:段存储结构和数据变量)(1)掌握进入全屏命令行方式、修改环境的两种方法(2)确定源程序的存放目录,构建个人实验环境;(3)建立、编辑汇编源程序,构建典型的汇编程序框架;(4)用汇编工具(MASM/TASM.EXE)汇编源程序产生OBJ目标文件;(5)用链接程序(LINK/TLINK.EXE)产生EXE可执行文件;(6)用调试工具软件(Debug.exe / TD.EXE)调试执行程序;1)观察CPU寄存器、存储器环境;2)单步、断点运行,观察中间结果;3)完成正常执行;4)修改中间运行环境(寄存器,存储器);5)直接编写程序片断,验证指令功能实验内容一:编辑(EDIT):基本的汇编语言格式:段,变量,过程;汇编(MASM):产生.LST文件;链接(LINK).MAP文件(调试观察源-目标关系)多模块程序,.LST,.MAP文件(调试观察源-目标关系)DOS/BIOS调用功能(I/O)调试验证INT 21H / INT 16HTASM/zi TLINK/v TD带符号(Symble) 调试(观察源-目标关系)实验内容二:1.输入字符串,作大小写变换,显示结果2.输入十进制数N(<=65535), 转换成十六进制数,显示在屏幕上(有检错功能)3.改写成子程序结构4.N<=12时用递归算法实现阶乘;5.采用双模块结构;采用软件中断调用(INT 80H,用DEBUG跟踪调试)二. 基本实验原理运行汇编程序必备的软件环境:DOS操作系统;汇编软件系统。
东南大学虚拟仪器实验报告-(计算n!,计算器)
东南大学生物科学与医学工程学院虚拟仪器实验报告第二次实验实验名称:程序结构专业:生物医学工程姓名:学号:同组人员:学号:实验室: 综合楼716实验时间:10月14日评定成绩:审阅教师:一、计算n的阶乘 (3)1实验题目 (3)2实验目的 (3)3实验内容 (3)4设计方案选择、方案的优缺点。
(3)5软件设计: (3)6调试: (6)7测试结果和分析。
(6)8使用说明: (7)9结束语、总结、心得体会。
(7)二、实现加减乘除的计算器 (7)1实验题目 (7)2实验目的 (7)3实验内容 (7)4设计方案选择、方案的优缺点。
(7)5软件设计: (8)6调试: (9)7测试结果和分析 (10)8使用说明: (10)9结束语、总结、心得体会。
(10)一、计算n的阶乘1实验题目完成计算n的阶乘2实验目的①前面板数字控制器可随意输入n的值,并能显示结果(注:0!=1)。
②For循环中重复时间不少于100ms(即程序每100ms循环一次)。
3实验内容⑴学习while、For循环的使用方法。
⑵学习移位寄存器的概念,学习移位寄存器的使用。
⑶学习使用Case结构,学习添加和删除分支。
4设计方案选择、方案的优缺点。
计算n的阶乘的计算器方案选择:利用循环语句,进行数字n的阶乘运算,利用移位寄存器实现数据的传送完成数字连乘。
利用时间计时器的差值得出程序运行所用时间。
能够简洁明了的实现计算n的阶乘的功能,数据正确。
5软件设计:虚拟仪器设计步骤详细介绍。
(1)程序前面板设计:数值输入控件:名称:输入n 属性:双精度(DBL)用途:面向用户,手动输入n值数值显示控件:名称:n!的值属性:双精度(DBL)用途:显示n!运算结果名称:运行时间(ms)属性:双精度(DBL)用途:显示程序运行时间面板的布局:。
(2)框图程序设计:程序流程图:源程序:6调试:调试步骤:使用高亮执行该段程序,观察数据流的动向。
调试中问题:一开始使用整型,对于较小数值,结算结果正确,但对于较大的数值计算结果错误。
东南大学微机原理微机系统与接口实验三四实验报告范文自动化学院
东南大学微机原理微机系统与接口实验三四实验报告范文自动化学院《微机实验及课程设计》实验报告学号08011东南大学《微机实验及课程设计》实验报告实验三TPC装置系统,I/O与存储器简单输入输出实验四(1)姓名:学号:08011专业:自动化实验室:计算机硬件技术实验时间:2022年04月9日报告时间:2022年04月21日评定成绩:审阅教师:《微机实验及课程设计》实验报告学号08011一.实验目的与内容实验三:(1)实验目的:1)2)3)4)了解掌握TPC实验系统的基本原理和组成结构,学会测试检查TPC-PCI总线转接卡地址;正确掌握I/O地址译码电路的工作原理,学会动态调试程序DEBUG/TD的直接I/O操作方法;学会利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况;进一步熟悉8086/8088及PC机的分段存储特性,了解存储器扩展原理,完成编程及测试。
(2)实验内容:1)观察了解TPC-2003A实验系统的基本原理和组成结构,测试基本单元电路功能,熟悉各部分辅助电路的使用;2)通过Win/某P控制台硬件信息或测试程序检查TPC-PCI总线转接卡地址,并记录;3)按图3.3-5的I/O地址译码测试参考电路连线,分析电路原理,分别利用动态调试程序直接I/O操作功能和单步功能测试;4)编程利用片选负脉冲控制指示灯(如L7)闪烁发光(亮、灭、亮、灭、),时间间隔通过软件延时实现;5)修改延时参数,使亮(约1秒)与灭的时间间隔分别为1秒、5秒和8秒,记录延时程序对应参数B某,C某。
实验四:(1)实验目的6)进一步掌握TPC实验装置的基本原理和组成结构7)掌握利用I/O指令单步调试检查硬件接口功能,学会用示波器检测I/O指令执行时总线情况8)掌握简单并行输入输出接口的工作原理和使用方法,进一步熟悉掌握输入输出单元的功能和使用(2)实验内容9)连接简单并行输出接口电路,编程从键盘输入一个字符或数字,将其ASCII码通过这个输出接口电路输出,根据8个放光二极管发光情况验证正确性10)连接简单并行输入接口电路,用逻辑电平开关K0~K7预置一字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来二.基本实验原理实验三:实验电路图见3.3-5,实验电路中D触发器CLK端输入脉冲时,上升沿使Q端锁存输出高电平L7发光,CD端为低电平时L7灭:《微机实验及课程设计》实验报告学号08011参考程序:程序名:decode.amioportequ0c800h-0280h;tpc卡中设备的IO地址outport1equioport+2a0h;CLK端译码输出端选为地址Y4outport2equioport+2a8h;CD端对应译码输出选为地址Y5tackegmenttackdb100dup()tackendcodeegmentaumec:code,:tackmainprocfartart:mova某,tackmov,a某movd某,outport1;Y4,置位,CLK端写outd某,alcalldelay;调延时子程序movd某,outport2;Y5,清空CD端写outd某,alcalldelay;调延时子程序movah,1int16hjetart;ZF=1,无键输入movah,4chint21h;返回DOS操作系统mainendpdelayprocnear;延时子程序movb某,2000ZZZ:movc某,0ZZ:loopZZdecb某2《微机实验及课程设计》实验报告学号08011jneZZZretdelayendpcodeendendtart实验四:(1)简单并行输入输出接口电路连线图输出接口电路输入接口电路(2)简单并行输入输出电路原理数据D0~D7先预存入273中,当输出端口2A8H和写信号同时低电平时,发生时钟触发,此时将数据运送到输出端Q1~Q8。
东南大学微机原理第六次实验报告
《微机实验及课程设计》实验报告实验一8253 计数器/定时器姓名:学号:专业:仪器科学与工程学院实验室:计算机硬件技术实验时间: 2014年05月29日报告时间: 2014年06月4日评定成绩:审阅教师:一. 实验目的1)掌握计数器/定时器8253 的基本工作原理和编程应用方法;2)了解掌握8253 的计数器/定时器典型应用方法二. 实验内容必做:5-1 将计数器0设置为方式0,计数初值为N(小于等于0FH),用手动的方式逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。
(参考程序p63)5-2 将计数器0、1分别设置在方式3,计数初值设为1000,用逻辑笔观察OUT0电平的变化。
(参考程序p64)5-3在实验2的基础上,利用输出的1Hz的方波接入计数器2,设置计数器2初值为4,根据键盘输入的数字(0~5)来设置计数器2的工作方式,并将GATE2信号进行相应的连接(接+5V或接单脉冲)用逻辑笔观察OUT2电平的变化。
要求可以响应键盘的连续变化,直到按ESC键退出。
5-4在实验2的基础上,将8253计数器1的工作方式改为方式0,输出OUT1接入8255的PA0,PC0连接任意一个发光二级管,8255A的CS接288H。
编程使得发光二极管亮5秒,灭2秒,一直循环直到按任意键退出。
(提示:PA0查询OUT1输出电平,PC0输出开关量控制二极管发光)二. 实验原理与接线5-1 参考图 3.6-1 虚线连接电路,将计数器 0 设置为方式 0,计数器初值为 N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察 OUT0 电平变化(当输入 N+1 个脉冲后 OUT0 变高电平)●8253的CS接280H●8253的GATE0接+5V●8253的CLK0接单脉冲1或2●8253的OUT0接逻辑笔(高电平LED12亮,低电平LED13亮)5-2 按图 3.6-2连接电路,将计数器 0、计数器 1 分别设置为方式 3,计数初值设为 1000,用逻辑笔观察OUT1 输出电平的变化(频率 1Hz)●8253的CS接280H●8253的GATE0和GATE1接+5V●8253的CLK0接1MHz●8253的OUT0接CLK1●8253的OUT1接逻辑笔编辑提示:1、8253定时器0地址 280h8253定时器1地址 281h8253定时器2地址 282h8253控制口地址 283h2、实验参考程序中的口地址和代号是随意的,看程序的时候要注三. 实验源程序(主要部分)和流程图5-1 将计数器0设置为方式0,计数初值为N(小于等于0FH),用手动的方式逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。
东南大学第一次微机实验报告
《微机实验及课程设计》实验报告实验一汇编语言与程序调试基础姓名:谢雨蒙学号: ******** 专业:仪器科学与工程学院实验室:计算机硬件技术实验时间: 2013年04月17日报告时间: 2013年04月24日评定成绩:审阅教师:一、实验目的1、了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点2、掌握汇编语言程序指令编辑、宏汇编、连接和运行的基本概念3、熟练掌握动态调试程序TD的常用命令和窗口功能,学会用TD调试程序,修改环境4、学会利用DEBUG或TD检查认识指令功能的正确方法二、实验内容1、必做内容(1)要求计算两个多字节十六进制数之差:3B74AC60F8-20D59E36C1=?式中被减数和减数为5个字节,存放在DATA1和DATA2的内存区,低位在前,高位在后。
试编写减法的程序段,要求相减的结果存放在首址为DATA3的内存区。
(2)以BUFFER为首地址的内存区存放了10个十六位带符号数,编写程序比较它们的大小,找出其中最小的带符号数,存入MIN和MIN+1单元。
2、选做内容(1)两个字符串的长度均为10,首地址分别为STRING1和STRING2,比较两个字符串是否完全相同,如果相同,将BL寄存器置为00H;如果不完全相同,将BL寄存器置为FFH,并将第一个字符串中的第一个不相同字符的地址放在SI寄存器中。
三、实验原理1、实验基本步骤(1)用任意一种文本编辑器(EDIT、NOTEPAD、UltraEDIT等)建立编辑汇编源程序,并将其保存为文件名.asm文件,将其放入带汇编工具的文件夹中(d:\tasm)。
注:文件名不要起的过长,在连接时可能会出现can’t find file的问题。
(2)开始菜单,点运行条目,打入cmd命令进入DOS调试环境。
(3)进入该文件夹(cd d:\tasm) ,键入如下命令开始编辑程序:d:\zxj>edit 文件名.asm(4)将程序保存后返回DOS进行汇编,键入如下命令:d:\zxj>tasm 文件名.asm如果汇编通过,进行下一步,如果出现error,返回3步骤,根据错误的行数进行修改,然后重新汇编,直到不产生error为止。
东南大学信息学院微机实验简单编程练习
微机实验报告第三次实验实验名称:简单编程练习院系:信息科学和工程学院学号:姓名:实验时间:2016.4一、实验目的1.利用已掌握的宏汇编语言,进行简单的程序设计练习2.学习和掌握建立与运行汇编语言程序各个步骤和命令3.熟悉汇编程序的调试过程二、实验任务1.在一个数据块中找出最大数假设有数据22、46、32、72、84、16,且为不带符号的正整数,数据块的长度存放在CX寄存器中,找出的最大数存放在以MAXN为符号的单元中。
2.求无符号字节数据之和,和数为8位二进制数假设有数据38,55,26,12,23,数据块的长度存放在CX寄存器中,和数存放在以SUM为符号的单元中。
3.求无符号字节数据之和,和数为16位二进制数假设有数据58,25,45,73,64,43,数据块长度存放在CX寄存器中,和数存放在以SUM为符号的字单元中。
4.求两个十进制数相乘的积(56093*5=?),被乘数和乘数均以非组合BCD码表示,并存放在内存中,乘积存放在以SUM为符号的单元中。
5.试分别用数据传送指令和串传送指令编写程序,将以STR1为首地址的字节存储单元中的数据30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H,传送到以STR2为首地址的字节存储单元中。
三、实验代码1.DATAS SEGMENTNUM DB 22,46,32,72,84,16MAXN DB ?DATAS ENDS ;定义数据段STACKS SEGMENTSTACKS ENDS ;定义栈段CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXLEA BX,NUMMOV CX,05 ;CX计入比较的计数值MOV AL,[BX]AGAIN:INC BXCMP AL,[BX] ;将AL与[BX]的当前值进行比较JA NEXT ;如果前AL大于[BX],则跳转到NEXTMOV AL,[BX] ;将[BX]赋值给ALNEXT:LOOP AGAIN;继续下一次循环MOV MAXN,AL ;将AL赋值给MAXNMOV AH,4CHINT 21H ;结束本程序的运行,并返回DOS状态CODES ENDSEND START ;整个程序汇编结束实验结果:[DS:0006]=54H2.DATAS SEGMENTNUM DB 38,55,26,12,23;定义5个字节数据SUM DB ? ;定义变量SUM存放和DATAS ENDS ;定义数据段STACKS SEGMENTSTACKS ENDS;定义栈段CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV CX,05 ;将数据的个数赋给CXLEA BX,NUM ;将变量NUM的偏移地址赋给BXSUB AL,AL;AL清零NEXT:ADD AL,[BX]INC BX;取下一个数LOOP NEXT ;跳转至NEXT,继续循环MOV SUM,AL ;将AL赋值给SUMMOV AH,4CHINT 21H;返回DOSCODES ENDSEND START ;整个程序汇编结束实验结果:[DS:0005]=9AH3.DATAS SEGMENTNUM DB 58,25,45,73,64,43 ;定义6个字节数据SUM DW ? ;定义字单元数据存放和DATAS ENDS;定义数据段STACKS SEGMENTSTACKS ENDS;定义栈段CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXLEA BX,SUMMOV CX,6;把数据个数赋给CXSUB AX,AX;AX清零NEXT:ADD AL,[BX] ;当前值和下一个值相加ADC AH,0;加上进位INC BX ;BX加1LOOP NEXT ;跳转至NEXT,继续循环MOV SUM,AX ;把AX的值传送到AUMMOV AH,4CHINT 21H;返回DOSCODES ENDSEND START;整个程序汇编结束实验结果:[DS:0006]=0134H4.DATAS SEGMENTDATA1 DB 03,09,00,06,05 ;定义5个字节数据,分别作为每一位的被乘数DATA2 DB 05 ;说明乘数SUM DB 6 DUP(00) ;定义5个字节数据存放数据相乘结果DATAS ENDSSTACKS SEGMENTSTACKS ENDS;定义栈段CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV SI,OFFSET DATA2 ;取DATA2的偏移地址MOV BL,[SI];将乘数保存到BL中MOV SI,OFFSET DATA1 ;取DATA1的偏移地址MOV DI,OFFSET SUM ;取SUM的偏移地址MOV CX,05 ;将被乘数的位数赋值给CXNEXT:MOV AL,[SI]INC SIMUL BL ;将当前位数与乘数相乘AAM;将AL中的乘法运算结果调整为两位非压缩十进制数ADD AL,[DI] ;将乘法结果与上次进位相加AAA;将加法运算结果调整为一位非压缩十进制数MOV [DI],AL ;传送结果至[DI]中INC DIMOV [DI],AH ;把进位传送到[DI]中LOOP NEXT;跳转至LOOP,继续循环MOV AH,4CHINT 21H ;返回DOSCODES ENDSEND START ;整个程序汇编结束实验结果:[DS:0006-DS:000B]中的内容为05,06,04,00,08,025.法一:数据传送指令DATAS SEGMENTSTR1 DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H COUNT EQU $-STR1 ;把STR1数据的长度赋给COUNTSTR2 DB COUNT DUP(0);为STR2开辟与STR1相同长度的字节单元,初值为0 DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXLEA SI,STR1 ;取STR1的偏移地址LEA DI,STR2;取STR2的偏移地址MOV CX,COUNT ;将STR1的长度赋给CX,设定循环次数NEXT:MOV AL,[SI]MOV [DI],ALINC SI ;SI自增INC DI;DI自增LOOP NEXT ;跳转至NEXT继续循环MOV AH,4CHINT 21H ;返回DOSCODES ENDSEND START ;整个程序汇编结束法二:串传送指令DATAS SEGMENTSTR1 DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H COUNT EQU $-STR1 ;把STR1数据的长度赋给COUNTSTR2 DB COUNT DUP(0) ;为STR2开辟与STR1相同长度的字节单元,初值为0 DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV ES,AXLEA SI,STR1 ;将STR1的偏移地址赋给SILEA DI,STR2 ;将STR2的偏移地址赋给DIMOV CX,COUNTCLD ;设置方向REP MOVSB ;传送字符串MOV AH,4CHINT 21H ;返回DOSCODES ENDSEND START ;整个程序汇编结束思考:数据传送指令和串传送指令两种传送方式有什么区别?1.mov的源位置和目标位置都是自己指定的;movs的源串固定用si指出,目的串固定用di指出;2.mov指令的源位置和目标位置可以在四个段的任意一个段;movs的源串必须定义在数据段,目标串必须定义在附加段;3.mov指令执行完后,源和目的指针不变;movs执行一次后,si和di自动变化;4.mov不能直接由存储器到存储器传送,必须经寄存器中转;movs是存储器到存储器的直接传送。
微机检测与维修实验报告(优秀范文5篇)
微机检测与维修实验报告(优秀范文5篇)第一篇:微机检测与维修实验报告ν更多企业学院:《中小企业管理全能版》 183 套讲座+89700 份资料《总经理、高层管理》 49 套讲座+16388 份资料《中层管理学院》 46 套讲座+6020 份资料《国学智慧、易经》 46 套讲座《人力资源学院》 56 套讲座+27123 份资料《各阶段员工培训学院》 77 套讲座+ 324 份资料《员工管理企业学院》 67 套讲座+ 8720 份资料《工厂生产管理学院》 52 套讲座+ 13920 份资料《财务管理学院》 53 套讲座+ 17945 份资料《销售经理学院》 56 套讲座+ 14350 份资料《销售人员培训学院》 72 套讲座+ 4879 份资料ν更多企业学院:《中小企业管理全能版》 183 套讲座+89700 份资料《总经理、高层管理》 49 套讲座+16388 份资料《中层管理学院》 46 套讲座+6020 份资料《国学智慧、易经》 46 套讲座《人力资源学院》 56 套讲座+27123 份资料《各阶段员工培训学院》 77 套讲座+ 324 份资料《员工管理企业学院》 67 套讲座+ 8720 份资料《工厂生产管理学院》 52 套讲座+ 13920 份资料《财务管理学院》 53 套讲座+ 17945 份资料《销售经理学院》 56 套讲座+ 14350 份资料《销售人员培训学院》 72 套讲座+ 4879 份资料ν更多企业学院:《中小企业管理全能版》 183 套讲座+89700 份资料《总经理、高层管理》 49 套讲座+16388 份资料《中层管理学院》 46 套讲座+6020 份资料《国学智慧、易经》 46 套讲座《人力资源学院》 56 套讲座+27123 份资料《各阶段员工培训学院》 77 套讲座+ 324 份资料《员工管理企业学院》 67 套讲座+ 8720 份资料《工厂生产管理学院》 52 套讲座+ 13920 份资料《财务管理学院》 53 套讲座+ 17945 份资料《销售经理学院》 56 套讲座+ 14350 份资料《销售人员培训学院》 72 套讲座+ 4879 份资料江西科技师范学院实验报告课程微机的检测与维修院系教育学院班级教育技术学学号20092295姓名邓单单报告规格一、实验目的二、实验原理三、实验仪器四、实验方法及步骤五、实验记录及数据处理六、误差分析及问题讨论目目录1.计算机硬件组装2.BIOS_CMOS解析与应用3.4.5.6.7.8.9.10.11.12.13.14.15.每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机实验报告
实验一指令与汇编语言基础
姓名:学号:
专业:测控技术与仪器实验室:
时间:2013年04月23号报告时间:2013年04 月23号评定成绩:审阅教师:
一、实验目的
1)了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点;
2)掌握汇编语言程序指令编辑、宏汇编、连接、运行基本概念;3)熟练掌握动态调试程序TD的常用命令和窗口功能,学会用TD调试程序,修改环境;
4)学会利用DEBUG或TD检查认识指令功能的正确方法。
二、实验内容
(一)必做实验
1-1、要求计算两个多字节十六进制数之差:
3B74AC60F8-20D59E36C1=?
式中被减数和减数为5个字节,存放在DATA1和DATA2的内存区,低位在前,高位在后。
试编写减法的程序段,要求相减的结果存放在首址为DATA3的内存区。
1-2、以BUFFER为首地址的内存区存放了10个十六位带符号数,编写程序比较它们的大小,找出其中最小的带符号数,存入MIN和MIN+1单元。
三实验源程序和流程图
1、十六进制相减
A、实验要求:
计算两个多字节十六进制数之差:
3B74AC60F8-20D59E36C1=?
式中被减数和减数为5个字节,存放在DATA1和DATA2的内存区,低位在前,高位在后。
试编写减法的程序段,要求相减的结果存放在首址为DATA3的内存区。
B、实验源代码和流程图
DATA SEGMENT
DATA1 DB 0F8H,60H,0ACH,74H,3BH
DATA2 DB 0C1H,36H,9EH,0D5H,20H
DATA3 DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV DI,0
CLD
LOOPER: MOV AL,DATA1[DI]
SBB AL,DATA2[DI]
MOV DATA3[DI],AL
INC DI
DEC CX
JNZ LOOPER
MOV AH,4CH
INT 21H
CODE ENDS
END START
C、实验过程及实验结果
结果
结果分析:理论计算为1A9F0E2A37H与实验结果相似。
2、找出最小的带符号数
A、实验要求:
以BUFFER为首地址的内存区存放了10个十六位带符号数,编写程序比较它们的大小,找出其中最小的带符号数,存入MIN和MIN+1单元。
B、实验源程序和流程图:
DATA SEGMENT
BUFFER DW 0000H,0123H,0235H,5644H,0FFFH,0FFFFH,0ADCDH,5967H,6FABH,0AB54H
MIN DW ?
DATA ENDS
CODE S EGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START: MOV AX,DATA
MOV DS,AX
XOR AX,AX ;将AX清零
MOV CX,9
LEA SI,BUFFER
CLD
LODSW ;取16位带符号数到AX
MOV MIN,AX
CHECK: LODSW ;取下一个数到AX
CMP AX,MIN
JL LOWER
JMP DONE
LOWER: MOV MIN,AX
JMP DONE ;否则转DONE
DONE: LOOP CHECK
MOV AH,4CH
INT 21H
CODE E NDS
END START
C、实验过程及实验结果
实验结果分析:理论计算可知最小带符号数是AB54H与实验结果相同。
三、选做实验
A、实验源程序和流程图
DATA SEGMENT
STRING1 DB 'HELLOGUYS'
STRING2 DB 'HELLOGUYS!'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,STRING1
LEA DI,STRING2
MOV CX,11
CLD
REPE CMPSB
JCXZ ALLMATCH
MOV BL,0FFH
ALLMATCH:MOV BL,00H
JMP DONE
DONE: DEC SI
MOV AH,4CH
INT 21H
CODE ENDS
END START
B、实验过程及实验结果
四、实验中遇到的问题和思考
1、由于刚开始接触微机实验不太会编译、调试、以及连接程序。
2、不会看程序最后运行出来的结果。
3、选作实验编译的时候有一个warning,但是可以运行,不知道是什
么原因。