当前位置:文档之家› 合工大微机原理实验报告全解

合工大微机原理实验报告全解

合工大微机原理实验报告全解
合工大微机原理实验报告全解

《微机原理与接口技术》课程实验报告

图1.1

(二)实验扩展及思考

、请读者思考,如何修改程序实现8251的自发自收功能?

8251的TxD与RxD相连接,由TxD逐个发送字符,并用RxD逐个接收。

区:单脉冲、上下拨动单脉冲开关,拨动二次,产生一个“

微机原理复习资料

2014年 合肥工业大学 过程装备与控制工程11级 微机原理期末复习资料 一、地址总线的问题 n 位地址总线可有 个地址(0∽ -1)。 16位地址总线 65536(64KB ) 20位地址总线 1MB 32位地址总线 4GB 二、错误、改正问题 1、如:MOV CX , DL(语法错误) 原因:错误原因:类型不一致。 2、若VAR1为字变量, VAR2和VAR3为字节变量,判断下列指令的书写格式是否正确,正确的说出SRC 和DST 的寻址方式,不正确说出错误原因 (1)MOV AX , VAR1 √ SRC 为直接寻址,DST 为寄存器寻址 MOV AX , VAR2 ╳ 类型不一致 MOV VAR2, VAR3 ╳ 两存储器单元之间不 能直接传送数据 MOV [0200H] ,12H ╳ 类型不明确 注意:AX 为16位寄存器,即是一个字 (2)将下列中语法不正确的语句改对。 MOV AX , VAR2 ╳ 类型不一致 改:MOV AL , VAR2 MOV VAR2, VAR3 ╳ 两存储器单元之间不 改:MOV AL ,VAR3 能直接传送数据 MOV VAR2 ,AL MOV [0200H] ,12H ╳ 类型不明确 改:MOV BYTE PTR [0200H] ,12H 或者:MOV WORD PTR [0200H] ,12H 四、数据寻址方式 例1:MOV AX , [BX] 其SRC 为寄存器间接寻址;DST 为寄存器寻址; 指令完成的功能为:AX (DS:(BX))若:DS=3000H , BX=1050H 。则:SRC 所在单元的物理地址为:PA=(DS) × 16+(BX) =30000H+1050H =31050H 例2:MOV ES:[SI] , AL 指令完成的功能为: (ES:(SI)) (AL) 若:ES=4000H , SI=1234H,(AL)=23H 则:DST 所在单元的物理地址为: PA=(ES)×16+(SI) =40000H+1234H

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

工业大学微机原理考试题

天津工业大学电气工程与自动化学院(系) 2010 ~2011学年第 1 学期试卷 班级学号姓名 注意事项:1、本试卷共10页,满分为 100分,考试时间为 110分钟。 2、答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。除特 殊要求外不得使用铅笔。

4.设8255A的方式选择控制字为9BH,其含义是() A.A、B、C口全为输出 B.A、B、C口全为输入 C.A、B口为方式0且输出 D.以上都不对 5.在DMA方式下,数据从内存传送到外设的路径是() A.内存→CPU→总线→外设 B.内存→DMAC→外设 C.内存→数据总线→外设 D.外设→内存 6.若8086 CPU主频为1MHz,则其基本总线周期为() A.4000ns B.5000ns C.1250ns D.2500ns 7.8253工作在哪几种方式时,计数器可以自动重复工作。() A.方式0,1 B.方式1,2 C.方式2,3 D.方式0,1,2,3 8.CPU响应INTR和NMI中断时,相同的必要条件是() A.当前总线空闲 B.允许中断 C.当前访问内存结束 D.当前指令执行结束 9. 80X86系统中, IRET指令执行的出栈恢复操作不包括断点处的() . A. CS B. SS C. FLAGS D. IP 10.用2K×4位的RAM芯片组成16K字节的存储器,共需RAM芯片为() A.16片 B.8片 C.4片 D.32片 11. 8088/8086CPU内部共有()个16位的段寄存器。 A. 4 B. 2 C. 14 D.16 12. 简单的输出接口电路对数据应该具备()功能 A. 锁存 B. 缓冲 C. 三态 D. 触发

