第1周汇编语言基础

专用寄存器自测

1、单选题:
​IA-32处理器保存将要执行指令在主存中的存储器地址的寄存器是:‏
选项:
A: EFLAGS
B: EIP
C: ESP
D: CS
答案: 【 EIP

2、单选题:
‎IA-32处理器保存标志的寄存器是:​
选项:
A: EFLAGS
B: EIP
C: ESP
D: CS
答案: 【 EFLAGS

3、判断题:
‌IA-32处理器的CS是代码段寄存器。‏
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‍IA-32处理器的DS是数据段寄存器。‌
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‌IA-32处理器的ESP与SS配合指向堆栈段当前栈顶。‌
选项:
A: 正确
B: 错误
答案: 【 正确

信息显示程序自测

1、单选题:
​定义要显示的字符串可以使用的伪指令是‎
选项:
A: call
B: mov
C: byte
D: msg
答案: 【 byte

2、单选题:
‏本课程使用“exit 0”表达‏
选项:
A: 程序执行终止
B: 源程序汇编结束
C: 代码段结束
D: 数据段开始
答案: 【 程序执行终止

3、判断题:
‍要显示字符串“I Love Assembly”,MASM可以直接使用C语言的printf函数。​
选项:
A: 正确
B: 错误
答案: 【 错误

4、判断题:
‎要显示字符串,可以使用本课程提供的DISPMSG子程序。‎
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‏C语言使用函数名(含参数)就是调用函数,IA-32处理器需要使用“CALL”调用指令实现调用。‏
选项:
A: 正确
B: 错误
答案: 【 正确

处理器指令格式自测

1、单选题:
助记符MOV表达的指令功能是:‌
选项:
A: 传送
B: 加法
C: 减法
D: 空操作
答案: 【 传送

2、单选题:
指令“mov eax, 100”的源操作数是:‏
选项:
A: mov
B: eax
C: 100
D: 空
答案: 【 100

3、判断题:
‍指令一般由操作码和操作数组成。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‍在MASM的语句语法中,指令的目的操作数一般在左边,源操作数在右边。‎
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‌IA-32处理器的指令所采用的二进制编码长度均是32位(Bit)。​
选项:
A: 正确
B: 错误
答案: 【 错误

存储器组织自测

1、单选题:
‏一个字节(Byte)是指二进制多少位?​
选项:
A: 1
B: 4
C: 8
D: 16
答案: 【 8

2、单选题:
‎IA-32处理器具有32位地址,能直接访问的主存储器容量是‍
选项:
A: 1MB
B: 16MB
C: 1GB
D: 4GB
答案: 【 4GB

3、判断题:
‎物理地址也称逻辑地址,也是虚拟地址。‍
选项:
A: 正确
B: 错误
答案: 【 错误

4、判断题:
​应用程序一般主要涉及代码段、数据段和堆栈段。‍
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‍IA-32处理器的逻辑地址包括偏移地址。‍
选项:
A: 正确
B: 错误
答案: 【 正确

汇编语言语句格式自测

1、单选题:
汇编语言源程序中,每个语句由四项组成,不影响语句功能的是:‌
选项:
A: 名字项
B: 操作码
C: 操作数
D: 注释
答案: 【 注释

2、单选题:
语句“msg byte 13,10,0”中,关键性的助记符是:‏
选项:
A: msg
B: byte
C: 13
D: 0
答案: 【 byte

3、判断题:
‏MASM的语句分成执行性语句和说明性语句。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‎MASM汇编语言的分隔操作数使用英文逗号,不能用中文逗号。‌
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
​MASM汇编语言的注释用分号开始,无所谓英文分号还是中文分号,都可以。​
选项:
A: 正确
B: 错误
答案: 【 错误

源程序框架自测

1、单选题:
‎可执行代码(语句)应该在______定义的段中。‍
选项:
A: .stack
B: .data
C: .code
D: .data
答案: 【 .code

2、单选题:
‎语句“.data”说明是什么性质的逻辑段?‎
选项:
A: 代码段
B: 数据段
C: 堆栈段
D: 附加段
答案: 【 数据段

