百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

华文慕课计算机组成原理-2 指令系统体系结构课后题

liebian365 2024-10-18 09:34 46 浏览 0 评论


1、下列关于CISC和RISC的描述错误的是?


A、CISC指令长度是不固定的


B、CISC指令的操作数必须预存于寄存器中


C、RISC指令长度是固定的


D、RISC指令的操作数必须预存于寄存器中


E、RISC架构的指令种类通常比CISC架构更少


解析:

RISC:Reduced Instruction Set Computer,精简指令系统计算机

减少指令的类型,降低指令复杂度

CISC:Complex Instruction Set Computer,复杂指令系统计算机


2、下列关于Intel处理器及其推出时间描述错误的是?


A、Intel 8086——1978年


B、Intel 80286——1982年


C、Intel 80386——1988年(1985)


D、Intel Pentium——1993年


E、Intel PentiumPro——1995年


F、Intel Core i7——2008年


G、Intel Core 2——2006年


3、x86体系结构中,寄存器EAX长度为多少位? 32位


4、x86体系结构中,寄存器AX长度为多少位? 16位


解析:


5、IA-32寄存器模型中包括以下哪些寄存器?(多选题)


A、通用寄存器


B、指令指针寄存器


C、页面寄存器


D、标志寄存器


E、段寄存器


6、8086系统中标志位CF的含义是?


A、溢出标志


B、零标志


C、符号标志


D、进位标志 :Carry Flag


8、8086系统中标志位ZF的含义是? 零标志(Zero Flag)


9、8086系统中段寄存器DS的含义是?数据段寄存器(Data Segment)


10、8086系统中段寄存器CS的含义是?代码段寄存器(Code Segment)


解析:


11、设CS=2500H,DS=2400H,SS=2430H,BP=0200H,SI=0010H,DI=0206H,计算下列x86指令源操作数的物理地址


MOV AX,[2000H] 26000H


解析:

物理地址 = DS:2000H = 2400H * 16(左移4位) + 2000H = 24000H + 2000H = 26000H

CS(CodeSegment):存放当前正在运行的程序代码所在段的段基址*16 + IP存放的偏移量 = 指令的物理地址。

扩展:CPU怎样区分指令和数据?

CPU讲CS:IP所组合出来的地址所指向的内容全部当作指令。


DS(DataSegment):存放数据段的段基址,字符串的也归它。


SS(StackSegment):存放堆栈段的段基址。


ES(ExtraSegment):存放当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段。

即数值的段基址默认存放在DS


12、设CS=2500H,DS=2400H,SS=2430HBP=0200HSI=0010H,DI=0206H,计算下列x86指令源操作数的物理地址:


MOV AX,[BP+SI+4] 24514H


解析:2430H * 16 + + 0200H + 0010H + 4H = 24300H + 0214H = 24514H


13、设CS=2500H,DS=2400H,SS=2430H,BP=0200H,SI=0010H,DI=0206H,计算下列x86指令源操作数的物理地址:MOV AX,[DI+100H] 24306H


解析:2400H * 16 + 0206H + 100H = 24000H + 0306H = 24306H


16、下列x86指令中,哪些属于算术运算指令?


A、ADD


B、DEC


C、MOV


D、IN


E、LEA


解析:


I、CALL:调用子程序


J、JNZ


解析:


K、LOOP


L、MUL:无符号乘法


17、下列关于MIPS指令的主要特点说法错误的是?


A、指令长度固定


B、寻址模式简单


C、只有Load和Store指令可以访问存储器


D、需要优秀的编译器支持


E、指令数量多,且功能复杂(少且简单)


解析:


18、MIPS按照指令的基本格式可以分为三种类型,以下不属于这三种类型的是?


A、R型指令


B、I型指令


C、J型指令


D、O型指令


解析:


20、某MIPS指令的机器码是0x20A5FFFF,对应的汇编指令是什么? addi $a1,$a1,-1


解析:

二进制数均以补码的形式存放在计算机中

正数:补码 = 原码

负数:补码 = 除符号位,原码剩余每位取反,末位+1

FFFF= 1111 1111 1111 1111 为补码形式,化为原码

1111 1111 1111 1110

1000 0000 0000 0001 = -1

