更新again:微机原理与汇编语言-练习题
本篇博客整理汇编语言课上及课后练习题,如有错误欢迎指正。
目录
第一周作业
某一次课上练习
第7周练习题
设计题
第8周练习题
第七章作业
编辑
存储器寻址练习题
例子1:编辑
例子2:
编辑
例子3:
例子4:
8253芯片题
例子1:
例子2
第一周作业
填空题:
- 中央处理单元CPU由运算器、控制器、和寄存器三部分组成。
- 在计算机中,通常运算器和控制器是核心部件,合称为中央处理单元CPU。
- 某CPU的字长为4,假设该CPU执行一次加法运算需要1ns,执行两个double 类型的数(假设double类型的变量占8个字节)相加时需要 16ns。
CPU的字长为4,代表字长为4位,需要1ns;8个字节是64位,64/4=16ns。
- 如果某CPU处理器的频率为100Hz,则该CPU做一次运算需要的时间为____0.01 ___秒。
频率是周期的倒数 1/100s
- CPU芯片可以与它外部的两类芯片进行交互信息,这两类芯片分别是内存储器芯片、I/O接口芯片;这些芯片之间通过总线互相连接。
- 一条指令的执行包括三个步骤:取指、译码、执行。其中“取指”指的是把指令从主存中取到CPU中。
- 8086CPU内部的AX是一个16位寄存器,可以进一步将其分为高8位寄存
器AH和低8位寄存器AL。
- 十进制数65对应的8位二进制数是0100 0001B,十进制数19对应的8位二进制数是00010011B,十进制数49对应的二进制数是00110001B。
- 8位二进制数0010 0011B对应的十进制数是35,8位二进制数0101 0001B对应的十进制数是81D,8位二进制数1000 0101B对应的十进制数是133 D。
- 十进制数274D对应的十六进制数为___112H___;十六进制数3CH对应的十进制数为__60D_ ___。
某一次课上练习
由于没有电子版只有当时手拍图片
答案: D
解析:计算公式为(5*2+2)*10+3=123 DUP就是重复几次
答案:C
解析:16=2^4 1M=2^20 故16M=2^24B
答案:25000H 916H 0A3800H (如果16进制中遇到字母开头需要加上前导0)
计算方法通通为段基址左移一个然后加上偏移量
答案:CF=1 OF=0 ZF=0 SF=0
计算过程:1101 1000 1000 0100
0100 1001 1000 1000
———————————
10010 0010 0000 1100 (220CH)
CF是进位标志 0-无进位 1-有进位(仅对无符号整数)
OF是溢出标志 1-有溢出 0-无溢出(判断方法1:都看成带符号的数 eg;一个负数加一个正数不可能溢出 判断方法2:观察最高位和次高位的进位是否都有进位 如果是则有溢出)
SF符号标志 1-最高位为1 0-最高位为0(注意SF是最高位不是进位 ;两个位要区分开)
ZF零标志 1-结果为0 0-其他值
答案:存储器寻址 寄存器寻址 立即数寻址
判断方法很简单 这里不再赘述
第7周练习题
- 某微机具有256M字节的内存空间,其CPU的地址总线应有( D )条。
A、20 B、22 C、24 D、28
解析:1M=2^20 256=2^8 =>256M=2^28 B
考察知识点:CPU地址总线根数与内存空间的关系
地址总线含有x根,那么CPU可以访问2^x个内存单元
- 指令mov al,[3]中,源操作数的寻址方式是(A )。
A、存储器寻址 B、寄存器寻址 C、立即数寻址 D、接口寻址
考察数据三种寻址方式:区分 立即数寻址 eg:mov ax,332h、寄存器寻址 eg:mov ax,bx、存储器寻址 eg:mov ax,[5] (标志:带有方括号)
- 若要检查AX寄存器中的D12位是否为1,但不改变其中的值,应该用( A )指令。
A、TEST AX,1000H B、OR AX,1100H
C、XOR AX,1000H D、AND AX,1000H
- 在利用总线对存储器进行访问时,地址信号有效和数据信号有效的时间关系应该是( A )。
A、地址信号较先有效 B、二者同时有效
C、数据信号较先有效 D、同时高电平
先寻地址再传输数据
- 当 8086 CPU 采样到 READY=0 ,则 CPU 将 ( D )。
A、执行停机指令 B、重新发送地址码
C、执行空操作指令 D、插入等待周期
如果一个总线周期4T时间完成不了一个操作,就会将READY置0 增加一个Tw时间
- 总线信号分成三组,分别是数据总线、地址总线 和控制总线。
- CMP CX,1A2CH指令之后是JZ指令,发生转移的条件是CX= 1A2CH ,此时ZF=1 。
零标志位ZF=1,说明运算结果为0,即CX与1A2CH相等
- 译码方式分为全译码和部分译码。
- 8086 CPU中用于选择CPU工作模式的引脚是 MN/MX* 。(*代表MX取反)
- 8086 CPU中用于选择访问对象的引脚是 M/IO* 。(*代表IO取反)
- 存储系统中的局部性原理可以从空间局部性和时间局部性 两个方面来理解。
- 8086 CPU的外部中断引脚有 NMI/ 和INTR两个。
- 8086 CPU执行指令“MOV [SI], DX”时,在其引脚上将产生存储器写总线操作;CPU预取指令时,在其引脚上将产生_存储器读 总线操作
- 占用总线进行数据传输,一般需要经过总线请求和仲裁、__寻址_ 、数据传送和结束4个阶段。
- 8086 CPU无等待的总线周期由_4_个T状态组成。
- 假设当前CS=36A8H,IP=007AH,DS=31A4H。假设IP当前所指向的指令为mov AX,[5],请回答:
- CPU取的下条指令的物理地址是多少?
指令段的物理地址=CS+IP(即段基址+偏移量)CS先左移一个位再与IP相加
36A80+007A=36AFAH
2.取到该指令后,执行该指令时,需要从哪个内存单元开始取两个字节送到AX寄存器中?
内存数据段物理地址=DS+数据偏移量
31A40+5=31A45H
设计题
设计一个存储器接口电路,其中部分电路给出如下图所示,要求该存储系统的地址范围为0DC000H~0DCFFFH,可增加的器件可以是基本门电路(与门、或门、非门、与非门、或非门),完成74LS138同CS的连接,画出虚线框中门电路。
摆出地址范围对应位置的数字
DC000H
1101 1100 0000 0000 0000
DCFFFH
1101 1100 1111 1111 1111
故A14 A13 A12=100
由上到下CBA=001 故选中Y1 CS连接Y1
门电路 A19 A18 A17 A16=1101所以需要A17连接一个非门转换为1 最后四个输出为1再连接一个总的非门 因为是低电平有效
像这样画
第8周练习题
- 已知SP=2020H,执行PUSH AX后,SP寄存器的值是( 201EH )。(此题没有正确选项)
A、2018H B、201DH C、2020H D、2022H
解析:PUSH操作 SP-2; POP操作 SP+2
2020H-2=201EH
- 8086 CPU用(A )信号下降沿在T1结束时将地址信息锁存在地址锁存器中。
A、ALE B、READY C、BHE D、M//
ALE——地址锁存允许,是一个三态、输出、高电平有效的信号。
- JMP指令或带条件转移指令构成的段内转移中,转移的本质是改变( C )寄存器的值。
A、AX B、CS C、IP D、Flag
段内转移改变IP 段间转移改变CS
- 标志寄存器中控制串传送方向的标志位是( D )。
A、CF B、SF C、IF D、DF
DF是一种控制标志,控制字符串复制的方向
- 总线信号分成三组,分别是数据总线、_地址总线__和控制总线。
- 8086 CPU预取指令时,在其引脚上将产生存储器读总线操作;当其执行指令MOV [SI], DX 时,在其引脚上将产生__存储器写__总线操作。(由寄存器写入存储器)
- 占用总线进行数据传输,一般需要经过总线请求和仲裁、__寻址、数据传送和结束4个阶段。
- 堆栈操作时,8086 CPU会自动选择 SS值作为段基值,再加上由SP提供的偏移量形成物理地址。(堆栈段寻址为SS+SP)
- 8086 CPU无等待的总线周期由__4__个T状态组成。
- 如果某处理器的时钟频率为200MHz,则每个时钟周期T的持续时间为_1/200M___。
- 逻辑地址0A100H :280EH对应的物理地址是__0A380EH__。
- 一条指令的执行包括三个步骤:取指、_译码__、执行。
- 某CPU数据线16根,地址线20根,其16-13号引脚分别对应多路复用的AD3-AD0,当前CS=36A8H,IP=007AH,DS=31A4H。假设IP当前所指向的指令为mov DS:[5],AX,当前AX中的值为5A7BH;假设该CPU所连接的总线中的数据总线的宽度是16。回答下列问题:
(1)、在取指对应的总线周期的T1中,16-13号引脚(即A3-A0)的值分别是多少?
取指令对应指令段地址为CS+IP,36A80+0074=36AFAH 由于16-13号引脚正好对应最低四位A3-A0 地址最后一个数为A 改为二进制:1010即分别为所对应A3-A0值
(2)、在取指对应的总线周期中,M/引脚=?引脚=? 引脚=?
M/IO* 为存储器或I/O操作信号 其中I/O信号低电平有效
取值操作是由内存读入CPU中 故M高电平有效,M/IO*=1
RD*为读信号 且低电平有效 故RD*=0
WR*为写信号 且低电平有效 故WR*=1
(3)、在执行指令对应的总线周期的T1中,16-13号引脚(即A3-A0)的值分别是多少?
执行指令对应数据段地址为DS+数据偏移量[5] ,31A40+5=31A45H ,16-13号引脚对应最低位5 改为二进制:0101 即为A3-A0对应的值
(4)、在执行指令对应的总线周期的T2-T4中,16-13号引脚(即D3-D0)的值分别是多少?
传送数据时,直接传数据值5A7BH,16-13号引脚传送最低位B,改为二进制为:1011,对应D3-D0
- 现有一种存储芯片容量为512×8b,若要用它组成4KB的存储容量,需要多少片这样的存储芯片?每块芯片需要多少根寻址线?而4KB存储系统最少需要多少根寻址线,其中几根用作片选,几根用作片内寻址? (要列出计算公式)
4x1024x8/512x8=8 8片存储芯片
512=2^9 9根寻址线
4K=2^12 12根寻址线 3个片选 9个片内寻址
第七章作业
答案:(一)存储器读 I/O接口写
(二)dx (因为dx存放有端口号可以送到地址总线上)
(三)al (al寄存器中存放有数据,故将al的内容送到数据总线上)
(四)I/O接口芯片
(五)数据缓冲 信号变换
(六)独立编址 统一编址
(七)2^20=1M (8086CPU含有20根地址线)
(八)2^16=64K(8086CPU采用独立编址方式,只使用最低16个地址信号)
(二)
MOV SI,OFFSET BUFFER1
MOV CX,0
L0:
MOV DX,621H
AGAIN:
IN AL,DX
AND AL,0000 0100B
JZ AGAINMOV DX,620H
in al,dx
CMP AL,'a'
JB L1
CMP AL,'z'
JA L1
SUB AL,32 ;是a~z之间的减32L1:
MOV [SI],al
ADD SI,1
ADD CX,1
CMP CX,1000
JE OVER
JMP L0OVER:
存储器寻址练习题
例子1:
解答:(1)2KB=2x1024x8b 故2x1024x8)/(1024x8)=2片
(2)1024=2^10 故需要10根地址线
(3)2K=2^11 故需要11根地址线 其中1个片选 10个片内寻址
例子2:
解答:(1)(2x1024x8)/(1024x4)=4片
(2)1024=2^10 故需要10根地址线
(3)2K=2^11 故需要11根地址线寻址 其中1根做片选(每2片并一块看成1组),10根片内寻址
例子3:
解答:红箭头指示的地方 代表CS片选Y0低电平有效即A18 A17对应 0 0
A19 A18 A17 A 16 A15.....A0
0 0 0 0 0000 0000 0000 0000 最小范围
0 0 0 1 1111 1111 1111 1111 最大范围
故红箭头所指范围为:00000H——1FFFFH
绿箭头同理 只不过A18 A17片选Y3有效 对应1 1 剩下的位摆出来地址范围(最小是0 最大是1)即可
例子4:
Y0对应的片选信号有效 A11 A10=0 0固定下来两位
摆出来地址范围:
A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1
即000H——3FFH
另外再分析一下这道题:1Kx4的芯片用了八片 组成了 4KB的存储系统
其中 12根用作地址线 (4K=2^12) 2个片选(用来选八组芯片) 10个片内寻址
8253芯片题
例子1:
计时器8253-5通道0按方式3(方波发生器)工作,时钟CLK0的频率为1MHz,要求输出方波的频率为2000Hz,此时写入的计数初值应为多少?输出方波的“1”和“0”各占多少时间。假设通道0采用二进制方式计数,写出初始化程序段。8253-5的端口为400H,401H,402H,403H。
解答:(1)初值计算方法:频率/频率 或者 周期/周期
1M=10^6 10^6/2000=500
(2)250x1/(10^6)=250x10^-6 s
(3)题目改成二进制 不考十进制
mov dx,403h ;控制端口
mov al,00111110B ;写入控制字
out dx,al
mov ax,500 ;写入初值
mov dx,400h ;计数器0
out dx,al
mov al,ah
out dx,al
例子2
级联方式示意图:
解答:计数器0的初值计算为 1000/1=1000
计数器1的初值为 (4+1)/(1)=5
Mov dx,803h
Mov al,00110100b
Out dx,al
Mov ax,1000
Mov dx,800h;0号计数器
Out dx,al
Mov al,ah
Out dx,al
Mov dx,803h
Mov al,01010100b
Out dx,al
Mov al,5
Mov dx,801h;1号计数器
Out dx,al
更新again:微机原理与汇编语言-练习题相关推荐
- 微型计算机汇编语言与接口技术答案,32位微机原理、汇编语言及接口技术教程课后习题答案.doc...
32位微机原理.汇编语言及接口技术教程课后习题答案.doc 16/32位微机原理.汇编语言及接口技术教程部分习题参考解答第1章 微型计算机系统概述习题1.2什么是通用微处理器.单片机(微控制器).DS ...
- 微机原理之汇编语言程序设计
微机原理之汇编语言程序设计 还没有时间弄图床,图片都放在本地显示不了-先将就着,有空再补上 1 基础知识 1.1 总线 连接CPU和其他芯片的导线 地址总线 数据总线 控制总线 内部总线实现CPU内部 ...
- 微型计算机原理王钰视频,原创:微机原理与汇编语言课程配套实验讲义_全套管理制度1喜欢就下吧...
<[定稿]<微机原理与汇编语言>课程配套实验讲义_全套管理制度.doc>由会员分享,可免费在线阅读全文,更多与<微机原理与汇编语言课程配套实验讲义_全套管理制度(1)(喜 ...
- 微机原理8086汇编语言上机——Masm环境搭建与常用汇编调试指令
学校的微机原理与接口技术课,最近开始 考古 上机实验了. 1.弯路 为什么不用宇宙最强大的IDEL--Visual Studio呢? 在我的Visual Studio专栏中有一篇文章介绍Visual ...
- <微机原理>[汇编语言]-[实验七]数码管动态显示实验
系列文章目录 实验一 软件开发环境和简单程序设计 实验二 I_O输入输出实验 实验三 键盘扫描显示实验 实验四 中断实验 实验五 定时器实验 实验六 串行口实验 实验七 数码管动态显示实验 实验八 矩 ...
- 微型计算机标致寄存器实验报告,xin微机原理与汇编语言程序设计
或(2)的规定,可设一个或多个断点地址.DEBUG程序中允许最多可设置10个断点,这些断点地址的次序是任意的.所谓断点是指程序执行到这个地址时立即停止,并显示CPU内部所有寄存器的内容以及全部标志位的 ...
- <微机原理>[汇编语言]-[实验五] 定时器实验
实验五 定时器实验 一.实验目的 学习定时器的工作原理及使用方法. 学习定时器的初始化程序.应用程序的编写和调试. 二.实验仪器 Keil5 普中A2开发板 stc-isp 三.实验内容 数码管间隔一 ...
- <微机原理>[汇编语言]-[实验八]矩阵键盘应用实验
实验八 矩阵键盘应用实验 实验八 矩阵键盘应用实验.doc 一.实验目的 掌握矩阵式键盘识别技术 进一步掌握数码管显示原理 二.实验主要仪器和环境 Keil5 普中A2开发板 stc-isp 三.实验 ...
- 微型计算机汇编语言与接口技术课后答案,微机原理、汇编语言及接口技术教程课后习题答案...
第8章 定时计数控制接口 [习题8.2] 8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么? [解答] CLK时钟输入信号--在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器 ...
最新文章
- Android的内存优化
- Windows下编辑的(脚本)文本copy到linux下带个^M结尾
- Matlab 2012安装图解
- 小米redmi_安兔兔公布12月安卓手机性能榜:小米、Redmi领衔
- 诗歌rails 之rails g
- python findcontours_基于Python的opencv学习练习(十二) findContours()轮廓与绘制drawContours()...
- mysql5.1免安装版配置_mysql5.1免安装版配置
- Python中真的是能使用元组的地方尽量不使用列表吗?
- 将房子卖了五百万,存在银行,靠利息能过日子吗?
- [20170604]12c Top Frequency histogram补充.txt
- winapi编程获取文件版本信息的代码_.Net调用WinAPI轻松实现POS小票并口打印
- VB.NET利用WMI获取操作系统所在硬盘序列号
- Cisco Jabber 多个高危漏洞风险通告
- YOLOv5网络详解
- Racket读写JSON
- 学堂在线CPP笔记上(1-6章)
- nginx + tomcat 504 解决方案
- JVM -- JVM内存结构:程序计数器、虚拟机栈、本地方法栈、堆、方法区(二)
- SpringSecurity 403 forbidden
- ADL100(2)-Wuwei-检索式对话