3、判断题:
‌“END”伪指令仅说明汇编到此结束,并不具备返回操作系统的功能。‍
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‍汇编结束也就是程序执行终止。‌
选项:
A: 正确
B: 错误
答案: 【 错误

5、判断题:
‏为IA-32处理器编程只应该使用8086的16位指令。​
选项:
A: 正确
B: 错误
答案: 【 错误

通用寄存器自测

1、单选题:
​从应用角度看,汇编语言程序员可以将计算机抽象为‏
选项:
A: 寄存器、存储器地址、输入输出地址
B: 寄存器、存储器地址、处理器
C: 寄存器、输入输出地址、处理器
D: 存储器地址、输入输出地址、处理器
答案: 【 寄存器、存储器地址、输入输出地址

2、单选题:
‍如下哪个符号不是IA-32处理器的通用寄存器名‏
选项:
A: EAX
B: EDX
C: ESI
D: EDP
答案: 【 EDP

3、判断题:
​IA-32处理器中被称之为累加器通用寄存器是EAX。‏
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
​IA-32处理器中ESP是堆栈指针寄存器。‎
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‍IA-32处理器支持8个32位通用寄存器。‌
选项:
A: 正确
B: 错误
答案: 【 正确

第2周数据表示

16位变量定义自测

1、单选题:
‍语句“word 5 dup(1,2)”分配主存的存储单元个数是:‌
选项:
A: 5
B: 10
C: 15
D: 20
答案: 【 20

2、单选题:
‏语句“word -1”在主存分配的数据用十六进制表达是:‏
选项:
A: -1H
B: 1H
C: FFFFH
D: 00FFH
答案: 【 FFFFH

3、判断题:
​MASM伪指令“word”定义的字量数据是指16位数据。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‍语句“word ?”表示预留一个字节存储空间。​
选项:
A: 正确
B: 错误
答案: 【 错误

5、判断题:
‎数值“356”可以作为WORD伪指令定义的变量初值。‍
选项:
A: 正确
B: 错误
答案: 【 正确

32位变量定义自测

1、单选题:
‎关于MASM语句“dvar dword ?”的说法正确的是:‍
选项:
A: dvar变量分配的初值是1个问号(?)
B: dvar变量分配的初值是4个问号(?)
C: dvar变量无初值,占有1个主存存储单元
D: dvar变量无初值,占有4个主存存储单元
答案: 【 dvar变量无初值,占有4个主存存储单元

2、单选题:
‏以32位数据分配存储空间的伪指令是:‌
选项:
A: byte
B: word
C: dword
D: equ
答案: 【 dword

3、判断题:
‍伪指令“DWORD”定义的32位变量要占用4个字节存储空间。‌
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‌伪指令“dword”只能定义无符号整数为变量初值。‍
选项:
A: 正确
B: 错误
答案: 【 错误

5、判断题:
‍MASM定义无初值变量使用“?”符号,但通常汇编程序填入0。‍
选项:
A: 正确
B: 错误
答案: 【 正确

8位变量定义自测

1、单选题:
‏分配一个字节空间的伪指令是:​
选项:
A: byte
B: word
C: dword
D: equ
答案: 【 byte

2、单选题:
‎MASM使用“byte”定义的变量,与C语言的变量类型对应的是:​
选项:
A: char
B: short
C: long
D: int
答案: 【 char

3、单选题:
‍语句“byte 5 dup(1,2)”分配主存的存储单元个数是:‏
选项:
A: 5
B: 10
C: 15
D: 20
答案: 【 10

4、判断题:
‍定义字符串也可以使用字节变量定义伪指令“BYTE”。‏
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‏数值“356”可以作为BYTE伪指令定义的变量初值。‌
选项:
A: 正确
B: 错误
答案: 【 错误

变量的地址属性自测

1、单选题:
‎返回变量名所在段的偏移地址的操作符是:​
选项:
A: offset
B: seg
C: $
D: []
答案: 【 offset

2、单选题:
‌指令“org $+10H”的作用是:‎
选项:
A: 下一条机器码从地址10开始
B: 下一条机器码从地址10H开始
C: 下一条机器码从当前地址加上10开始
D: 下一条机器码和当前地址之间有10H个内存空间。
答案: 【 下一条机器码和当前地址之间有10H个内存空间。

