微机原理作业

合集下载

南京邮电大学微机原理作业

南京邮电大学微机原理作业
(由题意可知,使用的是从8259的IR1中断,即用户中断,中断类型为71H或者0AH)
斜体下划线部分可跳过
用户定义的中断服务程序有两个设计方法:
①定义用户中断服务程序为“71H型”
②定义用户中断服务程序为“0AH型”
用户中断服务程序结束
①若用户中断定义为0AH型,服务程序结束前只向主8259送结束命令
5.用系统机串行口采用中断方式完成字符发送和接收,编程时应采取哪些措施?
答:⑴中断允许寄存器相应位置1
⑵MODEM控制寄存器 ,即 打通8250的中断请求通道。
⑶8259相应中断屏蔽位置0(主8259 、 )— 8259
⑷CPU处于开中断(STI)— CPU
6.A、B两台PC机利用主串口进行点-点单工通信(不用联络线),发送采用查询方式,接收采用中断方式。一帧字符包含7个数据位,1个停止位,1个校验位,通信速率为4800波特(分频系数为0018H)。
STI;开中断
SCAN:MOVAH, 01H;设置功能号
INT16H;有键入?
JZSCAN;否循环
CALLRESET;恢复现场
MOVAH, 4CH
INT21H
;--------------------------------------
SERVICEPROC
PUSHA
PUSHDS;保护现场
MOVAX, DATA
MESGDB'Welcome!','$';显示的字符串
DATAENDS
CODESEGMENTUSE16
ASSUMECS:CODE, DS:DATA
BEG:MOVAX, DATA
MOVDS, AX
CLI;关中断
CALLI8259;8259初始化

微机原理作业题

微机原理作业题

微机原理作业题微机原理习题⽬录第2章微机运算基础 (2)第3章 8086/8088微处理器及系统 (4)第4章汇编语⾔程序设计 (9)第5章存储器系统 (11)第6章输⼊输出与中断 (13)第7章可编程接⼝芯⽚ (15)第2章微机运算基础2.1 将下列⼗进制数分别转化为⼆进制数、⼗六进制数、压缩BCD 码。

(1)147 (2)40952.2 将下列⼆进制数分别转换为⼗六进制数。

(1)1010 1011B (2)10 1111 0011B (3)1000 0000B (4)1010 0000 0001B2.3设机器字长为8位,将下列有符号数表⽰成机器数,并求其反码和补码。

(1)X = + 63 (2)Y = - 63 (3)Z = + 117(4)W = - 1182.4. 设机器字长为16位,将下列有符号数表⽰成机器数,并求其反码和补码。

(1)X = + 65 (2)Y = - 65 (3)Z = + 127(4)W = - 1282.5. 已知有符号数的补码表⽰形式如下,分别求出数的原码与真值。

(1)[X]补 = 78H ,机器字长8位(2)[Y]补 = 87H ,机器字长8位(3)[Z]补 = 0FFFH ,机器字长12位(4)[W]补 = 800H ,机器字长12位2.6.设机器字长为8位,⽤补码计算下列运算,并采⽤双进位法判断运算结果是否溢出。

(1)(-89)+ 67 (2)89-(-67)(3)(- 89)- 67 (4)(- 89)-(- 67)2.7.设机器字长为8位,⽐较下列两数X 和Y 的⼤⼩。

(1)X = 87H ,Y = 78H (X 和Y 为⽆符号数)(2)X = 87H ,Y = 78H (X 和Y 为有符号数)2.8. 如下图所⽰的译码电路,输⼊A0~A5通常和CPU 地址线连接,分析输出O 为低电平时,A0~A5的电平状态应该是什么?按照⼆进制数的格式(A5A4A3A2A1A0)写出。

微机原理作业2--答案

微机原理作业2--答案

作业二的答案1.8086存储器为什么要采用分段结构,每段的容量有什么要求,为什么?答:8086CPU拥有20位的地址总线,可访问的最大存储容量为1MB,其物理地址的范围为:00000H~FFFFFH;而8086CPU的内部的寄存器只有16位,能访问最大存储空间为64KB,物理地址范围为:0000H~FFFFH。

采用分段管理的办法可扩大对存储器的寻址范围,以适应超过16位的存储器物理结构。

于是将1MB存储器空间分成许多逻辑段,并规定逻辑段不超过64KB,只能从低4位为0000B的地址开始。