微机原理与接口技术_期末考试试题答案3

2014年 合肥工业大学 过程装备与控制工程11级 微机原理期末复习资料 厚德、笃学、崇实、尚新 合肥工业大学欢迎您

1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成 逻辑地址到物理地址转换的部件是什么? 答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU 寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向 这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么? 答:INTR是可屏蔽请求信号,INTA中断响应信号,NMI是不可屏蔽中断请求信号,ALE 是地址锁存允许信号,HOLD总线请求信号,HLDA总线请求响应信号。 11.虚拟存储器有哪两部分组成? 答:有主存储器和辅助存储器。 12.在80x86中,什么是逻辑地址、线性地址、物理地址? 答:线性地址是连续的不分段的地址;逻辑地址是由程序提供的地址;物理地址是内存单元的实际地址。 13.段描述符分为哪几种? 答:分为三大类,程序段描述符,系统段描述符,门描述符。 14.RAM有几种,各有什么特点?ROM有几种,各有什么特点? 答:RAM有两种,SRAM(静态RAM),它采用触发器电路构成一个二进制位信息的存储单元,这种触发器一般由6个晶体管组成,它读出采用单边读出的原理,写入采用双边写入原

微机原理实验报告软件实验1-4

微机原理实验报告 学院:算机科学与软件教育学院 1. 掌握存储器读写方法 2. 了解存储器的块操作方法 二、实验原理 存储器读写和块操作 三、实验设备仪器及材料 计算机,WA VE 6000软件 四、实验过程 S1.asm 代码流程图 data segment Block db 256 dup(55h) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 256 ; 清256 字节Again: mov [bx], byte ptr 0 inc bx ; 地址+1 Loop Again ; 记数减一jmp $ ;死循环code ends end start

五、实验步骤 (1) 进入Wave6000,输入程序并检查,保存程序。 (2) “编译”程序。 (3) “全速执行”程序。 (4) “暂停”程序运行,在“数据窗口(MEMOREY)”查看0400H起始的单元内容,并记录。 (5) 在指令“jmp $”处设断点。“全速执行”程序。 (6) 在“数据窗口(MEMOREY)”查看0400H起始的单元内容,记录并分析实验结果。 六、实验结果及总结 运行前:运行后: 2、调试:如何将存储器块的内容置成某固定值(例全填充为0FFH)? 总结:通过本实验,我了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。学会内存的移动方法,也加深对存储器读写的认识。

微机原理实验报告 学院:算机科学与软件教育学院 实验 课程 名 微机原理实验成绩实验 项目名称实验二、二进制到BCD码转换 指导老 师 1. 了解BCD值和ASCII值的区别。 2. 了解如何将BCD值转换成ASCII值。 3. 了解如何查表进行数值转换及快速计算。 二、实验原理 ASCII码表 三、实验设备仪器及材料 计算机,WA VE 6000软件 data segment Result db 3 dup(?) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov ax, 123 mov cl, 100 div cl mov Result, al ; 除以 100, 得百位数 mov al, ah mov ah, 0 mov cl, 10 div cl mov Result+1, al ; 余数除以 10, 得十位数 mov Result+2, ah ; 余数为个位 数 jmp $ code ends end start 代码流程图

合肥工业大学流体力学专业研究生培养方案

