:指令系统
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:指令系统相关的知识,希望对你有一定的参考价值。
文章目录
一:指令概述、指令格式、扩展操作码
(1)选择题
- 答案【D】
指令是计算机硬件的语言系统
- 答案【A】
注意地址码字段给出的是操作数的地址
- 答案【A】
- 答案【D】
★★★
- 答案【C】
程序控制类指令主要有无条件转移、有条件转移、子程序调用、返回指令、循环指令等等。其中特别注意中断隐指令并不是指令系统中存在的指令,它是由硬件系统实现的
- 答案【C】
- 答案【C】
★★★
- 答案【B】
需要注意指令的地址个数与指令的长度没有必然的联系,即便是单地址指令也可能由于单地址的寻址方式的不同而导致指令长度不同
- 答案【B】
因为
- 答案【B】
16M=2
24
^24
24,如果按照1B=8位寻址,那么相当于就有2
24
^24
24个存储单元
现在CPU按照半字=16位寻址,那么就有2
23
^23
23存储单元
- 答案【B】
- 答案【C】
★★★
- 答案【D】
地址码为12位,那么二地址指令操作码长度为8位,已经定义了250条二地址指令,余留了 2 8 − 250 = 6 2^8-250=6 28−250=6条,所以还可以设计出6×2 12 ^12 12=24K条一地址指令
★★★
- 答案【A】
三地址有29条,所以其操作码至少5位。若以5位进行计算,那么它剩余32-29=3条会留给二地址扩展,此时二地址条数最大3×2 6 ^6 6=192。所以是23位,又因为是按照字节编址的,所以必须是8的倍数,因此是24位
(2)大题
二:指令寻址方式
(1)选择题
- 答案【A】
采用“偏移量”寻址的寻址方式有三种:基址、变址、相对
- 答案【B】
- 答案【A】
- 答案【D】
- 答案【B】
隐地址不给出明显的操作数地址,而在指令中隐含操作的地址
- 答案【B】
- 答案【A】
★★★
- 答案【B】
在变址寻址中,形式地址A是基地址,寄存器的内容X是偏移量。有效地址=(A+(X))
- 答案【B】
- 答案【B】
- 答案【D】
- 答案【D】
- 答案【A】
- 答案【C】
- 答案【C】
注意主存是按照字节编址的,指令由由两字节组成。所以该转移指令执行完毕之后,PC的值更新为2002H,所以最后选C
★★★
- 答案【C】
当 A A A- B B B>0,此时无进位和借位,同时 A A A- B B B也不等于0。所以只有当 C F CF CF和 Z F ZF ZF均为0时,才会有溢出生效
★★★
- 答案【A】
操作码为8位,所以两个操作数地址码共24位。机器中共有16个寄存器,所以对于源操作数,地址码字段应该4位;对于目的操作数,需要指定一个寄存器为基址寄存器,因此也需要4位。所以偏移量有24-4-4=16位,若用补码表示,范围为A
- 答案【C】
★★★
- 答案【B】
PC给出的是下一条指令字的访存地址,因此取决于存储器的字数
IR用于接收取得的指令,取决于指令字长
- 答案【D】
- 答案【D】
- 答案【A】
- 答案【C】
(2)大题
三:CISC和RISC
白中英课后习题
1:ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理,为什么?
【答案】不合理,指令字长最好设置为字节的整数倍
2:假设某计算机指令长度为32位,具有双操作数,单操作数,无操作数三类指令格式。指令系统共70条指令,请设计满足要求的指令格式
【答案】总共有70条指令,因此操作码至少需要7位,剩余25位可以进行如下分配
【答案】
- 单字长双地址码的RR型指令
- 操作码为6位,总共64种指令
- 源、目的操作只能采用寄存器寻址方式
【答案】
- 双字长双地址码的RS型指令
- 操作码为6位,总共64种指令
- 源操作数采用寄存器寻址方式
- 目的操作数采用变址寻址方式,其中偏移量为16weu
【答案】
- 二地址指令,两个操作数
- 每个操作数有寻址特征由3位指定
【答案】
【答案】
40条指令操作码至少需要6位,所以剩余长度为26位,又因为有4种寻址方式,所以寻址特征位需要2位
- 直接寻址:有效地址E=D
- 立即寻址:D直接就是操作数
- 变址寻址:采用专用寄存器为变址寄存器R,那么E=(R)+D,其中R为32位
- 相对寻址:E=(PC)+D
【答案】
(1)
50种操作码需要6位表示,现有4种寻址方式,需要2位作为寻址特征
- 寄存器寻址:寄存器中的内容就是操作数,所以D中需要用4位选择寄存器
- 寄存器间接寻址:寄存器中内容是操作数的地址,所以D中需要用4位选择寄存
- 立即寻址:D中直接就是24位的立即数
- 直接寻址:D中是形式地址
(2)
可以,只需要增大寻址特征位
【答案】
16个通用寄存器占4位,64种指令占6位,剩余22位
采用基址寻址,则E=®+D。故最大存储空间为2
32
^32
32+2
22
^22
22=4GB+4MB
以上是关于:指令系统的主要内容,如果未能解决你的问题,请参考以下文章
Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 数据查找技巧 | 地址访问调试 | 指令选择技巧 | MOV 汇编指令含义 | 基址值搜索 ) ★