这样每个存储单元就可以用“段地址:偏移地址”的逻辑地址来表示其准确的物理位置,而且段地址和偏移地址就都可以用16位寄存器表达。

2.8086系统中,段寄存器CS=1200H,指令指针寄存器IP=FF00H,试写出指令的逻辑地址和物理地址,指向这物理地址的CS值和IP值是唯一的吗?答:逻辑地址1200H:FF00H物理地址1200H×16 + FF00H =12000H + FF00H =21F00H指向这个物理地址的CS值和IP值不是唯一的。

例如:CS=2100H,IP=0F00H。

3.8086的1MB分成两个512KB存储体的好处是什么?8088的1MB为什么不分?答:8086的1MB分成两个512KB存储体的好处就是CPU既可以单独对其中的一个存储体读/写8位数据,也可以对两个存储体中相邻的单元读/写16位数据。

也就是说8086CPU 既能进行字节操作也能进行字操作。

8088CPU的1MB存储器没有必要划分成两个512KB的存储体,是因为它的数据总线宽度为8位,在一个总线周期里不能进行16位的数据读写。

4.若当前SS=3500H,SP=0800H,请写出堆栈段在存储器中的物理地址范围。

若此时入栈10个字节,SP的内容是什么?若再出栈6个字节,SP为什么值?答:堆栈在存储器里的起始物理地址为3500H×10H+0000H=35000H,堆栈段的容量为64KB,所以栈底的物理地址为3500H×10H + FFFFH=35000H + FFFFH = 44FFFH,所以堆栈段在存储器里的物理地址范围为35000H~44FFFH。

微机原理作业参考答案(1,2,3章)

微机原理作业参考答案(1,2,3章)

微机原理作业参考答案第一次:P16 3,4,5,71.3 冯。

诺依曼计算机的结构特点是什么?答:参考P51.4 典型微机有哪三大总线?它们传送的是什么信息?答:有数据总线(DB,双向,传送数据),地址总线(AB,单向,传送CPU要访问的内存单元地址或IO端口的端口号),控制总线(CB,双向,传送总线控制信息)。

1.5 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?三者有什么区别和联系?答:微型计算机系统可分为三个层次,即:微处理器,微型计算机和微型计算机系统。

微处理器即CPU,是一片主要包含运算器、控制器、寄存器组和总线访问逻辑电路的芯片;微型计算机是以微处理器为核心,配上存储器(ROM、RAM)、I/O接口电路及系统总线等所组成的计算机;以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。

1.7 试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?答:内存单元、内存单元的地址、内存单元的内容---这三个名词可类比为:房子、房子的地址、房子里住的人。

也就是说,内存单元是物理器件,8086CPU有二十根地址线,最多可访问1M(2^20)个内存单元。

内存单元按顺序被分配一个地址---第一个单元:0,第二个单元:1...最后一个单元:FFFFFH(或1048575D)。

每个内存单元可存储一个字节的数据。

图略,参考P7。

第二次作业:P54 1,2,3,6,7,9,11,132.1 8086从功能上分为哪两个部件?每个工作部件的功能、组成和特点分别是什么?答:分为执行部件(EU)和总线功能部件(BIU)两部分。

EU功能:执行算术/逻辑命令。

BIU功能:访问内存或I/O端口,从中读/写数据和读指令。

EU组成:ALU、EU控制器、寄存器组(通用、指针变址、标志)BIU组成:指令队列、总线控制逻辑、物理地址生成逻辑(地址加法器、段寄存器、IP)EU、BIU的特点和更详细的功能说明:参考P19。

微机原理作业三及答案

微机原理作业三及答案

一、选择题分析1.下列描述正确的是()A.汇编语言仅由指令性语句构成B.汇编语言包括指令性语句和伪指令语句C.指令性语句和伪指令性语句的格式是均匀全相同的D.指令性语句和伪指令性语句需经汇编程序翻译成机器代码后才能执行题眼分析本题为1998年9月第28题。

语句,一个汇编语言源程序是由若干条语句构成。

汇编源程序中的语句可分为指令性语句和伪指令性语句两类。

指令性语句,与机器指令相对应,包含一个指令助记符和足够的寻址信息。

可由汇编程序翻译成机器指令代码。

其一般格式为:[标号:][前缀]指令助记符[操作数][:注释]伪指令语句,指示、引导汇编程序在汇编时进行一些操作。

汇编程序不能将其翻译成机器代码。