合肥工业大学流体力学专业研究生培养方案 1.所属学院:土木与水利工程学院学科、专业代码: 080103 获得授权时间:2011年 2.学科、专业简介 流体力学主要研究流体本身的静止状态和运动状态,其在生活、环保、科学技术及工程中具有重要的应用价值。毕业生可以在政府、建筑开发、施工、设计、科研单位、管理等部门得到相应的工作机会,也可以从事设计、施工、管理、研究等工作。 3. 培养目标 1. 热爱社会主义祖国,拥护中国共产党的领导,掌握马列主义、毛泽东思想和邓小平理论的基本原理;具有为社会主义现代化建设服务、为人民服务的思想觉悟,有为国家富强、民族昌盛而奋斗的志向和责任感;具有敬业爱岗、艰苦求实、热爱劳动、遵纪守法、团结合作的品质;具有良好的思想品德、社会公德和职业道德。 2. 了解流体力学领域发展前沿和动态,在流体力学领域内具有坚实的理论基础、系统的专业知识和较熟练的实验技能。 3. 懂得社会主义民主和法制,遵纪守法,举止文明,有“勤奋、严谨、求实、创新”的良好作风,具有较好的文化素养和心理素质以及一定的美学修养。 4. 比较系统地掌握本专业所必需的自然科学基础和技术科学基础的理论知识,具有一定的专业知识,对本专业学科范围内的科学技术新发展及其新动向有一定的了解。 5. 受到工程设计方法和科学研究方法的训练,具备本专业所必需的运算、实验、测试、计算机应用等技能以及一定的基本工艺操作技能。 6. 有独立获取知识、提出问题、分析问题和解决问题的基本能力以及具有较强开拓创新的精神,具备一定的社会活动能力、从事本专业业务工作的能力和适应相邻专业业务工作的基本素质。 7. 较为熟练的掌握一门外国语,能够地阅读本专业的外文资料。 8. 具有较强的使用信息技术的能力,能够将现代信息技术熟练运用于学习、工作和社会实践活动。

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

合肥工业大学微机原理试卷2015-1-13-A(答案)

答案与评分标准 一、(每空1分,共12分) 1.(1100 0111),(1011 1000),(-71) 2.(1,0,1,0,0),(0,1,0,1,0) 3.(2) 4.(8),(3) 5.(3),(2MHz),(11999/2EDFH),(二进制方式)。 二、(每题1分,共8分) 1.√2.?3.?4.?5.?6.√7.?8.√ 三、(本题共20分) 1.寄存器间接寻址;1 ;6100H:4843H ;65843H ;02H 2.直接寻址;1 ;6F00H:6F54H ;75F54H ;0EH 3.相对基址变址寻址;1 ;AE00H:0052H ;AE052H ;1B1AH 4.寄存器相对寻址;2 ;8A00H:3643H ;8D643H ;1716H 四、(本题共10分) 1.(6分) 流程图(4分): 功能(2分):将AL内容按要求转换为ASCII吗,并存于RESULT单元。若AL内容在00H~0F H之间,将AL内容转换为一位ASCII码;若AL内容大于0FH,则AL置为20H;转换结果存于RESULT单元。 2.(4分) (2分)该子程序中入口参数采用寄存器传递参数,出口参数采用存储器传递参数。 (2分)入口参数为寄存器AL中存放的待转换数据,出口参数为RESULT单元中存放的转换结果。 五、(本题共20分)1.(6分) (2分)最多可接22个中断源。 (4分)主IR0、从2 IR0~从2 IR7、主IR2、主IR3、主IR4、从1 IR0~从1 IR7、主IR6、主IR7。 2.(6分)(每个中断2分) 主片IR6:6EH;6200H:AB08H 从片1的IR2: 7AH;A000H:17B0H 从片2的IR5:75H;3600H:45A0H 3.已知各中断服务程序中均执行STI指令,且均在RETI指令前执行普通EOI结束指令。(1)(3分) (1分)CPU优先响应从片1的IR2的中断请求。 (2分)主片的ISR、IRR:0010 0000、0100 0000。从片1的ISR、IRR:0000 0100、0000 0000。 (2)(5分) 主片IR6和从片1的IR2同时产生中断请求时,CPU优先响应从片1的IR2的中断请求,转移至A000H:17B0H处执行从片1的IR2的中断服务程序;从片2的IR5又有中断请求产生时,打断从片1的IR2的中断服务程序的执行,转移至3600H:45A0H处执行从片2的IR5的中断服务程序;在从片2的IR5的中断服务程序执行结束后,中断返回被打断的从片1的IR2的中断服务程序的断点处继续执行从片1的IR2的中断服务程序,在从片1的IR2的中断服务程序执行结束后,中断返回主程序并响应主片IR6的中断请求,转移至6200H:AB08H 处执行主片IR6的中断服务程序,主片IR6的中断服务程序执行结束后,中断返回主程序继续执行主程序。 六、(本题共20分) 1.(4分)(2分)ROM:4KB,(2分)RAM:8KB。 2.(12分)(略) 3.(4分)(略) 七、(本题共10分) 1.(4分) (2分)主程序:程序段二 (2分)中断服务程序:程序段一 2.(4分) (2分)运行程序,若开关K断开(输入为1),LED0~LED7显示状态:2s循环移位亮一位。(2分)运行程序,若开关K闭合(输入为0),LED0~LED7显示状态:全灭。 3.(2分) (1分)开关K断开:LED0~LED7显示状态有变化,1s循环移位亮一位。 (1分)开关K闭合:LED0~LED7显示状态没有变化。

