微机实验报告_第1页
微机实验报告_第2页
微机实验报告_第3页
微机实验报告_第4页
微机实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《微机实验》报告实验名称:keilc的使用与汇编语言上机操作一、任务规定实验目的:熟悉keilc环境,通过在keilc环境下调试字节拆分、合并程序、数据块清零程序、加法程序,掌握汇编语言程序的调试办法,加深对bcd码、ascii码、堆栈、寄存器、数据指针、汇编语言指令、机器码等基本概念的理解,为后续程序编制和调试打下基础。实验内容:掌握keilc环境的使用1)字节拆分、合并:调试e421.asm程序,观察有关寄存器和单元的内容。2)数据块填充:调试fill.asm程序,观察有关寄存器和单元的内容。编写两个十六位数的加法程序。有两个十六位无符号数,分别寄存在从20h和30h开始的数据区中,低八位先存,高八位在后,和存于r3(高八位)和r4(低八位),进位位存于r2。二、设计思路实验1中的两个实验,已经给出了程序代码,,无需再进行设计。下面叙述实验2的设计思路:对于该程序,在解决低位相加时,直接采用指令add,然后存数,在解决高位时,考虑到可能存在进位,因此在相加时,应使用指令addc将被加数、加数以及低位到高位的进位相加然后存数。另外,在解决该问题时,还应考虑到两个十六位相加可能会出现第十七位,因此要另外安排一种地址单元用来寄存最高位的数。三、资源分派两个十六位无符号数,分别寄存在从20h和30h开始的数据区中;和存于r3(高4八位)和r4(低八位);进位位存于r2。四、流程图四、源代码(含文献头阐明、资源使用阐明、语句行注释)filename:test2.asmdescription:两个十六位数的加法程序date:/09/26designedby:zhangbosourceused:20h:加数a的低位21h:加数a的高位30h:加数b的低位31h:加数b的高位r4:和的低位r3:和的高位r2:和的进位org0000hljmpmainorg0000hmain:clrc;将进位位清零mov20h,#10h六、程序测试办法与成果、软件性能分析手动输入两个加数的值,可得到对的的和,多变化几次,皆对的。对于不同的加数,分别在调试过程中跟踪a,r4,r3,r2的值,皆可得到预期数值。因此,能够说,该程序的源代码是合理对的的,该程序合格,本实验获得成功。软件性能良好。思考题:如何查看工作寄存器、sfr、片内ram、片外ram及程序代码空间内容?disassembly窗口有何作用?选择debug下的start/stopdebugsession,在界面的左侧会出现程序代码的空间内容。mov21h,#2ahmov30h,#21hmov31h,#00hmovr0,20h;将a中的地位存入r0中mova,30haddca,r0movr4,aclra;将b中的地位存入a累加器中;将低位相加;其和存入r4中;对累加器a清零movr0,21h;将a中的高位存入r0中mova,31h;将b中的高位存入a累加器中addca,r0;将高位以及进位位相加movr3,a;其和存入r4中clra;对累加器a清零addca,#0;将进位存入a.7movr2,a;将进位存入r2.7sjmp$enddisassembly窗口内显示的是编译之后转化成的汇编代码字节拆分、合并尚有哪些办法,举一例阐明。org0000hljmpmainorg0100hmain:movsp,#40h;赋堆栈指针mov30h,#49h;30h单元赋值movr0,#32h;r0指针赋值mov@r0,30h;将30h中的内容copy到32h中mova,f0h;累加器a赋值anla,30h;得到原数码的高四位swapa若按递减1规律填充数据块,应如何修改程序?在原程序中修改,从main开始,第三行改为movr0,#ffh第四行改为movdptr,#70ffh第六行改为deca第七行改为decdptr第八行改为decr0第九行改为cjner0,#ffh,fill1若从7020h单元开始,持续填充10个字节,应当如何修改程序?不妨将10-19送入7020h-7029单元中,变化后的程序代码以下:org0000hljmpmainorgmain:movsp,#40h0100hfill:mova,#10;将10h送入累加器a中movr0,#10h;设循环计数器movdptr,#7020h;设数据指针fill1:movx@dptr,aincainc;传送到片外ram;a内容加1;修改数据指针;判断与否结束dptrdjner0,fill1here:sjmphere;原地踏步end若完毕双字节bcd码加法,应如何修改程序?不妨设加数分别存于30h-31h、40h-41h中,低位在前高位在后,各单元均为压缩的bcd码。将和存入50h-51h中。其程序片段以下:...mova,30hadda,40hdaamov50h,a;低2位bcd码之和存入50hmova,31hadda,41hdaamov51h,a;高2位bcd码之和存入51h篇二:微机实验报告微机原理与接口技术实验报告姓名:张楠乔学号:10213030班级:自动化1004指导教师:周永华实验一交通灯控制实验一、实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。二、实验内容实验内容,如图1连接电路,l7、l6、l5作为南北路口的交通灯与pc7、pc6、pc5相连,l2、l1、l0作为东西路口的交通灯与pc2、pc1、pc0相连,编程使六个灯按交通灯变化规律亮灭。红黄绿红黄绿l7l6l5l2l1l0图1连接图规定:十字路口交通灯的变化规律规定:(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右。(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。(5)转(1)重复。三、实验流程图图2流程图四、实验程序:datasegmentpcequ0c40ahpdequ0c40bhdataendsstack1segmentstackdw100hdup(?)stack1endscodesegmentassumecs:code,ds:data,ss:stack1start:movdx,datamovds,dx;初始化moval,80hmovdx,pds:moval,24hmovdx,pcoutdx,alcalldelay3;南北绿灯亮、东西红灯亮3秒movcx,6y1:moval,44houtdx,alcalldelay1moval,04houtdx,alcalldelay1loopy1;南北绿灯灭,南北黄灯闪,东西红灯亮moval,81houtdx,alcalldelay3;东西红灯灭,南北红灯、东西绿灯亮3秒movcx,6y2:moval,82houtdx,alcalldelay1moval,80houtdx,alcalldelay1loopy2;东西绿灯灭,东西黄灯闪,南北红灯亮movdl,0ffhmovah,6int21hjzsmovah,4chint21h;查询与否有键按下delay3proc;延时3秒子程序pushcxpushaxmovcx,0afffht1:movax,0ffffht2:decaxjnzt2loopt1popaxpopcxretdelay3endpdelay1proc;延时半秒子程序pushcxmovcx,1d55ht3:movax,0ffffht4:decaxjnzt4loopt3popaxpopcxretdelay1endpcodeendsendstart五、实验环节(1)将pc总线接口卡插在任意扩展槽中(已接好)。(2)用50芯线扁平电缆线连接接口卡和实验台。(3)如图1所示连接线路。(4)打开实验箱电源,启动tcp-实验系统软件环境。(5)测试8255、led和串口与否完好。六、实验现象:南北路口的绿灯、东西路口的红灯同时亮3秒左右,然后南北路口的黄灯闪烁若干次,东西路口的红灯继续亮,接着南北路口的红灯、东西路口的绿灯同时亮3秒左右,然后南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。如此循环。成果与实验规定相符。七、实验心得本实验的重要一部分就是延时子程序,编写程序时候要根据流程图,这样就从一定程度上简化了实验,尚有就是实验的调试过程,一定要细心又有耐心篇三:微机原理实验报告微型计算机原理实验报告班级:姓名:学号:1月14日实验一、数据传送、算术运算、循环程序构造【实验目的】1.熟悉8086汇编语言源程序的框架构造,并掌握汇编语言程序的编写、汇编、连接、执行的过程,并运用turbodebugger调试汇编程序。2.熟悉8086指令系统的数据传送指令,掌握寻址方式。3.熟悉8086指令系统的算术运算指令。掌握循环构造汇编语言程序的编制。【实验内容】教材p121,第14、15题。教材p195,第6、12题。实验1.1:p121,第14题设有两个8个字节长的bcd码数据bcd1及bcd2。bcd1数以1000h为首地址在内存中次序寄存;bcd2数以h为首地址在内存中次序寄存。规定相加后成果次序寄存在以h为首地址的内存区中(设成果bcd数仍不超出8个字节长)。【实验原理】考虑两个8个字节长的bcd码相加,首先根据地址规定将数据放在对应的地址单元中,然后做加法,bcd码相加要用到调节指令,成果才为对的的bcd数【程序框图】【程序源代码】datassegmentorg1000h1000hbcd1dborghbcd2db11h,12h,13h,14h,15h,16h,17h,18h;起始地址为hdatasendscodessegmentassumecs:codes,ds:datasstart:movax,datasmovds,axmovbx,0movcx,8;设立循环次数8次clc;清进位cf标志again:moval,[bx+1000h]adc[bx+h],al;成果放在h开始的单元内daaincbxloopagain;没完毕则转again循环movah,4chint21hcodesendsendstart运行:bcd1db01h,02h,03h,04h,05h,06h,07h,88hbcd2db11h,12h,13h,14h,15h,16h,17h,18h成果以下:ds:h为首地址的持续八个字节单元中实验1.2:p121,第15题设从h为首地址的内存中,寄存着10个带符号的字节数据,试编写“找出其中最大的数,并存入h单元中“的程序。【实验原理】首先把十个带符号数放在规定的的存储单元中,然后再进行比较,有符号数的比较用jl,jc,jng,等指令,首先设计一种最小带符号数80h作为比较初值,用h单元中的数分别与其它进行比较,若不不大于则把该单元的数存入h单元,否则不予解决。对于该题,我采用的是字符串指令,由于是隐含寻址,把h中的数作为字符串源操作数,其它进行一次循环则依次放入al中,注意的是当cx为10时,dl=80h。【程序框图】【程序源代码】datasegmentorgh;数据寄存在h开始的单元bcddb10h,28h,49h,78h,0a4h,0b3h,93h,29h,45h,02hdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovsi,h;地址指针指向单元首地址movcx,10movdl,80h;设立最小符号数l1:lodsbcmpal,dl;比较带符号数jngl2;(dl)大则跳转l2movdl,al;dl指向内容小则交换l2:loopl1movds:[h],dl;最大数寄存在h单元movah,4chint21hcodeendsendstart运行:bcddb10h,28h,49h,78h,0a4h,0b3h,93h,29h,45h,02h成果为78h实验1.2:p195,第6题试编制一程序,用乘法指令实现32位二进制数与16位二进制数相乘。【实验原理】首先把被乘数第八位和高八位分别与乘数相乘,高八位乘得成果左移16位与第八位乘得成果相加即为成果。【程序框图】篇四:微机实验报告二微机原理实验报告实验二班级:级信息工程(7)班姓名:学号:序号:评阅分数:微机实验二一、实验目的1、熟悉80x86基本指令集。2、掌握汇编语言源程序的编写。3、掌握构造化程序设计三大构造的程序设计。4、掌握汇编程序的动态调试。二、开发环境将来汇编、debug三、实验题目1、编程将以‘$’结束的字符串中的小写字母改为大写字母。①已知数据段的定义:datasegmentorghstr1db‘aedc123!*sdedio71$’countequ$-str1org3000hstr2dbcountdup(?)dataends②画流程图代码:datasegmentorghstr1dbaedc123!*sdedio71$countequ$-str1org3000hstr2dbcountdup(?)dataendsstacksegmentparastackstackdb100dup(?)stackendscodesegmentassumecs:code,ds:datastartprocfarpushdsmovax,0pushaxmovax,datamovds,axleasi,str1;取str1首地址leadi,str2;取str2首地址movcx,countaa:moval,[si]cmpal,61h;判断与否为小写字母jbnextcmpal,7ahjanextsubal,20h;将小写字母转换为大写mov[di],al;将非小写字母放入str2中next:mov[di],alincsiincdiloopaaretstartendpcodeendsendstart成果:1.2.③debug调试:修改str1字符串的值,运行当作果。成果:1.2.问题:未注意到loop循环的结束条件是cx为0,故设计时应当用movecx,count这样的语句,执行一次自减一,直到cx为0不执行循环。loop循环中出现问题,应当把incsi和incdi放在循环中比较语句后3.比较后直接写的next语句,忘记还要执行一种mov[di],al,从而造成输出始终为0.2、有一种字节型数组,求最大值、最小值和平均值:1)作为无符号数,2)作为带符号。①已知数据段的定义:datasegmentorghnumdb12h,95h,0f1h,0c2h,82h,2h,10h,34hcountdb$-numorg3000hres1db3dup(?);storeunsignedorg4000hres2db3dup(?);storesigneddataends代码:datasegmentorghnumdb12h,95h,0f1h,0c2h,82h,2h,10h,34hcountequ$-numorg3000hres1db3dup(?);storeunsignedorg4000hres2db3dup(?);storesigneddataendsstacksegmentparastackstackdb100dup(?)stackendscodesegmentassumecs:code,ds:data篇五:微机原理及接口技术实验报告微机原理及接口技术实验报告班级姓名学号41256月实验一显示程序实验.......................................................................................................4一、实验目的...........................................................................................................4二、实验内容...................................................................................................................4三、实验环节...................................................................................................................4四、程序清单...................................................................................................................5五、运行成果...................................................................................................................6实验二数据传送实验.......................................................................................................7一、实验目的...................................................................................................................7二、实验内容...................................................................................................................7三、实验环节...................................................................................................................7四、程序清单...................................................................................................................7五、运行成果...................................................................................................................8实验三数码转换程序实验...............................................................................................9一、实验目的...................................................................................................................9二、实验内容...................................................................................................................9三、实验环节.................................................................................................................12四、程序清单.................................................................................................................12五、运行成果.................................................................................................................21实验四运算类程序实验.................................................................................................23一、实验目的.................................................................................................................23二、实验内容.................................................................................................................23三、实验环节.................................................................................................................24四、程序清单.................................................................................................................24五、运行成果.................................................................................................................26实验五简朴i/o口拓展实验.........................................................................................27二、实验目的.........................................................................................................27二、实验设备.................................................................................................................27三、实验内容.................................................................................................................27四、实验原理.................................................................................................................27五、实验环节.................................................................................................................27六、实验成果.................................................................................................................28实验六存储器读写实验.................................................................................................29一、实验目的.................................................................................................................29二、实验设备.................................................................................................................29三、实验内容.................................................................................................................29四、实验原理.................................................................................................................29五、实验环节.................................................................................................................29六、实验成果.................................................................................................................31实验七8255并行口实验................................................................................................33一、实验目的.................................................................................................................33二、实验设备.................................................................................................................33三、实验内容.................................................................................................................33四、实验原理.................................................................................................................33五、实验环节.................................................................................................................33六、实验成果.................................................................................................................34实验八8253定时器/计数器接口实验...........................................................................35一、实验目的.................................................................................................................35二、实验设备.................................................................................................................35三、实验内容.................................................................................................................35四、实验原理.................................................................................................................35五、实验环节.................................................................................................................35六、实验成果.................................................................................................................37实验九8259中断控制器实验........................................................................................38一、实验目的.................................................................................................................38二、实验设备.................................................................................................................38三、实验内容.................................................................................................................38四、实验原理................................................................................................

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论