第1周 汇编语言基础
MASM开发软件自测
1、单选题:
MASM开发软件中的“ml.exe”是指:
A: 汇编语言源程序
B: 汇编程序
C: 连接程序
D: 调试程序
答案: 汇编程序
2、单选题:
汇编程序的作用是:
A: 编辑源程序文件
B: 调试可执行文件
C: 显示可用的连接程序
D: 将汇编语言程序转换为机器代码
答案: 将汇编语言程序转换为机器代码
3、判断题:
人们常会将汇编语言程序简称为汇编程序,但严格来说,两者是不同的。
A: 正确
B: 错误
答案: 正确
4、判断题:
程序设计语言的开发环境通常要包括连接程序(例如,常用的文件名是LINK)。
A: 正确
B: 错误
答案: 正确
5、判断题:
本课程主要采用MASM 6.x版本。
A: 正确
B: 错误
答案: 正确
专用寄存器自测
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、单选题:
32位Windows XP/7/8等操作系统中,启动控制台窗口的文件是:
A: cmd.exe
B: cmd.com
C: command.exe
D: command.com
答案: cmd.exe
2、单选题:
32位Windows XP/7/8等操作系统中,启动16位模拟DOS窗口的文件是:
A: cmd.exe
B: cmd.com
C: command.exe
D: command.com
答案: command.com
3、判断题:
32位Windows控制台与16位模拟DOS窗口的界面和基本功能相同,所以本质上就是同一个程序。
A: 正确
B: 错误
答案: 错误
4、判断题:
32位Windows XP/7/8等操作系统中,“命令提示符”一般是指Windows控制台。
A: 正确
B: 错误
答案: 正确
5、判断题:
32位中文Windows XP/7/8等操作系统中,Windows控制台窗口也支持中文的输入输出。
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: 汇编程序
B: 连接程序
C: 编辑程序
D: 调试程序
答案: 编辑程序
2、单选题:
DOS/Windows平台中,汇编语言源程序文件的扩展名为:
A: lib
B: obj
C: bat
D: asm
答案: asm
3、判断题:
本课程提供一个“MAKE32.BAT”批处理文件用于快速开发汇编语言程序。
A: 正确
B: 错误
答案: 正确
4、判断题:
如果源程序文件没有错误,列表文件就为空。
A: 正确
B: 错误
答案: 错误
5、判断题:
开发过程中生成的目标模块文件(.OBJ)与列表文件(.LST)一样都是文本性质的文件,可以使用文字编辑软件打开。
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周测试
1、单选题:
处理器也称为__________。
A: 控制器
B: CPU
C: 运算器
D: 系统总线
答案: CPU
2、单选题:
寄存器EDX的低8位部分可以用__________表达。
A: EX
B: DX
C: DH
D: DL
答案: DL
3、单选题:
已知EDX=12345678H,则DH=__________。
A: 12H
B: 34H
C: 56H
D: 78H
答案: 56H
4、单选题:
一个字节的二进制位数是__________位。
A: 2
B: 4
C: 8
D: 16
答案: 8
5、单选题:
计算机中每个主存储单元具有一个地址,其中存放一个__________量。
A: 比特(1位)
B: 字节(8位)
C: 字(16位)
D: 双字(32位)
答案: 字节(8位)
6、单选题:
用来指示当前堆栈栈顶的寄存器是__________。
A: EIP
B: ESP
C: EBP
D: SS
答案: ESP
7、单选题:
应用程序具有3个基本段,可执行指令应该保存于__________。
A: 代码段
B: 数据段
C: 堆栈段
D: 附加段
答案: 代码段
8、单选题:
汇编语言中的“end begin”中的begin指的是______。
A: 程序开始执行的位置
B: 程序终止执行的位置
C: 程序开始汇编的位置
D: 程序终止汇编的位置
答案: 程序开始执行的位置
9、单选题:
下列标号不合法的是_____________。
A: WANG
B: MOV
C: F8
D: AB3
答案: MOV
10、单选题:
如下符号_____________不是MASM支持的关键字。
A: done
B: include
C: .model
D: .data
答案: done
11、单选题:
汇编语言源程序中,每个语句由四项组成,不影响语句功能的是_____________。
A: 名字项
B: 操作码
C: 操作数
D: 注释
答案: 注释
12、单选题:
在伪指令语句“number byte 1234h”中的number 项称为_____________。
A: 标号
B: 变量(名)
C: 助记符
D: 参数
答案: 变量(名)
13、单选题:
下面_____________语句有语法错误。
A: mov eax, ebx
B: byte 20
C: again: byte 20
D: mov al, bl ;
答案: again: byte 20
14、单选题:
汇编语言的优点不包括_____。
A: 直接有效地控制硬件
B: 生成的代码序列短小
C: 运行速度快
D: 编程容易
答案: 编程容易
15、单选题:
在DOS/Windows操作系统中,汇编语言源程序文件通常采用______作为扩展名。
A: ASM
B: MAP
C: LST
D: OBJ
答案: ASM
16、单选题:
将OBJ文件转换为EXE可执行文件的是______。
A: 汇编程序
B: 连接程序
C: 编辑程序
D: 调试程序
答案: 连接程序
17、单选题:
将一个或多个目标代码文件合成为可执行文件的过程,称为_________。
A: 编辑
B: 汇编
C: 连接
D: 调试
答案: 连接
18、单选题:
编写汇编语言源程序文件,应使用______。
A: 汇编程序
B: 连接程序
C: 编辑程序
D: 调试程序
答案: 编辑程序
19、判断题:
IA-32处理器是指Intel公司的32位80×86结构处理器。
A: 正确
B: 错误
答案: 正确
20、判断题:
IA-32处理器是包括Intel 80386、80486和Pentium等32结构的Intel 80×86处理器。
A: 正确
B: 错误
答案: 正确
21、判断题:
尽管用汇编语言生成的执行代码较庞大,但其能够直接有效地控制硬件。
A: 正确
B: 错误
答案: 错误
22、判断题:
MASM规定用后缀字母H或h表达十六进制数据。
A: 正确
B: 错误
答案: 正确
23、判断题:
对32位字长的IA-32处理器来说,其主存不能采用8位(字节)编址。
A: 正确
B: 错误
答案: 错误
24、判断题:
IA-32处理器采用以字节为基本存储单位为主存空间编址。
A: 正确
B: 错误
答案: 正确
25、判断题:
主存中的一个存储单元的物理地址不是唯一的。
A: 正确
B: 错误
答案: 错误
26、判断题:
指向程序堆栈区的段寄存器是SS。
A: 正确
B: 错误
答案: 正确
27、判断题:
IA-32处理器读取指令,一定是在代码段中。
A: 正确
B: 错误
答案: 正确
28、判断题:
汇编程序使用的保留字,例如寄存器名称等,是不能用作用户定义的标识符的。
A: 正确
B: 错误
答案: 正确
29、判断题:
IA-32处理器按逻辑段组织程序,数据变量应该且必须在数据段中。
A: 正确
B: 错误
答案: 错误
30、判断题:
指令指针EIP寄存器属于通用寄存器。
A: 正确
B: 错误
答案: 错误
31、判断题:
源程序中只能用标号start表示程序的起始执行点。
A: 正确
B: 错误
答案: 错误
32、判断题:
使用简化段定义源程序格式,必须具有.model语句。
A: 正确
B: 错误
答案: 正确
33、判断题:
利用“END”伪指令就可以结束程序执行,返回操作系统。
A: 正确
B: 错误
答案: 错误
34、判断题:
伪指令“END”仅说明汇编到此结束,并不具备返回操作系统的功能。
A: 正确
B: 错误
答案: 正确
35、判断题:
采用汇编语言书写的一个ASM源程序文件,需要使用汇编语言程序转换为OBJ目标代码文件。
A: 正确
B: 错误
答案: 错误
36、判断题:
汇编程序(例如MASM)一般都提供大量的函数(过程)供程序员调用,所以汇编语言程序员通常不需要直接利用操作系统的资源。
A: 正确
B: 错误
答案: 错误
37、判断题:
MASM汇编语言的注释用分号开始,但不能用中文分号。
A: 正确
B: 错误
答案: 正确
38、判断题:
MASM汇编语言用逗号分隔两个操作数或者参数,英文逗号或者中文逗号都可以。
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 80×86系列处理器采用小端(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: 错误
答案: 正确
第2周测试
1、单选题:
一个十六进制位对应_______个二进制位。IA-32处理器具有32个地址信号,所以用十六进制表达一个地址应该有__________位。
A: 2,4
B: 4,8
C: 4,4
D: 8,4
答案: 4,8
2、单选题:
十进制数165用二进制表达为______。
A: 11001101
B: 00100111
C: 01001101
D: 10100101
答案: 10100101
3、单选题:
对于十进制数96,如果采用8位8421BCD码表达,应该是_____________。
A: 01100000B
B: 10010110B
C: 00000110B
D: 10010000B
答案: 10010110B
4、单选题:
二进制代码10000111是计算机内部一个8421 BCD编码,它表示的真值是________。
A: 87
B: 87H
C: 135
D: 135H
答案: 87
5、单选题:
用8位二进制补码表达真值“-7”,其编码是_________。
A: 10001001
B: 11111000
C: 11110111
D: 11111001
答案: 11111001
6、单选题:
真值“-8”用8位二进制补码表达是_________。
A: 00001000
B: 10001000
C: 11110111
D: 11111000
答案: 11111000
7、单选题:
采用2的补码形式表示时,定点8位字长的字能表示的整数范围是______。
A: -127~128
B: -127~127
C: -128~128
D: -128~127
答案: -128~127
8、单选题:
计算机中有一个“01100001”编码。如果把它认为是无符号整数,它是十进制数___________;如果认为它是BCD码,则表示真值_____________。
A: 61,61
B: 97,61
C: 61,97
D: 97,97
答案: 97,61
9、单选题:
ASCII表中的每个字符对应一个编码,按无符号数理解,每个字符编码有大小,如下字符从小到大顺序正常的是___________。
A: 空格字符,数码,大写字母
B: 小写字母,空格字符,大写字母
C: 数码,小写字母,大写字母
D: 大写字母,小写字母,空格字符
答案: 空格字符,数码,大写字母
10、单选题:
C语言用“n”表示让光标回到下一行首位,在DOS、Windows中需要输出两个控制字符:一个是回车,其ASCII码是_____________,它将光标移动到当前所在行的首位;另一个是换行,其ASCII码是_____________,它将光标移到下一行。
A: 10,0
B: 13,0
C: 13,10
D: 10,13
答案: 13,10
11、单选题:
针对ASCII码,关于字符“9”和数值9的说法正确的是___________。
A: 字符“9”和数值9是一样的。
B: 数值9加上30就可以转换为字符“9”的编码
C: 数值9减去30就可以转换为字符“9”的编码
D: 数值9加上30H就可以转换为字符“9”的编码
答案: 数值9加上30H就可以转换为字符“9”的编码
12、单选题:
在MASM汇编语言中,如下各个进制常数,______是错误的。
A: 64
B: 64H
C: A0H
D: 0100B
答案: A0H
13、单选题:
BYTE伪指令定义的是______量的变量。
A: 字节
B: 字
C: 双字
D: 四字
答案: 字节
14、单选题:
IA-32处理器定义双字(DWORD)表示__________位。
A: 8
B: 16
C: 32
D: 64
答案: 32
15、单选题:
DWORD伪指令定义的是______量的变量。
A: 字节
B: 字
C: 双字
D: 四字
答案: 双字
16、单选题:
能够为变量BVAR定义10个数值为0的语句是___________。
请发表您的评论