微机原理及应用实验报告

微机原理及应用实验报告 班级:机械1301班 姓名:黄佳清 学号:0801130117 座位号: 中南大学机电工程学院

实验一单片机仿真开发机操作和MCS-51指令系统应用 一.实验目的 1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整; 2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编; 3、掌握程序的调试和运行的各种方法。 三.实验内容及步骤(完成分值:60分) 本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真 1.新建工程项目 2.设置工程文件参数 3.编写新程序事例 4.调试程序直至能够运行出结果。 四.实验程序 AJMP MAIN ORG 0030H MAIN: MOV R0,#20H MOV R2,#0FH MOV A,#00H A1: MOV @R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#20H ;暂停,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A2: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,A2 MOV R0,#030H ;断点,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A3: MOVX A,@DPTR MOVX @R0,A INC R0 INC DPTR DJNZ R2,A3 DO: LJMP DO END ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。 五、附加题 1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光

合肥工业大学微机原理试卷2015-1-13-A

2014~2015学年第 一 学期 课程代码 0410022B 课程名称 微机原理及应用 学分 3.5 课程性质:必修 限修考试形式:开卷专业班级(教学班) 自动化专业、生医专业2012级 考试日期 2015.1.13 命题教师 集体 系(所或教研室)主任审批签名 一、(每空1分,共12分)填空题。 1.若[X]补为1011 1001B ,则其原码为( ),反码为( ),真值为( )。 2.8086 CPU 与存储器或I/O 进行数据交换时,若CPU 正在对存储器进行16位写操作周期时,M/IO 、WR 、RD 、A0和BHE 引脚的状态为( , , , , )(对应位置填写1或0,全对才得分),若CPU 正在通过D15~D8总线对I/O 设备进行8位输入操作时,M/IO 、WR 、 RD 、A0和BHE 引脚的状态为( , , , , )(对应位置填写1或0,全对才得分)。 3.8259A 在中断响应周期中接收到CPU 发送的第( )个中断应答信号INT A 后,送出中断类型号。 4.8255A 内部包含3个( )位的输入输出端口,其中端口A 可工作于( )种工作方式中的任一种。 5.8253内部具有( )个独立的16位计数器通道,最高计数频率为( ),已知某计数器通道工作于方式0,预实现计数12000的功能,则该计数器通道的计数初值应设置为( ),其计数方式应设置为( )(填写BCD 方式或二进制方式)。 二、(每题1分,共8分)判断下列说法是否正确,正确画√,错误画 。 1.十进制数125.125对应的16进制数是7D.2H 。 2.对一个用补码表示的符号数求补,结果是这个数相反数的补码。 3.8255A 的D 7~D0引脚只能连接到8086 CPU 的低8位数据总线D 7~D0。 4.已知X 和Y ,8086 CPU 在执行X+Y 运算后,若ZF=1,则OF 一定为0。 5.8086 CPU 复位后从存储器0FFFFH 处开始执行程序。 6.8086 CPU 允许中断嵌套,且8259A 的8个中断源全部开放,若ISR 中任何时刻最多只有 一个‘1’,则该8259A 设置为自动EOI 结束方式。 7.8253在写入控制字后,OUT 端输出高电平。 8.8086 CPU 的堆栈操作指令均是对堆栈进行16位字操作的指令。 三、(本题共20分)已知CS =6100H ,DS =6F00H ,SS =AE00H ,ES =8A00H ,BX =4843H ,BP =0CA00H ,SI =2D04H ,DI =3650H ,AX=0A008H ,变量BUF 的偏移地址为6F4EH ,存储器部分单元的内容如表所示。针对以下每条指令分别说明存储器操作数的寻址方式、执行 过程中总线操作的次数、逻辑地址和物理地址,并给出该存储器操作数的值。 1.MUL BYTE PTR CS :[BX] 2.MOV AL ,BUF+6 3.AND SI ,[BP +DI+2] 4.ADD BX ,ES :[DI-13] 四、(本题共10分)阅读下面子程序段,RESULT 为字节变量。 DEAL : CMP AL ,10H DEAL1: ADD AL ,30H JNC DEAL2 JMP DEAL3 CMP AL ,10 DEAL2: MOV AL ,20H JC DEAL1 DEAL3: MOV RESULT ,AL ADD AL ,7 RET 1.请画出该子程序的流程图,并说明该子程序的功能。(6分) 2.该子程序采用什么方法传递参数?传递了哪些参数?(4分) 五、(本题共20分)一个由3片8259A 所组成的级联中断系统,从片1的中断请求INT 连接到主片的IR5引脚,从片2的中断请求INT 连接到主片IR1引脚;主片设置为特殊全嵌套工作方式,从片设置为完全嵌套工作方式;主片的ICW2设置为69H ,从片1的ICW2设置为78H ,从片2的ICW2设置为72H ;主片、从片1和从片2的OCW1均设置为00H 。 1.该级联中断系统最多可接多少个外部中断源?请按由高到低列出中断优先级顺序。(6分) 2.写出主片IR6引脚、从片1的IR2引脚和从片2的 IR5引脚所引入中断源的中断类型号?并参照下表,写出每个中断源的中断服务程序的入口地址?(6分)

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