0010(2) 0000(0) 1010(A) 0101(5) 1111 1111 1111 1111(FFFF)

?

可知为I型

001000(op = 8 = addi) 00101(rs = 5 = $a1) 00101(rt = 5 = $a1) 1111 1111 1111 1111(immediate = -1)

??

??21、某MIPS指令的机器码是0x0005402A,对应的汇编指令是什么? slt $t0,$0,$a1(注意位置)


解析:

0000 0000 0000 0101(5) 0100(4) 0000 0010(2) 1010(A)

000000(R型指令) 00000(rs = 0 = $0) 00101(rt = 5 = $a1) 01000(rd = 8 = $t0) 00000 101010(可知指令类型为slt )


22、阅读下面的x86汇编程序,回答问题。


设DS=1000H


MOV SI, 1250H


MOV DI, 1370H


MOV CL, 3


MOV AX, DS


MOV ES, AX


MOV BX, 5


STD(DF置为1,从源串的高位开始传送)


REP MOVSB


请问,在这次串传送操作中,完成了第一个元素的传送后SI寄存器的值是什么? 124FH


解析:

源串地址:DS:SI = 10000H + 1250H = 11250H

因为是从高位开始传送,传送完一个元素后,SI与DI自动减1

11250H = 112 0101 0000 (不够减向前借2)- 0001 = 112 4 F


25、阅读下面的x86汇编程序,回答问题。


设DS=1000H


MOV SI, 1250H


MOV DI, 1370H


MOV CL, 3


MOV AX, DS


MOV ES, AX


MOV BX, 5


CLD


REP MOVSB


请问,这次串传送操作,总共传送了多少个字节的数据? 不确定


解析:


26、如果想用8086 CPU把内存中某个区域的1024个字节的数据传送到另一个区域,可以选用如下三种方法:


(1)只使用传送指令(MOV);


(2)使用传送指令(MOV),并用条件转移指令建立循环语句的结构;


(3)使用串传送指令(MOVSB)以及必要的配合指令,不使用循环语句的结构。


请比较用这三种方法编写的程序,执行时访问存储器次数最少的是:方法三


27、如果想用8086 CPU把内存中某个区域的1024个字节的数据传送到另一个区域,可以选用如下三种方法:


(1)只使用传送指令(MOV);


(2)使用传送指令(MOV),并用条件转移指令建立循环语句的结构;


(3)使用串传送指令(MOVSB)以及必要的配合指令,不使用循环语句的结构。


请比较用这三种方法编写的程序,执行时访问存储器次数最多的是: 方法二


28、如果想用8086 CPU把内存中某个区域的1024个字节的数据传送到另一个区域,可以选用如下三种方法:


(1)只使用传送指令(MOV);


(2)使用传送指令(MOV),并用条件转移指令建立循环语句的结构;


(3)使用串传送指令(MOVSB)以及必要的配合指令,不使用循环语句的结构。

请比较用这三种方法编写的程序,程序代码占用存储器空间最大的是:方法1


29、很多x86指令的功能比较复杂,往往一条x86指令可以完成的功能,需要多条MIPS指令才能实现。请问下列x86指令中,哪些确定能够只用一条MIPS指令完成对应的功能?(注:只需考虑这条指令本身,不用考虑对后续指令的影响)


A、ADD ECX, 15H


B、MOV EAX, 28H


C、ADD EDX, EBX


D、ADD EAX, [13H](访寸需要额外的指令)


E、MOV EDX, [EBX+11H](访寸需要额外的指令)


F、ADD [EBX+ESI*4+200H], EAX(访寸需要额外的指令)


G、REP MOVSB


H、JZ LOOP_1

?

相关推荐

go语言也可以做gui,go-fltk让你做出c++级别的桌面应用

大家都知道go语言生态并没有什么好的gui开发框架,“能用”的一个手就能数的清,好用的就更是少之又少。今天为大家推荐一个go的gui库go-fltk。它是通过cgo调用了c++的fltk库,性能非常高...

旧电脑的首选系统:TinyCore!体积小+精简+速度极快,你敢安装吗