3、判断题:
‌变量的地址属性是指变量所在存储单元的逻辑地址,包括段基地址和偏移地址。​
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‍bvar是一个字节变量,语句“mov al ,bvar”与“mov al ,[bvar]”功能相同。‌
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‏指令“MOV EAX, VAR+2”与“MOV EAX, VAR[2]”功能相同。‍
选项:
A: 正确
B: 错误
答案: 【 正确

变量的类型属性自测

1、单选题:
‏将变量按照指定的类型使用的类型操作符是:‎
选项:
A: PTR
B: TYPE
C: LENGTHOF
D: SIZEOF
答案: 【 PTR

2、单选题:
​双字变量的类型值是:‍
选项:
A: 0
B: 1
C: 2
D: 4
答案: 【 4

3、判断题:
‏定义变量后,变量名就具有了类型属性。‏
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‏定义为双字类型的变量,不能按字节或字类型访问。‎
选项:
A: 正确
B: 错误
答案: 【 错误

5、判断题:
​本课程提供的子程序DISPRD可以显示8个32位通用寄存器的内容。​
选项:
A: 正确
B: 错误
答案: 【 正确

多字节数据的存储顺序自测

1、单选题:
‌在IA-32处理器中,语句“dvar6 dword 38323139h”为变量dvar6所在的4个存储单元最高地址中分配的数值是:‌
选项:
A: 38H
B: 32H
C: 31H
D: 39H
答案: 【 38H

2、判断题:
​Intel 80x86系列处理器采用小端(Little Endian)方式存储多字节数据。‍
选项:
A: 正确
B: 错误
答案: 【 正确

3、判断题:
‎所谓小端方式是指数据的低字节部分保存于存储器的低地址单元、高字节数据部分保存于存储器的高地址单元。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
‎主存储器采用字节编址,意味着每个存储单元具有一个地址、保存一个字节的数据。​
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‍存储多字节数据采用小端方式一定比大端方式好,因为没有处理器采用大端方式。​
选项:
A: 正确
B: 错误
答案: 【 错误

数据表达程序自测

1、单选题:
‍指令byte 100 定义的数据是:​
选项:
A: 64
B: 100B
C: 64H
D: 100H
答案: 【 64H

2、单选题:
‍下面指令可以定义数据-1的指令是:‍
选项:
A:  byte  FFH
B: byte  FF
C: byte  0FFH
D: byte  '-1'
答案: 【 byte  0FFH

3、判断题:
‏汇编语言中,表达真值“100”,可以使用二进制“01100100B”表达。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
​小写字母“d”作为字符,它在主存中与十六进制数“64H”是一样的。‎
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‎汇编语言中,表达真值“13”,可以使用十六进制数“0DH”表达。‎
选项:
A: 正确
B: 错误
答案: 【 正确

汇编语言的变量定义自测

1、单选题:
‏MASM定义变量的伪指令不包括:‎
选项:
A: byte
B: word
C: dword
D: equ
答案: 【 equ

2、判断题:
‎MASM中定义的变量保存在通用寄存器中。‍
选项:
A: 正确
B: 错误
答案: 【 错误

3、判断题:
‏变量定义的参数表中出现“?”符号,说明该存储空间没有赋初值。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
​变量定义中的操作符“dup”用在初值表中,表示多个重复的参数。‏
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‍MASM定义变量必须有变量名,否则不能定义。‍
选项:
A: 正确
B: 错误
答案: 【 错误

汇编语言的常量表达自测

1、单选题:
MASM汇编语言中,表示十六进制数的后缀字母是‍‏‍
选项:
A: X
B: B
C: H
D: D
答案: 【 H

2、单选题:
MASM汇编语言中,表示二进制数的后缀字母是‌
选项:
A: X
B: B
C: H
D: D
答案: 【 B

3、判断题:
‎MASM中,字符用单引号括起,字符串用双引号括起。‎
选项:
A: 正确
B: 错误
答案: 【 错误

4、判断题:
​MASM中,使用“=”或者“equ”都可以定义符号常量。​
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‌按照MASM语法,“AH”是一个8位寄存器,“0AH”表达十六进制数。‌
选项:
A: 正确
B: 错

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注