微机实验数码转换

微机原理实验报告实验九:数码转换 电子信息工程 150210班 金峥 15021005

一、实验题目 实验九——数码转换 二、实验目的 1、掌握计算机常用数据编码之间的相互转换方法。 2、进一步熟悉DEBUG软件的使用方法。 三、实验步骤 1、编辑源文件,经汇编连接产生EXE文件。 2、用DEBUG调试、检查、修改程序。 四、实验流程图 实验9——1流程图

五、实验源代码 实验(一)ASCⅡ码转换为非压缩型BCD码 编写并调试正确的汇编语言源程序,使之实现:设从键盘输入一串十进制数,存入DATA1单元中,按回车停止键盘输入。将其转换成非压缩型(非组合型) BCD 码后,再存入DATA2开始的单元中。若输入的不是十进制数,则相应单元中存放FFH。调试程序,用D命令检查执行结果。 代码

DATA SEGMENT PARA 'DATA' ;定义数据段 DATA1 DB 16 DUP(0) ;输入的ACSII码 DATA2 DB 16 DUP(0) ;转换后输出的BCD码 DATA ENDS STACK SEGMENT PARA STACK 'STACK' ;定义堆栈段 STACK1 DB 256 DUP(0) ;为堆栈准备256字节 STACK ENDS CODE SEGMENT ;定义代码段 ASSUME SS:STACK,CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DATA1 ;DATA1首地址存入SI LEA DI,DATA2 ;DATA2首地址存入DI MOV CX,16 ;循环次数 STEP1: MOV AH,01H ;输入字符,AL=输入的ASCII码 INT 21H MOV [SI],AL CMP AL,0DH ;与回车作比较 JE STEP3 ;若为回车则跳转到STEP3 CMP AL,'0' ;比较AL与0的大小 JB STEP2 ;若AL<0,跳转到STEP2 CMP AL,'9' ;比较AL与9的大小 JA STEP2 ;若AL>9,跳转到STEP2 SUB AL,30H ;将输入字符的ASCII码转换为十进制数 MOV [DI],AL ;将结果存入DATA2中 INC SI INC DI ;为下一次数码转换做准备 LOOP STEP1 ;跳转到STEP1,进行循环 STEP2: MOV [DI],0FFH ;若输入的不是十进制数,相应单元存入0FFH INC SI INC DI LOOP STEP1 ;跳转到STEP1,进行循环 STEP3: MOV AH,4CH ;带返回码的结束 INT 21H CODE ENDS

