概述
1.操作数寻址方式
(1)立即寻址
操作数直接包含在指令中的寻址方式称为立即寻址方式。
(2)寄存器寻址
操作数存放在CPU内部的某个8位、16位或32位的通用寄存器中。无需访问存储器,故执行速度快。
(3)存储器操作数寻址
直接寻址
操作数所在内存单元的有效地址EA直接出现在指令中。
寄存器间接寻址
操作数所在内存单元的有效地址由规定的寄存器指出。
寄存器相对寻址
操作数所在内存单元的有效地址为规定的基址寄存器或变址寄存器的内容与一个常量(即位移量)之和。
基址变址寻址方式
操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和。
相对基址变址寻址方式
操作数所在内存单元的有效地址是基址寄存器、变址寄存器 的内容与一个常量(即位移量)之和。
比例变址寻址方式
操作数的有效地址是变址寄存器的内容乘以比例因子再加上位移量之和。
基址比例变址寻址方式
操作数的有效地址是变址寄存器的内容乘以比例因子再加上基址寄存器的内容之和。
相对基址比例变址寻址方式
操作数的有效地址是变址寄存器的内容乘以比例因子,加上基址寄存器的内容,再加上位移量之和。
2.转移地址寻址方式
(1)段内寻址
需要改变IP的内容
。
段内直接转移、段内间接转移。
(2)段间寻址
需要改变IP和CS的内容
。
段间直接转移、段间间接转移。
3. CPU完成加法运算时,加数和被加数存放在哪里,运算后结果又存放在哪里,运算 结果的特征放在哪里?
加数——暂存器TMP;被加数和结果——累加器ACC;特征——标志寄存器FR。
4.为什么要规定标准总线?各种总线中最基本的信息总线是哪些?
规定标准总线,主要是便于不同厂家生产的功能芯片、模块和整机可以被用户按自己需求组成各种计算机应用系统,并可以使各级产品(芯片、模块、设备)的兼容性、互换性和可维护性、可拓展性从根本上得到保证。
5.采用一种总线标准进行微机计算机的硬件结构设计具有什么优点?
为适应用户不断变化的要求,微机系统设计必须采用模块化设计,不同的模块组合形成一定的功能。模块之间的连接关系采用标准的总线结构可使不同功能的模块便于互连,兼容性好、生命周期长。模块采用标准化总线结构设计可使模块的生产供应规模化、多元化、价格低,有利于用户。
6.微处理器中采用流水线技术后,每条指令的执行时间是否缩短了?为什么?
没有缩短,因为流水线技术只是减少了CPU取指令所需的等待时间,从而来提高CPU的利用率,所以每条指令的执行时间不变。
7.何为高级语言?说明高级语言源程序在计算机中运行,一般要经过什么处理操作?
高级语言是相对汇编语言来说的,它比汇编语言可读性更好,编写更方便,可移植性更强,但效率低,运行速度慢。使用高级语言编写的应用程序需要有相应的语言处理程序将其翻译成机器语言才能执行源程序。
8.如何比较两个符号数的大小?
cmp ax, bx指令执行后,
sf=1且of=0,得到的结果为负数,而且没有溢出,说明实际的结果与得出的结果一致,则ax<bx;
sf=1且of=1,得到的结果为负数,而且有溢出,说明实际的结果与得出的结果不一致 则 ax>bx;
sf=0且of=1,得到的结果为非负数,而且有溢出,说明实际的结果与得出的结果不一致则ax<bx;
sf=0且of=0,得到的结果为非负数,而且没有溢出,说明实际的结果与得出的结果一致则ax>bx。
9.堆栈的存取原则
先进后出FILO;堆栈区中的每个数据叫做堆栈元素,将数据存入堆栈称为压栈,从堆栈中取出数据叫做弹栈,最后压入堆栈区的元素称为栈顶元素。由于堆栈区只有一个出入口,因此压栈和弹栈总是在栈顶进行,导致栈顶元素所在位置的地址会随着每一次压栈和弹栈操作而改变。
10.程序计数器PC的作用是什么?一般情况下,PC的内容如何变化?改变PC的内容意 味着什么?
PC用于存放下一条要执行的指令在存储器中存放的地址,通常称为PC指针。一般情况下,程序中的各条指令一般均顺序存放在存储器中,一个程序开始执行时,PC中保存的二进制信息为该程序第一条指令所在的地址。微处理器总是以当前的PC的值为指针,从所指定的存储单元中取指令。每从存储器中取一个字节的指令,PC指针的内容就自动加1,当从存储器中取完一条指令的所有字节进入执行指令时,PC中存放的信息便是下一条将要执行的指令的地址。改变PC的内容意味着把新的目标地址装入PC,可使微处理器转向新的目标地址开始执行程序。
11.微机从外部看由哪几部分组成?并列举各部分的主要部件。
从外部看由主机和外设组成。主机的核心内容在主机箱内,包括主板、CPU、内存、I/O适配器、电源、硬盘等。外设种类繁多,典型的有键盘、鼠标、显示屏、打印机、光盘驱动器、摄像头等。
12.80486有哪些寄存器,各有什么用途,实地址方式下哪些寄存器可以用来指示存储 器的偏移地址?
(基本寄存器)
通用寄存器(EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP):用于变量数据或地址的存储和算术逻辑运算。
指令指针寄存器EIP:用于保存下一条预取指令相对于代码段段基址的偏移量。
标志寄存器:用于存放程序执行过程和结果的各状态标志。
段寄存器(CS,DS,ES,FS,GS,SS):用于决定程序当前使用存储器的区域。
(系统级寄存器)
控制寄存器(4个):用于存放全局特性的机器状态,控制片内Cache,FPL和分段、分页单元的工作。
系统地址寄存器:存储保护模式下常用的数据基地址、界限和其他属性,以确保快速性。
(调试和测试寄存器)
使设置数据断点和ROM断点的功能更加先进,增强系统的可测性。
(浮点寄存器)
进行浮点运算的专用寄存器。
实地址方式下,BX,SI,DI,BP,SP,IP可用来指示存储器的偏移地址。
13.80486存储器为什么要分段,分段原则是什么?
8086/8088分段是为了解决在16位字长的机器里怎么提供20位地址的问题。程序员在编制程序时将存储器划分为段,每个段内地址空间是线性增长的。每段的大小可达64 KB,这样段内地址可以用16位表示。存储器分段的方法虽然给程序设计带来一定的麻烦,但这种方法可以扩大存储空间,而且对于程序的再定位也是很方便的。
存储器的分段不是唯一的,各段之间可以连续、分离、部分重叠或完全重叠。这取决于各个段寄存器的预置内容。一个具体的存储单元,可以属于一个逻辑段,也可以同属几个逻辑段。
14.什么是堆栈?堆栈主要应用于什么场合?
堆栈是个特殊的存储区,主要功能是暂时存放数据和地址。通常用来保护断点和现场。
15.伪指令的作用是什么?试指出汇编语句和伪操作语句的不同点。
伪指令的主要作用是为汇编程序和连接程序提供信息。
汇编语句是可执行语句,可以产生机器代码,功能由硬件完成;伪指令是不可执行语句,无对应的机器指令,汇编时不形成代码,仅为汇编和连接程序提供编译和连接信息,功能由软件完成。
最后
以上就是机智电话为你收集整理的微机原理复试面试(二)的全部内容,希望文章能够帮你解决微机原理复试面试(二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复