版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物理与电子工程学院微机原理与接口技术实验报告实验一两个多位十进制数相加的实验一、实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。二、实验内容将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。三、程序框图T图3-1四、参考程序清单程序名:XIANGJ.ASM源程序:DATASEGMENTDATA1DB33H,39H,31H,37H,34H;被加数DATA1ENDEQU$-1DATA2DB34H,35H,30H,38H,32H;加数DATA2ENDEQU$-1SUM DB5DUP(?)DATAENDSSTACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTATSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AX MOV SI,OFFSETDATA1END MOV DI,OFFSETDATA2END CALL ADDA MOV AX,4C00H INT 21HADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05HAD1:SUB BYTEPTR[SI],30H SUB BYTEPTR[DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BPMOVCX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL AAAMOV [SI],ALDECSI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05HAD3:ADDBYTEPTR[SI],30HADDBYTEPTR[DI],30H DEC SI DEC DI DEC BX JNZ AD3 RETADDA ENDPCODE ENDSEND START程序运行后的结果:-dds:0000111C:00003834323536343530-38320000000000008425645082......111C:00100000000000000000-0000000000001800................111C:00201F11D00D00000000-0000000000000000..P.............111C:0030B81C118ED8B81D11-8ED0B814008BE0BE8...X8...P8...`>111C:00400400BF0900E80500-B8004CCD218BD68B..?..h..8.LM!.V.111C:0050EFBB0500802C3080-2D304E4F4B75F58Bo;0.-0NOKuu.111C:0060F28BFDB90500F88A-048A1D12C3378804r.}9..x.....C7..111C:00704E4FE2F38BF28BFD-BB05008004308005NObs.r.};....0..实验结果:38、34、32、35、36实验分析:本实验程序是两个数相加,从第五个数开始,34H+32H=36H,37H+38H=45H,向前进一位,因此结果为35H,31H+30H+进位=32H,39H+35H=44H,也向前进一位,所以33H+34H+进位=38H,,存放结果的段地址分别为0000、0001、0002、0003、0004,实验二排序实验一、实验目的掌握用汇编语言编写排序程序的思路和方法。二、实验内容将指定内存出开始的数据(最多为4位数)按从大到小的顺序排列。第一个数字表示数据的个数(不是要比较的数值!!!)。三、程序流程图四、程序清单程序名:PAIX.ASM源程序DATASEGMENTADDRDW8,234,35,67,876,54,39,765,237DATAENDSSTACKSEGMENTSTADW32DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AX MOV AX,STACK MOV SS,AX MOVSP,TOPMOV CX,WORDPTRADDR[0] DECCXLOOP1: MOV DI,CX MOVBX,2LOOP2:MOVAX,WORDPTRADDR[BX]CMPAX,WORDPTRADDR[BX+2]JGECCCXCHGAX,WORDPTRADDR[BX+2]MOVWORDPTRADDR[BX],AXCCC:ADDBX,2LOOPLOOP2MOVCX,DILOOPLOOP1 EXIT:MOVAX,4C00HINT21HCODEENDSENDSTART8,234,35,67,876,54,39,765,2378,EA,23,43,36C,36,27,2FD,ED运行结果:1123:002989870000MOV[BX+0000],AX1123:002D83C302ADDBX,+021123:0030E2E9LOOP001B1123:00328BCFMOVCX,DI1123:0034E2E0LOOP00161123:0036B8004CMOVAX,4C001123:0039CD21INT211123:003B00B87A03ADD[BX+SI+037A],BH1123:003F50PUSHAX1123:00408D86FAFELEAAX,[BP+FEFA]-g36AX=036CBX=0004CX=0000DX=0000SP=0000BP=0000SI=0000DI=0001DS=111CES=111CSS=111ECS=1123IP=0036NVUPDIPLNZNAPONC1123:0036B8004CMOVAX,4C00-dds:0000111C:000008006C03FD02ED00-EA00430036002700..l.}.m.j.C.6.'.111C:00102300000000000000-0000000000000000#...............111C:00200000000000000000-0000000000000000................111C:00300000000000000000-0000000000000000................111C:00400000000000000000-0000000000000000................111C:00500000000000000000-0000000000000000................111C:00600000000000000000-0000000000000000................111C:0070B81C118ED88EC0B8-1E118ED0368B26408...X.@8...P6.&@结果为(08按要求放置):(0008)036C,02FD,00ED,00EA,0043,0036,0027,0023实验分析:实验要求第一个数字8位个数,放在序列最前面,占据内存0000,0001.程序运行时,将数字依次存放到AX中,在降地址后移,与下一个数字比较,依次循环,直至循环次数为零。实验三自编程序上机调试一、实验目的掌握用汇编语言编写排序程序的思路和方法。二、实验内容选作业题中题目上机调试。我的程序是datasegmentXdw600Ydb25zdw-2000sdb?dataendscodesegmentassumecs:code,ds:datastart:movax,x movbl,y imulbx movah,dl movbx,z adcax,bx movbx,ax movax,23000 sbbax,bx movbx,z idivbxu movbl,s movbx,ax movax,4c00h int21H codeendsendstart111D:002950PUSHAX111D:002AB86A5EMOVAX,5E6A111D:002D50PUSHAX111D:002E8D8678FELEAAX,[BP+FE78]111D:003250PUSHAX111D:0033E85E37CALL3794111D:003683C406ADDSP,+06111D:003980BEF8FE00CMPBYTEPTR[BP+FEF8],00111D:003E75ACJNZFFEC111D:0040E86DD6CALLD6B0-g24AX=33E1BX=33E1CX=0039DX=0046SP=0000BP=0000SI=0000DI=0000DS=110CES=110CSS=111CCS=111DIP=0024NVUPDIPLNZACPONC111D:0024B8004CMOVAX,4C00-dds:0000110C:0000CD20FF9F009AF0FE-1DF04202D00D7002M....p~.pB.P.p.110C:0010D00D56012704D00D-0101010002FFFFFFP.V.'.P.........110C:0020FFFFFFFFFFFFFFFF-FFFFFFFFD210C62A............R.F*110C:0030D00D140018000C11-FFFFFFFF00000000P...............110C:00400500000000000000-0000000000000000................110C:0050CD21CB0000000000-0000000000202020M!K..........110C:00602020202020202020-0000000000202020.....110C:00702020202020202020-0000000000000000........IMUL第一个指令AX*BX=20AX33TADC第二个指令AX+BX=20DC(其中有一个进位)SBB第三个指令AX-bx=3095tIDIV第四个指令AX/BX=33E1实验四 8255并行I/O口实验一、实验要求利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输入,PB口作输出。二、实验目的1、了解8255芯片结构及编程方法。2、了解8255输入/输出实验方法。三、预备知识8255是Intel公司生产的与Intel8080/8085系列的MPU配套的可编程外围接口电路,简称PPI。它有A、B、C三个八位端口寄存器,通过24位端口线与外部设备相连,基中C口可分为上半部和下半部。这24根端口线全部为双向三态。三个端口可分二组来使用,可分别工作于三种不同的工作方式。四、实验原理图及连线1、本实验主要用到的模块:8255模块、开关量输出模块、0-1指示模块、实验译码单元等;2、PA0-PA7分别接开关量输出模块S0-S7对应的插座;3、PB0-PB7分别接0-1指示模块DO71-DO78对应的插座;4、8255A的片选/CS接地址译码单元的2A0-2A7;5、数据线XD0—XD7接系统数据线区的任一插座。五、实验内容将实验的线路连接好后,编程,将8255的A口作为输入,输入信号由8个逻辑电平开关提供,B口作为输出,其内容由发光二极管来显示。六、试验流程开始开始延时置8255工作方式读8255PA口置8255PB口七、实验步骤1、参照图中的内容连好线;2、运行上位机软件,装载并运行相应程序即可(联机请参考程序8255.asm)。运行源程序:L8255_CMDEQU2A3HL8255_PAEQU2A0HL8255_PBEQU2A1HL8255_PCEQU2A2HCODESEGMENTASSUMECS:CODE,DS:CODEBEGIN:MOVCX,0FFHAA:LOOPAAMOVDX,L8255_CMDMOVAL,9CH;10011000OUTDX,ALNOPNOPNOPNOPNOPBB:MOVDX,L8255_PAINAL,DXXORAL,0FFHMOVDX,L8255_PBOUTDX,AL JMPBBCODEENDSENDBEGIN运行结果:当程序装在成功时,即8个开关输入全为低电平时,异或输出11111111,会有8个灯是亮着的;当每次分别按开关时,让那个电平为高电平时,那个灯就会不亮。实验分析:此程序将一个输入的八位数值与FF进行异或,将结果从B口输出,从指示灯上显示出结果。其数据由开关控制,亮为1,灭为0.实验五8259A中断实验一、实验要求掌握用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。二、实验目的了解8088/86与8259之间的连接方法。学习8088/86对8259的控制方法。三、预备知识8259A是Intel公司专为控制优先级中断而设计的NMOS芯片。它集中断源优先级排队、中断源识别、中断向量提供和中断屏蔽等功能电路于一体,因而中断系统无需附任何电路,只需对8259A进行编程,就可管理8级优先中断,且中断请求方式和优先级模式等中断结构可通过编程设定或变更,中断入口地址也可由用户任意指定。四、实验原理说明及连线1、本实验主要用到的模块:中断模块、单次脉冲源模块等;2、IR6接单次脉冲的/Q端。五、实验内容用单脉冲发生器的输出脉冲作为中断源,每按一次按键产生一次中断申请,中断服务程序将在实验箱的显示屏显示一个字符“R”。六、程序框图主程序框图见图3-6;中断程序框图见图3-7源程序: UCODESEGMENTASSUMECS:UCODEBEGIN:JMPBEGIN_INT_SEGDW?INT_OFFDW?BEGIN_:CLIMOVAH,35HMOVAL,0EHINT21HMOVINT_OFF,BXMOVINT_SEG,ESMOVAX,CSADDAX,10HMOVDS,AXMOVAH,25HMOVAL,0EHMOVDX,OFFSETUINTRINT21HINAL,21HANDAL,0BFHMOVDX,21HOUTDX,ALSTIJMP$UINTRPROCFARCLIMOVDX,88HMOVAL,'R'OUTDX,ALMOVAL,20HOUT20H,ALIRETUINTRENDPUCODEENDSENDBEGIN设置中断服务程序地址设置中断服务程序地址中断允许程序开始等待中断开始开始关中断关中断现场保护现场恢复中断返回显示字符R开中断 图3-6图3-7关中断现场保护关中断现场保护现场恢复中断返回显示字符R开中断实验六ADC0809A/D转换实验一、实验目的1、加深理解逐次逼近法模数转换器的特征和工作原理;2、掌握A/D转换芯片与8088/86的接口方法;3、了解A/D芯片ADC0809转换性能及编程方法。二、预备知识A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,做为转换完成的信号。三、实验原理说明及连线1、本实验的位置在实验箱的“ADC0809模块”;2、本实验用芯片ADC0809的片选地址为2B8H,实验箱上已固定好,不需要再连线;3、将该实验模块的CLOCK和“信号源模块”的1MHz信号连接起来;4、用排线将“系统数据总线输出单元”中的任意一组数据线和本实验模块的“ADC0809:XD0-XD7”连接起来;5、将通道0模拟量输入端IN0接模拟信号产生电路模块中的电位器R093的中心抽头,然后将R093的两端一端接地,另一端接VCC(+5V)。图3-8四、实验内容利用电位器输出一个幅值可调的直流电压信号,送入ADC0809的通道0,将转换后的结果在屏幕上显示出来,并验证它与输入电压的关系。五、实验步骤1、确认连接好线路;2、装载运行程序(联机时请参考程序0809.asm)。六、实验框图试验程序:CODESEGMENT ASSUMECS:COD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件活动安全制度
- 箴言书屋体验营销的营销策略研究
- 人民法庭安全课件
- 建筑工程施工组织与管理能力测评试卷及答案
- 管理学案例分析题及答案包
- 家庭理财规划策略测试卷及解析
- 地理形考试题与答案详解
- 家庭安全教育计划小孩防坏人知识测试及答案
- 工厂入职测试题及答案
- 建筑工程技术规范与安全知识测试卷
- 2023税务师继续教育考试题库附参考答案(典型题)
- JJG 1036-2022电子天平
- YS/T 3019-2013氰化堆浸提金工艺安全生产技术规范
- GB/T 1927.4-2021无疵小试样木材物理力学性质试验方法第4部分:含水率测定
- GB/T 12967.4-2022铝及铝合金阳极氧化膜及有机聚合物膜检测方法第4部分:耐光热性能的测定
- 测量不确定度评定考试题答案
- 气管软化试验课件
- 广东区域地质构造简介之一-断裂特征介绍
- 鱼骨流程图模板
- 董事、监事、高级管理人员信息
- 110kV二线圈变压器交接验收(大修后)试验作业指导书
评论
0/150
提交评论