其一般格式为:[名字]伪操作命令[操作数][:注释]答案 B2.假定(AL)=85H,(CH)=29H,依次执行SUB AL,CH指令和DAS指令后,AL 的值是()A.AEH B.56HC.5CH D.14H题眼分析首先执行SUB指令后,(AL)=5CH,此时CF=0,由于低4位大于9,需要进行调整,执行DAS指令后,AL低4位减6,并且置AF=1,高4位值小于9且CF=0,保持不变,即得(AL)=56H。

答案 B3.串操作指令中,有REP前缀的串操作指令结束的条件是()A.ZF=1 B.ZF=0C.CX>1 D.CX=0题眼分析本题为1999年9月第7题。

8086/8088中有以下3种形式的重复前缀格式:①REP ;(CX)≠0,重复执行②REPE/REPZ ;(CX)≠0且ZF=1,重复执行③REPNE/REPNZ ;(CX)≠0且ZF=0,重复执行答案 D4.若定义DA T DW‘12’,则(DA T)和(DA T+1)两个相连的内存中存放的数据是()A.32H,31H B.31H,32HC.00H,0CH D.00H,12H题眼分析本题为1999年9月第5题。

‘12’表示字符‘1’和‘2’,其相应的ASCII 码为31H和32H。

8086微机原理作业

8086微机原理作业

8086微机原理作业作业要求:1. 我把这学期所有作业都发给大家,大家只要完成每周老师讲到的地方即可。

作业不是按次数做,只要是讲过的都要写。

2. 每周一上午精密仪器课前将作业交至我这边,下午微机课我交给老师。

3. 要求准备两本作业本,老师要求必须是本子,不能交纸片。

第一次作业:2.1 8080/8086CPU指令队列的作用是什么?,为什么指令队列可以提高微处理器的执行速度?2.2 在存储器中存放的数据如题图2.1所示。

试读出75422H和75424H字节单元的内容是什么?读出75422H和75424H字单元的内容是什么?2.3 段地址和偏移地址为1000H:117AH的存储单元的物理地址是什么?而1109H:00EAH或1025H:052AH的存储单元的物理地址又是什么?这说明了什么问题?2.4 在存储器分段结构中,每个段区最大可占用多少地址范围,为什么?如果在8086的机器中,若段间不允许重叠,那么最多可分多少个段区?2.5 如果从存储器的2000H地址开始分配段区,要求数据段占用lKB范围,堆栈段占用512B范围,代码段占用8KB范围。

按数据段、堆栈段和代码段的顺序连续分段,试画出存储器分段地址分配示意图,写明各段寄存器的内容? 2.6 简述8086 CPU总线读周期中的工作时序,并说明READY引脚作用?第二次作业:1、指出下列指令的源和目标操作数的寻址方式:①MOV ARRAY,BX②ADC CX,ALPHA[BX][SI]③AND GAMMA[DI],11011000B④INC BL⑤TEST ES:[SI],DX⑥SBB SI,[BP]2、现有DS;2000H,BX=0100H,SI=0002H,(20100H);12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,试说明下列各条指令执行完后Ax寄存器的内容。

微机原理课后作业答案(第五版)

微机原理课后作业答案(第五版)

6、[+42]原=00101010B=[+42]反=[+42]补[-42]原=10101010B[-42]反=11010101B[-42]补=11010110B[+85]原=01010101B=[+85]反=[+85]补[-85]原=11010101B[-85]反=10101010B[-85]补=10101011B10、微型计算机基本结构框图微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。

微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。

存储器用来存放数据和指令,其内容以二进制表示。

每个单元可存8位(1字节)二进制信息。

输入——将原始数据和程序传送到计算机。

输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。

接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。

总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。

13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。

8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据;具有20根地址总线,能直接寻址220=1MB的内存空间;用低16位地址线访问I/O端口,可访问216=64K个I/O端口。

另外,8088只有8根数据总线2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU)BIU负责CPU与内存和I/O端口间的数据交换:BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。

微机原理作业PPT课件

微机原理作业PPT课件