这几天老毛桃整理了几个微型Linux发行版,准备分享给大家。要知道可供我们日常使用的Linux发行版有很多,但其中的一些发行版经常会被大家忽视。其实这些微型Linux发行版是一种非常强大的创新:在一台...

codeblocks和VS2019下的fltk使用中文

在fltk中用中文有点问题。英文是这样。中文就成这个样子了。我查了查资料,说用UTF-8编码就行了。edit->Fileencoding->UTF-8然后保存文件。看下下边的编码指示确...

FLTK(Fast Light Toolkit)一个轻量级的跨平台Python GUI库

FLTK(FastLightToolkit)是一个轻量级的跨平台GUI库,特别适用于开发需要快速、高效且简单界面的应用程序。本文将介绍Python中的FLTK库,包括其特性、应用场景以及如何通过代...

中科院开源 RISC-V 处理器“香山”流片,已成功运行 Linux

IT之家1月29日消息,去年6月份,中科院大学教授、中科院计算所研究员包云岗,发布了开源高性能RISC-V处理器核心——香山。近日,包云岗在社交平台晒出图片,香山芯片已流片,回片后...

Linux 5.13内核有望合并对苹果M1处理器支持的初步代码

预计Linux5.13将初步支持苹果SiliconM1处理器,不过完整的支持工作可能还需要几年时间才能完全完成。虽然Linux已经可以在苹果SiliconM1上运行,但这需要通过一系列的补丁才能...

Ubuntu系统下COM口测试教程(ubuntu port)

1、在待测试的板上下载minicom,下载minicom有两种方法:方法一:在Ubuntu软件中心里面搜索下载方法二:按“Ctrl+Alt+T”打开终端,打开终端后输入“sudosu”回车;在下...

湖北嵌入式软件工程师培训怎么选,让自己脱颖而出

很多年轻人毕业即失业、面试总是不如意、薪酬不满意、在家躺平。“就业难”该如何应对,参加培训是否能改变自己的职业走向,在湖北,有哪些嵌入式软件工程师培训怎么选值得推荐?粤嵌科技在嵌入式培训领域有十几年经...

新阁上位机开发---10年工程师的Modbus总结

前言我算了一下,今年是我跟Modbus相识的第10年,从最开始的简单应用到协议了解,从协议开发到协议讲解,这个陪伴了10年的协议,它一直没变,变的只是我对它的理解和认识。我一直认为Modbus协议的存...

创建你的第一个可运行的嵌入式Linux系统-5

@ZHangZMo在MicrochipBuildroot中配置QT5选择Graphic配置文件增加QT5的配置修改根文件系统支持QT5修改output/target/etc/profile配置文件...

如何在Linux下给zigbee CC2530实现上位机

0、前言网友提问如下:粉丝提问项目框架汇总下这个网友的问题,其实就是实现一个网关程序,内容分为几块:下位机,通过串口与上位机相连;下位机要能够接收上位机下发的命令,并解析这些命令;下位机能够根据这些命...

Python实现串口助手 - 03串口功能实现

 串口调试助手是最核心的当然是串口数据收发与显示的功能,pzh-py-com借助的是pySerial库实现串口收发功能,今天痞子衡为大家介绍pySerial是如何在pzh-py-com发挥功能的。一、...

为什么选择UART(串口)作为调试接口,而不是I2C、SPI等其他接口

UART(通用异步收发传输器)通常被选作调试接口有以下几个原因:简单性:协议简单:UART的协议非常简单,只需设置波特率、数据位、停止位和校验位就可以进行通信。相比之下,I2C和SPI需要处理更多的通...

同一个类,不同代码,Qt 串口类QSerialPort 与各种外设通讯处理

串口通讯在各种外设通讯中是常见接口,因为各种嵌入式CPU中串口标配,工业控制中如果不够还通过各种串口芯片进行扩展。比如spi接口的W25Q128FV.对于软件而言,因为驱动接口固定,软件也相对好写,因...

嵌入式linux为什么可以通过PC上的串口去执行命令?

1、uboot(负责初始化基本硬bai件,如串口,网卡,usb口等,然du后引导系统zhi运行)2、linux系统(真正的操作系统)3、你的应用程序(基于操作系统的软件应用)当你开发板上电时,u...

取消回复欢迎 发表评论: