21级计科专业计算机组成原理实验考试(体验)

  1. 在使用VC++6.0软件时,为了进入调试模式,需要先点击【Build】,再点击( )
    A. BuildExecute
    B. Go
    C. Execute
    D. Compile
    VC6.0

  2. 在使用VC++6.0软件进入调试模式后,点击【View】→【Debug Windows】后的( )选项,可以打开下面的窗口。
    A. Memory
    B. Variables
    C. Registers
    D. Disassembly
    Disassembly
    注意:每个选项的作用请参考21级计科专业计算机组成原理实验一报告

  3. 在认识二进制文件的实验中,我们收集gcc.exe -v信息的重定向命令是( )
    A. gcc.exe 1.c -v > 1.txt
    B. gcc.exe 1.c -v > 1.txt 2>&1
    C. gcc.exe 1.c -v > 1.txt 1>&2
    D. gcc.exe 1.c -v > 1.txt &1>2
    参考:Linux shell中2>&1的含义解释 (全网最全,看完就懂)

  4. 在IA-32常用汇编语言指令中,下列条件转移指令表示“当大于等于才跳转”的指令是( )
    A. jge
    B. jle
    C. jne
    D. jl
    注释:A是大于等于跳转,B是小于等于跳转,C是不等于跳转,D是小于跳转
    参考:汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL、JNL、JNG、JG、JCXZ、JECXZ、JMP、JMPE

  5. 在C语言中,该语句[const int global_G = 5;]中的全局变量global_G会保存在( )段中。
    A. .text
    B. .bss
    C. .data
    D. .rdata
    注释:已初始化全局常量 存在 .rdata 段
    参考:实例说明代码段(.text)、数据段(.data)、bss段、只读数据段(.rodata)、堆栈的划分依据

  6. 在C语言中,该语句[const int local_L = 5;]中的局部变量local_L会保存在( )段中。
    A. .text
    B. .bss
    C. .data
    D. .rdata
    注释:初始化的局部常量在 .text段,而初始化的全局变量和静态变量都在 .data段
    参考:text段、data段和bss段知识介绍

  7. objdump.exe -S会尽可能反汇编出源代码,但是需要gcc.exe编译的时候指定了下列哪种调试参数( )
    A. -d
    B. -c
    C. -g
    D. -s
    参考:GCC/G++调试添加编译选项-g作用与用法
    objdump(Linux)反汇编命令使用指南
    Linux命令学习手册-objdump

  8. 在C语言中,未初始化的静态局部变量会保存在( )段中。
    A. .text
    B. .bss
    C. .data
    D. .rdata
    参考:实例说明代码段(.text)、数据段(.data)、bss段、只读数据段(.rodata)、堆栈的划分依据
    结构分析

  9. 在VC++6.0中,sizeof(short)=2,以小端模式存储,字节编址。已知定义short类型变量a的首地址0x19FF3C,通过调试查看地址后发现0x19FF3A-0X19FF3F存储的内容分别是 0xFD,0xFE,0xFF, 0xFD,0xFE,0xFF。那么,变量a的真值是( )
    A. -1
    B. -3
    C. -513
    D. -2
    注释:变量 a 的地址及长度如下图所示,由于小端模式存储,所以变量 a 为 0xFDFF(补码),转换成十进制为 -513
    变量a

  10. 在VC++6.0中,sizeof(short)=2,以小端模式存储,字节编址。已知定义short类型变量a的首地址0x19FF3C,通过调试查看地址后发现0x19FF3A-0X19FF3F存储的内容分别是 0xFD,0xFE,0xFF, 0xFD,0xFE,0xFF。那么,*(short *)((char *)&a+2)的真值是( )
    A. -1
    B. -3
    C. -513
    D. -2
    注释:(char *)&a 表示将 取变量a地址并且变成 char指针,指针运算的时候,+ 2 表示加 2 个指针的类型的长度,char的长度为 1 字节,所以 (char *)&a + 2 实际上是 a的地址 + 2 * 1 为 0x19FF3E,由于最后又强转为 shor指针,所以值的长度为 2,则 *(short *)((char *)&a+2) 的值为 0xFFFE,十进制表示为 -2
    变量a

  11. 依据附录中【七段数码管标志图】,段码从高到低依次表示g->a段。若LED灯显示的字形为“H”,则该字形的段码应表示为0x____76____(要求结果用十六进制表示,字母用大写表示)
    注释:段码从高到低依次表示g->a段,二进制表示为 0b01110110,即 0x76

  12. 依据附录中【七段数码管标志图】,段码从高到低依次表示g->a段。若LED灯显示的字形为“h”,则该字形的段码应表示为0x____74____(要求结果用十六进制表示,字母用大写表示)
    注释:段码从高到低依次表示g->a段,二进制表示为 0b01110100,即 0x74

  13. 依据附录中【七段数码管标志图】,段码从高到低依次表示g->a段。若LED灯显示的字形为“L”,则该字形的段码应表示为0x____38____(要求结果用十六进制表示,字母用大写表示)
    注释:段码从高到低依次表示g->a段,二进制表示为 0b00111000,即 0x38

  14. 依据附录中【七段数码管标志图】,段码从高到低依次表示g->a段。若LED灯显示的字形为“U”,则该字形的段码应表示为0x____3E____(要求结果用十六进制表示,字母用大写表示)
    注释:段码从高到低依次表示g->a段,二进制表示为 0b00111110,即 0x3E

七段数码管标志图

  1. 在七段数码管实验中,如果不考虑数码的有效性和重复性
    (1) 正确接上4个开关后,最多可以显示出___16____种数码。
    (2) 正确接上8个开关后,最多可以显示出___128____种数码。
    注释:4个开关, 2 4 = 16 2^{4} = 16 24=16 种数码,当8个开关时,由于七段数码管最多只有七个数码管,所以只有 2 7 = 128 2^{7} = 128 27=128 种数码

  2. 我们在quartus中点击【TOOLS】→【license setup】,在license.DAT中修改“HOSTID=”后的字段,设置为“你的电脑最新显卡ID”,是为了( )
    A. 解决编译成功后无法通过USB数据线下载的问题
    B. 解决无法绑定引脚的问题
    C. 解决编译成功后不能生成SOF文件的问题
    D. 解决无法在自定义库中找到自定义组建的问题
    注释:更多常见问题见 计算机组成原理硬件实验 - 计算机组成实验FAQ作业

  3. 配置引脚时,打开【Assignments/pins】,显示的仿真设备不是实验要求的类型,需要在【Assignments/_______】更改给仿真设备配置。
    A. Programmer
    B. Device
    C. Settings
    D. Compiler Tool
    Assignments/pins
    配置设备

  4. 配置引脚时,打开【Assignments/pins】,没有显示可配置引脚的输入/输出变量,应该点击按钮( )再进行配置。
    A. View
    B. Processing
    C. Tools
    D. Edit
    Assignments/pins
    配置引脚

猜你喜欢

转载自blog.csdn.net/qq_46373141/article/details/130757070