4. Intel 8086/8088CPU有哪两种工作模式?工作在不同模式时, 在引脚上有哪些区别? 答:(1)最小模式和最大模式。
(2)工作在不同模式时,在引脚上区别: ① 当8086/8088的第33引脚MN/MX=0,最大模式; MN/MX=1,
最小模式。
② 在于控制信号的产生不同。即:最小模式下的控制信号是 由CPU直接产生的;而最大模式,控制信号由总线控制器8288产 生。引脚上,第24~第31(8088还有第34)引脚的功能在两种模 式下是不同的。
PC1置0:0 000 001 0B(02H)
LEA MOV MOV MOV OUT MOV OUT
SI,DATA CX,200 DX,0DFFFH ;置方式控制字 AL,88H DX,AL AL,03H ;STB=1 DX,AL
第11页/共19页
LPST: MOV DX,0DFFEH ;读C口状态
OUT DX,AL
INC SI
LOOP LPST
DEC CX
第12页/共19页
2. 8255A在应用系统中的连接图如下:设8255A的PA口接8只发光 二极管,PC口的PC2接开关,PA口输出,PC2输入,都工作在方 式0。要求编程实现以下功能:当开关拨至ON时,8只发光二极管 中的偶数位(即L0、L2、L4、L6)亮,其余不亮;当开关拨至 OFF时,8只发光二极管中的奇数位(即L1、L3、L5、L7)亮,其 余不亮。假设PA口、PB口、PC口和控制字寄存器的端口地址分别 为100H~103H。
沿采样READY信号,以确定是否插入Tw; T4下降(前)沿读数据;同时撤消有关控制信号。
第7页/共19页
13. 什么是实际地址?什么是逻辑地址?有一个由20个字 组成的数据区,其起始地址为610AH:1CE7H,试写出该数据 区首末单元的实际地址PA。 答: (1)实际地址(也称物理地址)是指CPU和存储器进行数据交 换时所用的地址,对8086/8088来说,是用20位二进制或5位十六进 制表示的地址码。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理作业

第一章 1.135.625 3.376.125

1.1A 把下列十进制数转换为二进制,十六进制和 BCD 数;

1.1B 要求同上,要转换的十进制数如下;

1.67.375 2.936.5

1.2A 268.875 4.218.0625 写下列十进制数的原码,反码和补码表示(用 8 位二进制);

1.+65 2.-115

1.2B 3.-65 要求同题 1.2A 数据如下; 4.-115

1.+33 2.+127 1.3A 3.-33 4.-127 用 16 位二进制,写出下列十进制数的原码,反码,和补码表示;

1.+62 2.-62 3.+253 4.-253

1.4A 5.+615 6.-615 写出下列用补码表示的二进制数的真直;

1.01101110 2.01011001

1.4B 3.10001101 要求同题 1.4A 数据如下; 4.11111001

1.01110001 3.10000101 2.00011011 4.11111110

2.548.75 4.254.25 汇编语言程序设计 题 3.1A

在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:

题3.2,如在自1000H单元开始有一个 100个数的数据块。要把它传送到自 储区中去,用以下三种方法,分别编制程序; 1 ;不用数据块转送指令; 2;用单个转送的数据块转送指令; 3;用数据块成组转送指令; 题3.3A 利用变址寄存器遍一个程序,把自 1000H单元内开始的100个数转送到自1070H开 始的存储区中去, 题3.3B要求用3.3A,源地址为2050H,目的地址为2000H,数据块长度为50, 题3.4 编一个程序,把自 1000H单元开始的100个数转送至1050H开始的存储区中(注意 数据区有重叠)。 题3.5A 在自0500H单元开始,存有100个数。要求把它传送到 1000H开始的存储区中,但 在传送过程中要检查数的值,遇到第一个零就停止传送。 题3.5B 条件同题3.5A,但在传送过程中检查数的值,零不传送,不是零则传送至目的区。

第三章 MOV AL,10H

MOV byte PTR [1000],0FFH MOV CX,1000H

MOV BX,2000H MOV [BX],AL XCHG CX,BX

MOV DH,[BX] MOV DL,01H XCHG CX,BX

MOV [BX],DL HLT

题 3.1B

要求同题3.1A程序如下; MOV AL , 50H

MOV BP, 1000H MOV BX,2000H

MOV [BP],AL

MOV DH,20H

MOV [BX],DH MOV DL,01H

MOV DL,[BX] MOV CX,3000H

BL BH CL CH DL DH AL

2000H开始的存 HLT

1000H 2000H 题3.6 把在题3.5A中指定的数据块中的正数,传送到自 1000H开始的存储区。 题3.7 把在题3.5A

中指定的数据块中的正数, 传送到自1000H开始的存储区;而把其中的 负数,传送到自1100H开始的存储区。且分别统计正数和负数的个数, 分别存入1200H和1201H 单元中。

题3.8A 自0500H单元开始,有10个无符号数,编一个程序求10个数的和(用8个位数运 算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。

题3.8B自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运 算指令),把和放在 0264H和0265H单元(和用两字节表示),且高位在0265H单元。 题3.9 题同3.8,只是在累加时用 16位运算指令编程序。 题3.10A 若在0500H单元中有一个数 x: 1•利用加法指令把它乘 2,且送回原存储单元(假定 x*2后仍为一个字节); 2. x*4; 3. x*10 (假定 x*10 W 255)。 题 3.10B

题意与要求同题 3.10A,只是x*2后可能为两个字节。 题 3.11

若在存储器中有两个数 a和b (它们所在地址用符号表示,下同),编一个程序实现 a*10+b (a*10以及“和”用两字节表示)。 题 3.12

若在存储中有数 a, b, c, d (它们连续存放),编一个程序实现 ((a*10+b ) *10+c) *10+d (和 W 65535)

题 3.13A

在0100H单元和010AH单元开始,存放两个各为10个字节的BCD数(地址最低处放的是最 低字节),求它们的和,且把和放在 0114H开始的存储单元中。 题 3.13B

在0200H单元和020AH单元开始,存放两个各为10个字节的二进制数 (地址最低处放的是 最低字节),求它们的和,且把和放在 0214H开始的存储单元中。 题 3.14

在0200H单元开始放有效 A (低位在前) NA=95 43 78 62 31 04 56 28 91 01 在020单元开始放有数B

NB=78 96 42 38 15 40 78 21 84 50 求两数之差,且把差值送入自 0200H开始的存储区。 题 3.15A

在0500H单元有一个数x,,把此数的前四位变 0,后四位维持不变,送回同一单元。 题 3.15B

条件同题3.15A,要求最高位不变,后 7位都为0。 题 3.16A

若在0500H单元有一个x,把此数的前四位变“ 1”,后四位维持不变,送回同一单元。 题 3.16B

把x的最低位变“ 1 ”,高7位不变,送至0600H单元。 题 3.17A

若在0500H有一个数X,把此数的前四位变反,后四位维持不变,送回同一个单元 题 3.17B

把X最高位去反,后 7位不变,送至0600H单元。 题 3.18

从0200H单元读入一个数,检查它的符号,且在 0300H单元为它建立一个符号标志(正为 00,负为 FF)。 题 3.19A

若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数都取补后 送回。 题 3.19B

把题3.19A中的负数取补后送至 0300H单元开始的存储区。 题 3.20A

若在0200H和0201H单元中有一个双字节数,编一个程序对它们求补。 题3.20B 在BX寄存器对中有一个双字节数,对它求补。 题 3.21

若在0200H — 0203H单元中有一个四字节数,编一个程序对它求补。 题 3.22A

若在0200H — 0201H单元中有两个正数,编一个程序比较它们的大小,把大的数放在 0201H

单元中。 题 3.22B

条件同上,把较小的数放在 0201H单元中。 题 3.23

条件与要求同题3.22A,只是两个数为无符号数。 题 3.24

条件与要求同题 3.22A,相比较的是两个带符号数。 题 3.25A

若自0500H单元开始有1000个带符号数,把它们的最小值找出来,放在 1000H单元中。 题 3.25B

若自1000H单元开始有1000个无符号数,把它们的最大值找出来,放在 2000H单元。 题 3.26

若在0200H单兀中有一个数 X,用移为方法实现 1. X * 2 且送回原单元。 2. X * 4 (X *< 255>

题 3.27A

编一个程序,使寄存器对 BX中的数整个左移一位。 题 3.27B

编一个程序,使寄存器对 BP中的数整个右移一位(最高位维持不变) 。 题 3.28A

在0200H单兀中有一个数 X,禾U用移位和相加的办法,使 X*10 (假定X*10 < 255)后送回 原单元。

题 3.28B

条件和要求同题 3.28A,但X*10可大于255。 题 3.29

在0200H和0201H单元中存有一个两字节数 (高位在后),编一个程序把它们整个右移 一位。 题 3.30

在自BUFFER 单元开始,放有一个数据快, BUFFER 和BUFFER+1 单元中放的是数据的 长度,自BUFFER+2开始存放的是 ASCII码表示的十进制数码, 把它们转换为 BCD码,且把 两个想邻单元的数码并成一个单元(地址高的放在 高 四位)。放到自BUFFER+2开始的存

相关文档
最新文档