合肥工业大学微机原理试卷(A-2014-6-4)

2013~2014学年第 二 学期 课程代码 04200120 课程名称 微机原理及应用 学分 3.5 课程性质:必修 限修考试形式:开卷专业班级(教学班) 自动化、电气2011级 考试日期 2014.06.04 命题教师 温、鲍、朱、储 系(所或教研室)主任审批签名 一、(每空1分,共11分)填空题。 1.若[X]补为1010 0100B ,则其原码为( ),反码为( ),真值为( )。 2.8086 CPU 与存储器或I/O 进行数据交换时,若M/IO =1,WR =0,RD =1,A0=1,BHE =0,则CPU 在执行对( )(填写存储器或I/O )进行( )(填写读或者写)操作的指令,数据交换是通过数据总线( )实现的;若M/IO =0,WR =1,RD =0,A0=0,BHE =0,则CPU 在执行对( )(填写存储器或I/O )进行( )(填写 读或者写)操作的指令,数据交换是通过数据总线( )实现的。 3.Intel 8253某通道计数时钟频率为2MHz ,则该通道最大定时时间为( ),此时该通道的计数初值是( )。 二、(每题1分,共6分)判断下列说法是否正确,正确画√,错误画 。 1.十进制数75.125对应的16进制数是4B.2H 。 2.8086CPU 在中断响应时,SP 内容加6。 3.补码和求补的意义是不同的。 4.8086CPU 执行STI 指令后就可以立即响应外部可屏蔽中断。 5.8086CPU 访问存储器的地址是20位,访问I/O 的地址也是20位。 6.8086CPU 复位后从存储器FFFF0H 处开始执行程序。 三、(本题共20分)已知CS=4000H ,DS =0FE00H ,SS =8000H ,ES =0A000H ,BX =3A00H ,BP =7F00H ,DI =8E30H ,数据段中定义的变量BUF 的偏移地址为5201H ,针对以下每条指令分别说明存储器操作数的寻址方式、执行过程中总线操作的次数、逻辑地址和物理地址。 1.MOV CX ,[DI] 2.SUB AX ,BUF+2 3.ADD BL ,[BP +DI] 4.MUL BYTE PTR ES:[BX] 四、(本题共 22分)某8086 CPU 单板机的存储器与CPU 的连接意如下图所示。 1. 写出存储器芯片容量。(4分) 2. 完成硬件连接。(14分) 3. 写出芯片的地址范围,若有地址重叠,同时写出所有重叠的地址范围。( 4分) RD WR 131 A ~A D ~D 15 870 D ~D 五、(本题共13分)阅读下面程序段,假定标号LP1的偏移地址为2AC6H ,CS=8A00H ,SP =3100H ,CX =1122H ,BX =3344H ,若输入端口PORT1输入的数据为0F2H ,请写出执行该程序段后堆栈指针SP 的值,说明堆栈内容的变化过程,写出加法指令执行完后6个状态标志位(OF 、SF 、ZF 、AF 、PF 、CF )的内容,并指明子程序入口的逻辑地址。 START : IN AL ,PORT1 ADD AL ,1CH JNC LP1 PUSH CX POP BX LP1: CALL BX ;此指令的机器码为2个字节 ……………

(完整word版)微机原理与接口技术试验学习总结

微机原理与接口技术试验学习总结 本学期微机原理的实验课程即将结束,关于微机原理课程实验的心得体会颇多。 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。 我想微机原理课程试验不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特之处,那就是让我们进入一个神奇的世界,那就是编程。对我们来说汇编真的很新奇,很有趣,也使我有更多的兴趣学习微机原理和其

合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(3)

2、使用8253,编写一个实时钟程序。 .MODEL TINY COM_ADDR EQU 0263H T0_ADDR EQU 0260H T1_ADDR EQU 0261H T2_ADDR EQU 0262H .STACK 100 .CODE START: MOV DX,COM_ADDR MOV AL,00110101B OUT DX,AL ;计数器T0,方式2,BCD码计数 MOV DX,T0_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL ;CLK0/1000 MOV DX,COM_ADDR MOV AL,01110111B OUT DX,AL ;计数器T1为模式3状态,输出方波,BCD码计数MOV DX,T1_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL ;CLK1/1000 ;OUT1接到LED灯 MOV DX,COM_ADDR MOV AL,10010101B OUT DX,AL ;计数器T2为模式2状态,输出方波,BCD码计数MOV DX,T2_ADDR MOV AL,60H OUT DX,AL ;CLK1/60 ;OUT2输出60S的方波 END START OUT2接到蜂鸣器 8255 思考题: 1:执行程序后,使发光二极管闪动。 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE

MOV AL, 10000000B OUT DX, AL MOV BX, 8001H AA1: MOV DX, 0270H MOV AL, BH OUT DX, AL NOT BH MOV AL, BH OUT DX, AL ROR BH, 1 MOV DX, 0271H MOV AL, BL OUT DX, AL NOT BL MOV AL, BL OUT DX, AL ROL BL, 1 CALL DELAY CALL DELAY JMP AA1 DELAY: PUSH CX MOV CX, 0F00H AA2: PUSH AX POP AX LOOP AA2 POP CX RET CODE ENDS END START 2:执行程序后,使发光二极管高八位和低八位亮灭相反。SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, 0273H MOV AL, 10000000B OUT DX, AL MOV BX, 00FFH AA1: MOV DX, 0270H MOV AL, BH OUT DX, AL

四川大学微机原理实验报告..

微机原理实验报告 学院: 专业班级: 姓名 学号

实验一汇编语言编程基础 1.3汇编语言程序上机操作和调试训练 一.功能说明 运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。 运用LINK.EXE文件进行连接,形成*.EXE文件。 仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。 运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。 二.程序流程图 设置被除数、商的地址指针 设置单位除法次数计数器 取被除数一位作十进制调整 作字节除法、存商 N 被除数各位已除完? Y 显示运算结果 结束 三.程序代码 修改后的程序代码如下: DATA SEGMENT A D B 9,6,8,7,5 B DB 5 C DB 5 DUP (0) N EQU 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX

MOV ES,AX CLD LEA SI,A LEA DI,C MOV CX,N MOV AH,0 LP1: LODSB AAD DIV B STOSB LOOP LP1 MOV CX,N LEA DI,C LP2: MOV DL,[DI] ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H CODE ENDS END START 四.实验感想和收获 通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。 在这次试验中我也遇到了一些困难。在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。我这才想起来我的操作系统是64位的,和该软件版本不兼容。不过我并没有放弃,经过我的摸索之后,我发现用DOSBOX这个程序可以解决我的电脑运行不了该程序的问题。在解决了第一个难题后,我开始着手改正试验1.3中的语法错误和逻辑错误,但是无论我怎么修改却始终都无法通过编译,并且基本上每句话都有编译错误。根据我多年编程的经验来看,这应该是中文输入法在搞鬼,之后我耐心地把程序重新输了一遍,果然通过了编译,并且之后的连接也进行的很顺利。在用DEBUG调试时发现得出的结果也很正确。 尽管这次的实验内容非常简单,仅仅是教会我们一些基本的操作,但我却明显感觉到了汇编语言和C语言等高级语言所不同的地方。越是底层,基础的东西就越不人性化,用C语言一行代码就能实验的功能在汇编语言中可能要花上数十行。看来汇编语言的学习不是几周就能速成的,必须要有长年累月的积淀才能掌握。

相关主题
文本预览
相关文档 最新文档