微机原理实验答案汇总
微机原理实验参考答案(航大)
《微机原理》实验参考答案实验1 汇编基本指令及顺序程序设计实验实验2 分支与DOS中断功能调用程序设计实验实验3 循环结构程序设计实验实验4 存储器扩展实验实验5 8259应用编程实验实验1汇编基本指令及顺序程序设计实验一、实验目的1、掌握汇编语言的开发环境和上机过程;2、掌握DEBUG命令;3、掌握顺序程序设计方法;4、掌握寻址方式;5、理解和掌握汇编基本指令的功能。
二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。
要求:用3种方法实现。
答:方法一CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HMOV CX,AXMOV AX,BXMOV BX,CXCODE ENDSEND START方法二CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HXCHG AX,BXCODE ENDSEND START方法三CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HPUSH AXPUSH BXPOP AXPOP BXCODE ENDSEND START2、分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。
MOV AX,BX 寄存器寻址,将BX内容送AXMOV AX,[BX] 寄存器间接寻址,将DS:BX内存单元内容送AXMOV AX,10[BX] 寄存器相对寻址,将DS:BX+10内存单元内容送AX 在DEBUG调试模式,用A命令直接编辑相应指令并用T命令单步执行,执行后查询相应寄存器的值并用D命令查内存。
3、已知有如下程序段:MOV AX,1234HMOV CL,4在以上程序段的基础上,分别执行以下指令:ROL AX,CL AX=2341HROR AX,CL AX=4123HSHL AX,CL AX=2340HSHR AX,CL AX=0123HSAR AX,CL AX=0123HRCL AX,CL 带进位标志位的循环左移RCR AX,CL 带进位标志的循环右移4、设有以下部分程序段:TABLE DW 10H,20H,30H,40H,50HENTRY DW 3┇LEA BX,TABLEADD BX,ENTRYMOV AX,[BX]┇要求:(1)将以上程序段补充成为一个完整的汇编程序。
微机原理实验答案
《微机原理与接口技术》实验报告淮海工学院机械工程学院实验报告书课程名:微机原理与接口技术题目:实验一:程序的编辑、汇编、连接和调试班级:装备092班学号:010912206姓名:邓浩评语:成绩:指导教师:批阅时间:年月日一、目的与要求通过对一个简单程序的编辑、汇编、连接及调试,学习汇编语言程序设计上机操作的基本方法,为以后各项实验以及为实际的程序设计建立基础。
二、实验内容或题目1、验证题对给出的程序进行编辑、汇编、连接和调试。
以下程序段用以显示信息“HELLO.”。
2、设计题编写一程序,实现两个存储单元X,Y中两数相加,并将相加结果存放在SUM变量中,上机调试程序;检查执行结果。
三、实验步骤与源程序实验步骤:编辑源代码,文件名.asm开始——>运行——>输入cmd,显示dos界面查询编译环境所在路径EDIT编译源代码文件名.asm文件TLINK连接生成文件名.obj文件TD运行F8单步执行查看虚拟存储器1、验证题dseg segmentmess1 db 'hello','$'dseg endscseg segmentassume ds: dseg,cs: csegstart: mov ax,dsegmov ds,axmov dx,offset mess1mov ah,09hint 21hmov ah,4chint 21hcseg endsend start2、设计题data segmentx db 2y db 3sum db ?data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov al,xadd al,ymov sum,almov ah,4chint 21hcode endsend start四、测试数据与实验结果(可以抓图粘贴)1、验证题2、设计题五、结果分析与实验体会通过这次实验,我对汇编语言程序设计上机操作的基本方法有了初步掌握。
(完整版)微机原理答案
微机原理答案习题11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。
微机原理课后习题解答
微机原理习题第一章 ?绪论习题与答案1.? 把下列二进制数转换成十进制数、十六进制数及BCD码形式。
(2)?? 01011101.101B =解:(2)?????????? 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.? 把下列十进制数转换成二进制数。
(1)?? 100D =(2)?? 1000D =(3)?? 67.21D =解:(1)?? ?100D = 01100100B(3)?? 67.21D = 1000011.0011B3.? 把下列十六进制数转换成十进制数、二进制数。
(1)?????? 2B5H? =(2)?????? 4CD.A5H =解:?????????? (1)????????????? 2B5H? =? 693D = 0010 1011 0101B ?????????? (2)????????????? 4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B 4.? 计算下列各式。
(1)?? A7H+B8H? =(2)?? E4H-A6H? =解:(1)?????????? A7H+B8H? = 15FH(2)?????????? E4H-A6H? = 3EH5.? 写出下列十进制数的原码、反码和补码。
(1)+89(2)-37解:(1)[+89 ] 原码、反码和补码为: 01011001B6.求下列用二进制补码表示的十进制数??? (1)(01001101)补=解:??? (1)(01001101)补= 77D7.请用8位二进制数写出下列字符带奇校验的ASCII码。
??? (1)C:1000011??? (2)O:? 1001111??? (3)M:1001101??? (4)P:? 1010000解:??? (1)C:0 1000011?? (2)O:0 1001111??? (3)M:1 1001101?? (4)P:1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。
微机原理100道题答案
微机原理作业答案40.源程序如下:CMP AX,BXJNC L1JZ L2JNS L3JNO L4JMP L5设AX=74C3H,BX=95C3H,则程序最后将转到哪个标号处执行?试说明理由。
答:∵ 74C3H- 95C3HDF00H且有:CF=1, ZF=0, SF=1, OF=1∴程序将转到L5标号处执行。
41.设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示:(1)1234H:___H(2)____H:0345H答:(1)1234H:05H (2) 1200H:0345H42.假设某程序执行过程中,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)-1=09563H43.设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。
试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。
答:物理地址为:0E6AFH-2, SP的初始值为200H,指向的物理地址为:0E6AFH.。
44.对于由8086CPU组成的系统,堆栈的位置如何确立?堆栈的首址(即:SS中的值)是不是栈底?为什么?答:8086系统中堆栈的位置由SS和SP初始化后确立:其中(SS)*16决定了堆栈段起始单元的地址,即堆栈段首址;(SS)*16+(SP初值)-1决定了堆栈段最后一个单元的地址,即栈底;(SS)*16+(SP现值)决定了堆栈段当前栈顶。
显然,堆栈首址并不是栈低。
一般来说,在堆栈所在的内存区内,栈底为高地址端。
堆栈初始化后,栈顶指向栈底+1单元的偏移地址。
当堆栈压入数据后,栈顶地址总是小于栈底地址(因为一次压入两个字节数据),位于低地址端。
45.设8255A的4个端口地址分别为0C0H、0C2H、0C4H和0C6H,要求用按位置位/复位控制字使PC6输出方波信号,试编程实现。
微机原理习题答案(完整版)
第一章习题答案1-1 请说明CPU的功能以及CPU是如何执行指令和程序的。
答:CPU的功能是执行程序和统筹处理计算机系统中各类事务。
CPU执行指令分为3步:取指令、分析指令、执行指令;计算机程序是由一条条指令按一定的顺序排列组成的,CPU执行程序的过程就是一条条指令累计执行的过程,其方式分为串行作业方式和流水线作业方式。
1-2 请说明单片机内部主要是由哪些部件组成的,并说明各部件的作用。
答:CPU:由控制器和运算器构成,控制器的作用是执行指令和协调系统各部件的工作;运算器的作用是进行逻辑运算和算术运算。
存储器:存储计算机工作时使用的信息,即指令代码和数据代码。
I/O接口电路:具有数据缓冲、数据隔离及数据转换的功能。
1-3 请问对于容量位8K的存储器芯片,它的地址线是多少根?答:8K=8192=213,故地址线为13根。
另附:存储器的数据线由存储器的字长决定,例如一块32K×16(存储器容量显示格式:存储单元数×存储单元的字长)的存储器,其地址线为15根,数据线为16根。
1-4 将十进制数78,134,分别用二进制数、十六进制数和8421BCD吗表示。
答:(78)D=(1001110)B=(4E)H=(01111000)8421BCD(134)D=(10000110)B=(86)H=(000100110100)8421BCD注:8421BCD码为4位表示一个十进制数符,本质是符号不是数值,所以不可省略0。
1-5 将下列真值分别转化为用8位和16位二进制数表示的原码、补码和反码。
X=1000100;[X]8位原=[X]8位反=[X]8位补=01000100;[X]16位原=[X]16位反=[X]16位补=0000000001000100X= -1000100[X]8位原=11000100,[X]8位反=10111011,[X]8位补=10111100;[X]16位原=1000000001000100,[X]16位反=1111111110111011,[X]16位补=1111111110111100;X= -0111111[X]8位原=10111111,[X]8位反=11000000,[X]8位补=11000001;[X]16位原=1000000000111111,[X]16位反=1111111111000000,[X]16位补=1111111111000001;1-6 将下列补码转化成二进制数的真值。
完整版微机原理课后习题参考答案.doc
完整版微机原理课后习题参考答案.doc2篇微机原理课后习题参考答案(一)微机原理课后习题是帮助学生巩固所学知识,提高学习效果的一种重要方式。
通过解答习题,学生可以检验自己的理解程度和掌握技能,同时也能发现知识的不足之处,以便及时调整学习方法和加强练习。
以下是微机原理课后习题的参考答案,供学生参考:1. 请简述微机的基本组成部分。
答:微机的基本组成部分包括中央处理器(CPU)、内存、输入输出设备和总线。
其中,中央处理器是微机的控制中心,负责数据的处理和指令的执行;内存是用于存储数据和程序的地方,包括随机访问存储器(RAM)和只读存储器(ROM);输入输出设备用于与外部设备进行信息交换,包括键盘、显示器、打印机等;总线是连接中央处理器、内存和输入输出设备的通道,用于数据传输和控制信号传递。
2. 什么是存储器的地址空间?答:存储器的地址空间是计算机可寻址的存储单元的集合。
每个存储单元都有一个唯一的地址,用于在存储器中定位该存储单元。
地址空间的大小决定了计算机可以寻址的最大存储容量。
常见的存储器地址空间包括物理地址空间和逻辑地址空间。
物理地址空间是实际存在的存储单元的集合,由硬件决定;逻辑地址空间是程序员或操作系统所见到的地址空间,它可以比物理地址空间大或小,具体取决于使用的地址转换机制。
3. 简述中央处理器的主要功能。
答:中央处理器的主要功能包括指令的执行和数据的处理。
指令的执行是指根据程序中的指令,按照特定的指令集进行操作,包括数据传输、算术运算、逻辑运算等。
数据的处理是指对输入的数据进行处理,可以进行各种运算和逻辑操作,生成相应的结果。
除了执行指令和处理数据外,中央处理器还负责控制系统的运行,包括控制信号的发出和时序的控制,以确保各个组成部分协调工作。
4. 什么是总线?答:总线是微机中各个组成部分之间进行数据传输和控制信号传递的通道。
它可以看作是计算机内部各个部分之间进行信息交换的公共通道。
总线通常分为数据总线、地址总线和控制总线三种类型。
(完整版)微机原理答案1
第 1 章微型计算机系统概述习题参考答案1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输入/输出接口及系统总线组成。
CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。
暂存少量数据。
对指令译码并执行指令所规定的操作。
与存储器和外设进行数据交换的能力。
提供整个系统所需要的定时和控制信号。
响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU和外设之间起适配作用。
1-2.CPU 执行指令的工作过程。
答:指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。
(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。
存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。
(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。
(4)修改程序计数器的内容。
1-3.果微处理器的地址总线为20 位,它的最大寻址空间为多少?答:220=1048576=1MB1-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。
微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。
以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。
1-5.下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024,二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B1-8.设字长为8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111 [-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100 [-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100第 2 章微型计算机系统的微处理器习题参考答案2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU (Execution Unit)。
微机原理答案.[修改版]
第一篇:微机原理答案.部分习题答案(顾三乐整理编辑版)第二章计算机中的数值和编码将十进制数转换为二进制和十六进制(1) 129.75=1000 0001.11B=81.CH(2) 218.8125=1101 1010.1101B=DA.DH (3) 15.625=1111.101B=F.AH(4) 47.15625=10 1111.0010 1B=2F.28 H将下列二进制数转换为十进制和十六进制(1) 111010 B=58 =3A H(2) 1011 1100.111B= 188.875= BC.E H (3) 0.1101 1B=0.84375 =0.D8H(4) 11110.01 B=30.25 =1E.4H3、完成下列二进制数的加减法运算(1) 1001.11+100.01=1110.00 (2) 1101010110.1001-01100001.0011=01110101.0110 (3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.10114、完成下列十六进制数的加减法运算(1) 745CH+56DFH=D14B H(2) ABF.8H-EF6.AH=9C28.E H(3) 12AB.F7+3CD.05=1678 .FC H(4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128.8125+10110101.1011B+1F.2H=101010101.1010B(2) 287.68-10101010.11H+8E.EH=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列十进制数的补码。
(1) X=-33的补码:1101 1111,1111111111011111 (2) Y=+33的补码:0010 0001,0000 0000 0010 0001 (3) Z=-128的补码:1000 0000,1111 1111 1000 0000 (4) N=+127的补码:0111 1111,0000 0000 0111 1111 (5) A=-65的补码:1011 1111,1111 1111 1011 1111 (6) B=+65的补码:0100 0001,0000 0000 0100 0001 (7) C=-96的补码:1010 0000,1111 1111 1010 0000 (8) D=+96的补码:0110 0000,0000 0000 0110 00007、写出下列用补码表示的二进制数的真值(1) [X]补=1000 0000 0000 0000 HX=-1000 0000 0000 0000 H=-32768(2) [Y]补=0000 0001 0000 0001 HY=+0000 0001 0000 0001 H=+257(3) [Z]补=1111 1110 1010 0101 HZ=-0000 0001 0101 1011 H=-347(4) [A]补=0000 0010 0101 0111 HA=+0000 0010 0101 0111 H=+5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。
微机原理参考答案
微机原理参考答案微机原理一、名词转换(共6题)1.A/D转换:将模拟信号装换成数字信号。
2.优先级特殊循环:初始时,优先级队列:IR0最高,IR7最低;当某一个中断源搜到服务后,它的优先级别改为最低,而将最高优先级赋给比它低一级的中断源,其他级别依次类推,同时可以根据用户要求将最低优先级赋予某一中断源。
3.非规则字:连续两个单位的低位地址为偶数的字4.中断向量表:把系统中所有的中断向量集中起来,按中断类型号从小到大的顺序安排到存储器的某一区域内,这个存放中断向量的存储区叫中断向量表。
5.并行通信:指数据的每位同时传输,适合短距离传输。
6.端口:接口电路中能被CPU直接访问的寄存器。
7.ADC的分辨率:指A/D转换器能分辨的最小模拟输出电压值,常用可转换成的数字量的位数表示(8位,16位等)。
8.接口:CPU与外界的连接电路。
9.优先级自动循环:初始时,优先级队列:IR0最高,IR7最低;当某一个中断源搜到服务后,它的优先级别改为最低,而将最高优先级赋给比它低一级的中断源,其他级别依次类推。
10.串行通信:把需要传输的数据按照一定的数据格式一位一位地按顺序传输。
11.规则字:连续两个单位的低地址为奇数的字。
12.中断向量:每一个中断服务程序有有一个确定的入口地址,该地址称为中断向量。
二、选择(共13题)DCACD CDBBB ACBDA ABCDC CADDC B1.总线接口部件(BIU:Bus Interface Unit):由段寄存器(代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES)、指令指针寄存器(IP)、地址加法器、总线控制电路和指令队列缓冲器等组成。
2.8255A工作在方式1(选通的输入输出方式)时,端口C用来与外设之间传递应答控制信号。
3.8086CPU的地址线引脚有20根。
4.8086中断系统的中断向量表由1024个字节组成。
5.8259A收到CPU送来的第二个中断响应信号后,把中断类型号传递给CPU。
《微机原理》参考答案
第一章到第四章作业答案第一章(Page19)10(3) 解二进制=10010.1011 1100十六进制=12.BC12解(1)BC.DH=1011 1100.1101 B=274.64D=188.8125O(2)20.BH=0010 0000.1011B=40.54D=32.6875O(3)6C.6H=0110 1100.0110B=154.3D=108.375O16.解[48]原、反、补=0011 0000[-98]原=1110 0010[-98]反=1001 1101[-98]补=1001 111019.解[3728]压缩BCD = 0011 0111 0010 1000[3728]非压缩BCD =00000011 00000111 00000010 00001000[315]压缩BCD =0011 0001 0101[315]非压缩BCD =00000011 00000001 00000101[1124]压缩BCD =0001 0001 0010 0100[1124]非压缩BCD=00000001 00000001 00000010 0000010020.解(1)31H=49=3439H(ASCII码)(2)A4H=164=313634 H(ASCII码)(3)3DH=61=3631 H(ASCII码)(4)OK=4F4B H(ASCII码)第二章(P44)6答:CF、PF、AF、ZF、SF、OFCF(Carry Flag)——进位标志位。
当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。
PF(Parity Flag)——奇偶标志位。
该标志位反映运算结果中1的个数是偶数还是奇数。
当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。
AF(Auxiliary carry Flag)——辅助进位标志位。
当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。
微机原理答案整理版
微机原理答案整理版第二章1. 8086CPU 内部由哪两部分组成?它们的主要功能是什么?答:8086CPU 内部由执行单元EU 和总线接口单元BIU 组成。
主要功能为:执行单元EU 负责执行指令。
它由算术逻辑单元(ALU)、通用寄存器组、16 位标志寄存器(FLAGS)、EU 控制电路等组成。
EU 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。
数据在ALU 中进行运算,运算结果的特征保留在标志寄存器FLAGS 中。
总线接口单元BIU 负责CPU 与存储器和I/O 接口之间的信息传送。
它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。
2. 8086CPU 中有哪些寄存器?各有什么用途?答:8086CPU 内部包含4 组16 位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。
(1)通用寄存器组包含4 个16 位通用寄存器AX、BX、CX、DX,用以存放普通数据或地址,也有其特殊用途。
如AX(AL)用于输入输出指令、乘除法指令,BX 在间接寻址中作基址寄存器,CX 在串操作和循环指令中作计数器,DX 用于乘除法指令等。
(2)指针和变址寄存器BP、SP、SI 和DI,在间接寻址中用于存放基址和偏移地址。
(3)段寄存器CS、DS、SS、ES 存放代码段、数据段、堆栈段和附加段的段地址。
(4)指令指针寄存器IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址。
(5)标志寄存器Flags 用来存放运算结果的特征。
5. 要完成下述运算或控制,用什么标志位判别?其值是什么?(1)比较两数是否相等(2)两数运算后结果是正数还是负数(3)两数相加后是否溢出(4)采用偶校验方式,判定是否要补1(5)两数相减后比较大小(6)中断信号能否允许答:(1)ZF,两数相减,若ZF=1,则相等。
(2)SF,SF=1 则为负,否则为正(3)对有符号数:OF,OF=1 为溢出;对无符号数:CF,CF=1 为溢出(4)PF,PF=1,不补1(5)对有符号数:无溢出时(OF=0),如ZF=1,则两数相等;如ZF=0 且SF=0,则被减数大;如ZF=0 且SF=1,则减数大;有溢出时(OF=1),如SF=1,则被减数大;如SF=0,则减数大;对无符号数:如ZF=1,则两数相等;如CF=0,则被减数大;如CF=1,则减数大(6)IF,IF=1,允许中断6. 8086 系统中存储器采用什么结构?用什么信号来选中存储体?答:8086 系统中,存储器采用分体结构,1MB 的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为512KB。
微机原理实验(含解答程序)
微机原理实验(含解答程序)-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN微机原理实验课题(共16个内容,附解答程序)(汇编程序可以使用MASM FOR WINDOWS)1.将偏移地址为2000h开始的100个单元依次设置为0~99。
2.将两个64位的二进制数相加,记录相加的和以及各个状态标志的值。
3. 编写程序,在屏幕上分行显示自己的姓名、学号。
4. 编写程序,通过键盘输入0——9之间的一个数字,利用查表法计算其平方。
在DEBUG下查看执行结果。
5. 用分支结构设计程序实现符号函数100010xy xx>⎧⎪==⎨⎪-<⎩,要求x和y存放在内存单元中,并将判断的结果在屏幕上显示输出。
6. 在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则将其转换为大写字母并显示。
7. 在键盘上输入一个字符,判断它是一个数字、大写字母还是小写字母,若为数字,则显示digital,若为字母,显示letter,否则,显示other。
8. 将字节型变量x的低四位(一位十六进制数)以十六进制数的形式显示。
9. 编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N (N+1)大于200为止,并将结果由屏幕上显示出来。
10. 将字形变量x以二进制数的形式在屏幕上显示输出。
11. 将字形变量x以十六进制数的形式在屏幕上显示输出。
12. 将内存单元缓冲区中的符号数(20个)按从小到大的顺序排列,并以十六进制数的形式显示。
13. 编制程序计算S=1+2+3+……+N,并将结果由屏幕上显示出来。
(要求:在屏幕上显示提示信息,提示输入N,N用十六进制表示,且N小于0FH,用子程序实现(段内),将输入的结果用十六进制数输出显示,显示结果的程序用子程序是实现(段间))。
14.要求在键盘上输入一个小于四位的十进制数,将其转换为二进制数存放,并讲转换后的结果以十六进制数的形式在屏幕上显示出来。
(完整版)微机原理课后习题参考答案.doc
第一章2、完成下列数制之间的转换。
(1) 01011100B=92D(3)135D=10000111B(5)10110010B=262Q=B2H3、组合型 BCD 码和非组合型 BCD 码有什么区别?写出十进制数254 的组合型 BCD数和非组合型数。
答:组合型 BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型 BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9 。
组合型: 254=( 001001010100 )BCD非组合型: 254=(00000010 00000101 00000100 )BCD7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。
+32767~ -32768。
9、设计算机字长n=8,求下列各式的[X+Y]补和 [X-Y]补,并验证计算结果是否正确。
(1) X=18, Y=89 [X+Y]补 =00010010+01011001=01101011B=107D 正确[X-Y]补 =10111001B=00010010+10100111= ( -71D)补正确(2) X=-23, Y=-11 [X+Y]补 =11101001+11110101=11011110B= ( -34D)补正确[X-Y] =11101001+00001011=11110100B= ( -12D)补正确补(3) X=18, Y=-15 [X+Y]补=00010010+11110001=00000011B= ( 3D)补正确[X-Y] =00010010+00001111=00100001B= ( 33D)补正确补(4) X=-18, Y=120 [X+Y]补 =11101110+01111000=01100110B= ( 102D)补正确[X-Y] =11101110+10001000=01110110B= ( 123D)补由于 X-Y=-138 超出了机器数补范围,因此出错了。
微机原理课后答案汇总
1.2 课后练习题一、填空题1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。
2.将十进制数199转换为二进制数为____ 11000111____B。
3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。
4.十进制数36.875转换成二进制是___100100.111____________。
5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。
6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。
(精确到小数点后4位)二、选择题1.堆栈的工作方式是__B_________。
A)先进先出 B)后进先出 C)随机读写 D)只能读出不能写入2.八位定点补码整数的范围是____D_________。
A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+1273.字长为16位的数可表示有符号数的范围是___B___。
A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768三、简答题1.微型计算机系统的基本组成?微型计算机,系统软件,应用软件,输入输出设备2.简述冯.诺依曼型计算机基本思想?●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存●指令按其在存储器中存放的顺序执行;●由控制器控制整个程序和数据的存取以及程序的执行;●以运算器为核心,所有的执行都经过运算器。
3.什么是微型计算机?微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。
4.什么是溢出?运算结果超出了计算机所能表示的范围。
2.2一、填空题1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。
微机原理课后参考解答.
第一章习题✓1. 2 请简述机器数和真值的概念。
✓1. 3 将下列十进制数分别转化为二进制数、八进制数、十六进制数和压缩BCD 数。
✓(1 125.74 (=7D.BCH (2 513.85 (3 742.24 (4 69.357 ✓1. 4 将下列二进制数分别转化为十进制数、八进制数和十六进制数。
✓(1 101011.101B (=43.625(2 110110.1101B✓(3 1001.11001B (4 100111.0101B✓1. 5 将下列十六进制数分别转化为二进制数、八进制数、十进制数和压缩BCD 数。
✓(1 5A.26H (2 143.B5H✓(3 6CB.24H (4 E2F3.2CH✓1. 6 8位和 16位二进制数的原码、补码和反码可表示的数的范围分别是多少?✓1. 7 写出下列十进制数的原码、反码、补码表示(采用八位二进制,最高位为符号位。
✓(1 120 (78H (2 62 (3-26 (E6H补码 (4-127 ✓1. 8 已知补码求出其真值。
✓(1 46H (=70 (2 9EH (=-98 (3 B6H ( =-74 (4 6C20H 本章作业点评注意正数的原码、反吗和补码相同,而负数不同。
作业解答请看书第 2章微处理器习题✓2.1 8086/8088 CPU由哪两部分组成 ? 它们的主要功能各是什么 ?✓2.2 8086/8088 CPU为什么要采用地址/数据线分时复用?有何好处?✓2.3 8086/8088 CPU中的标志寄存器分为哪两类标志?二者有何区别?✓2.4 设段寄存器 CS =2400H ,指令寄存器 IP =6F30H ,此时指令的物理地址 PA 是多少?指向这一物理地址的 CS 值和 IP 值是否是唯一的?答:PA=2AF30H,不唯一。
✓2.5 什么叫总线周期? 8086/8088系统中的总线周期由几个时钟周期组成?如果CPU 的主时钟频率为 25MHz ,一个时钟周期是多少?一个基本总线周期是多少时间?答:4个 T 周期, 1个 T 周期为 1/25MHZ=4*10-8S✓2.10 什么是指令周期?什么是时钟周期?什么是总线周期?三者有何关系?2.15 什么是总线 ? 简述微机总线的分类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.题目:编程将(AX)=2387、(BX)=192FH、(CX)=9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。
CODE SEGMENTASSUME CS:CODESTART:MOV AX,2387MOV BX,192FHMOV CX,9256CMP AX,BXJAE NEXT1XCHG AX,BXNEXT1:CMP AX,CXJAE NEXT2XCHG AX,CXNEXT2:CMP BX,CXJAE NEXT3XCHG BX,CXNEXT3:MOV AH,4CHINT 21HCODE ENDSEND START2.题目:编程将(BX)=8600H、(CX)=3489H、(DX)=9235按有符号数由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。
;CODE SEGMENTASSUME CS:CODESTART:MOV BX,8600hMOV CX,3489HMOV DX,9235CMP BX,CXJGE NEXT1XCHG BX,CXNEXT1:CMP BX,DXJGE NEXT2XCHG BX,DXNEXT2:CMP CX,DXJGE NEXT3XCHG CX,DXNEXT3:MOV AH,4CHINT 21HCODE ENDSEND START3.题目:在数据段中定义如下数据:32,34,89H,,编程将以上数据按有符号数进行排序,并将程序和结果记录下来。
DATA SEGMENTNUM DB 32,34,89HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATSTART:MOV AX,DATAMOV DS,AX ;初始化DSLEA BX,NUM ;取有效地址到BX,以便访问要排序的数MOV AL,[BX]CMP AL,[BX+1]JGE NEXT1 ;若第一个数大则跳转,否则将第一个与第二个数交换XCHG AL,[BX+1]MOV [BX],ALNEXT1:CMP AL,[BX+2]JGE NEXT2;若第一个数大则跳转,否则将第一个与第三个数交换XCHG AL,[BX+2]MOV [BX],ALNEXT2:MOV AL,[BX+1];将第二个和第三个数比较CMP AL,[BX+2]JGE NEXT3;若第二个数大则跳转,否则将第二个与第三个数交换XCHG AL,[BX+2]MOV [BX+1],ALNEXT3:MOV AH,4CHINT 21HCODE ENDSEND START4.题目:在数据段中定义如下数据:99,25,86,编程将以上数据按无符号数进行排序,上机调试出程序,并将程序和结果记录下来。
data segmentnum db 99h,25h,86hdata endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea bx,nummov al,[bx]cmp al,[bx+1]jae next1xchg al,[bx+1]mov [bx],alnext1:cmp al,[bx+2]jae next2xchg al,[bx+2]mov[bx],alnext2:mov al,[bx+1]cmp al,[bx+2]jae next3xchg al,[bx+2]mov [bx+1],alnext3: mov ah,4chint 21hcode endsend start5.题目:(AL)=86H,(AH)=34H,(BL)=78H,编程将以上数据按有符号数进行排序,上机调试出程序,并将程序和结果记录下来。
code segmentassume cs:codestart: mov al,86hmov ah,34hmov bl,78hcmp al,ahjae next1xchg al,ahnext1: cmp al,bljae next2xchg al,blnext2: cmp ah,bljae next3xchg ah,blnext3: mov ah,4chint 21hcode endsend start6.题目:中断向量为:1234:5678H,编程将此中断向量写入类型0所在的中断向量表,上机调试出程序,并将程序和结果记录下来。
(直接用MOV 指令写入即可)code segmentassume cs:code,ds:codestart:xor ax,axmov ds,axmov bx,0mov cl,2shl bx,clmov word ptr[bx],5678hmov word ptr[bx+2],1234hmov ah,4chint 21hcode endsend start7.题目:中断向量为:3456:6678H,编程将此中断向量写入类型60H所在的中断向量表,上机调试出程序,并将程序和结果记录下来。
(直接用MOV 指令写入即可)CODE SEGMENTASSUME CS:CODE,DS:CODESTART:XOR AX,AXMOV DS,AX ;初始化DS,中断向量表在0段MOV BX,60HMOV CL,2SHL BX,CL ;让中断类型化左移两位,以便实现乘以4作为中断向量地址MOV WORD PTR [BX],5678HMOV WORD PTR [BX+2],1234HMOV AH,4CHINT 21HCODE ENDSEND START8.题目:中断向量为:编程将中断向量类型60H所对应的中断向量从中断向量表中取出来分别放在ES和DI中,上机调试出程序,并将程序和结果记录下来。
(直接用MOV 指令即可)CODE SEGMENTASSUME CS:CODE,DS:CODESTART:XOR AX,AXMOV DS,AX ;初始化DS,中断向量表在0段MOV BX,60HMOV CL,2SHL BX,CL ;让中断类型化左移两位,以便实现乘以4作为中断向量地址MOV DI,WORD PTR [BX]MOV ES,WORD PTR [BX+2]MOV AH,4CHINT 21HCODE ENDSEND START9.题目:中断向量为:编程将中断向量类型21H所对应的中断向量从中断向量表中取出来分别放在SI和BP中,上机调试出程序,并将程序和结果记录下来。
(直接用MOV 指令即可)code segmentassume cs:code,ds:codestart:xor ax,axmov ds,axmov bx,21hmov cl,2shl bx,clmov si, word ptr[bx]mov bp,word ptr[bx+2]mov ah,4chint 21hcode endsend start10.题目:中断向量为:编程将中断向量类型45H所对应的中断向量从中断向量表中取出来分别放在DI和BP中,上机调试出程序,并将程序和结果记录下来。
(直接用MOV 指令即可)code segmentassume cs:code,ds:codestart:xor ax,axmov ds,axmov bx,45hmov cl,2shl bx,clmov di, word ptr[bx]mov bp,word ptr[bx+2]mov ah,4chint 21hcode endsend start11.题目:利用实验箱中的8255并口芯片实现1个发光二极管的闪烁。
io8255a equ 288hio8255b equ 28bhio8255c equ 28ahcode segmentassume cs:codestart: mov dx,28bhmov al,80hout dx,almov cx,5disp: mov al,03hout dx,alpush cxmov cx,10hdelay: loop delaypop cxmov al,02hout dx,alloop dispmov ah,4chint 21hcode endsend start12.题目:在交通灯实验中请使用8255的C口按位置1/置0 的功能实现如下现象:南北路口的绿灯、东西路口的红灯同时亮30秒左右。
io8255a equ 288hio8255b equ 28bhio8255c equ 28ahcode segmentassume cs:codestart: mov dx,28bhmov al,80hout dx,aldisp: mov al,0bhout dx,almov al,05hout dx,almov cx,2000hde1: mov di,9000hde0: dec dijnz de0loop de1mov dl,0ffh ;判断是否有按键mov ah,06hint 21hmov ah,4chint 21hcode endsend start13 .题目:在交通灯实验中,请使用8255的C口按位置1/置0 的功能实现如下现象:东西路口的黄灯闪烁5次。
;设8255的CS片选地址接280H-287H;PC1接黄色发光二极管CODE SEGMENTASSUME CS:CODESTART:MOV DX,28bHMOV AL,80HOUT DX,AL ;8255初始化MOV CX,5DISP:MOB AL,03HOUT DX,AL ;PC1通过控制端口置位,点亮黄灯PUSH CX ;暂时保存CX值,因为下面的循环要用到MOV CX,100HDELAY:LOOP DELAY ;延时循环,可以调节POP CXMOV AL,02HOUT DX,AL ;PC1通过控制端口清零,熄灭黄灯LOOP DISP ;总共循环5次,黄灯亮灭5次,即闪烁5次MOV AH,4CHINT 21HCODE ENDSEND START14. 题目:利用8255A的PC7产生负脉冲:io8255a equ 288hio8255b equ 28bhio8255c equ 28ahcode segmentassume cs:codestart: mov dx,28bhmov al,80hout dx,almov cx,10disp: mov al,03hout dx,alpush cxmov cx,10hdelay: loop delaypop cxmov al,02hout dx,alloop dispmov ah,4chint 21hcode endsend start15. 题目:在使用8个开关控制8个LED的实验中,请利用8255的A口作为输入端口,C口作为输出端口实现原来的实验现象。
io8255a equ 288hio8255b equ 28bhio8255c equ 28ahcode segmentassume cs:codestart: mov dx,io8255b ;设8255为C口输出,A口输入mov al,90hout dx,alinout: mov dx,io8255a ;从A口输入一数据in al,dxmov dx,io8255c ;从C口输出刚才自A口out dx,al ;所输入的数据mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz inout ;若无,则继续自a口输入,c口输出mov ah,4ch ;否则返回int 21hcode endsend start16. 题目:在交通灯实验中,请使用8255的C口按位置1/置0 的功能实现如下现象:南北路口的红灯、东西路口的绿灯同时亮30秒左右。