汇编语言测试题1

一、选择题

  1. 汇编语言源程序是指( )。
    A. 系统提供的MASM B. 用户编写的.ASM文件
    C. 编译生成的.LST文件 D. 连接生成的.EXE文件

A. 汇编指令 B. 伪指令 C. 机器指令 D. 宏指令
3. 用DEBUG调试汇编语言程序时,显示某指令的地址是3F80:F400,此时段寄存器
CS的值是( B )
A. F400H B. 3F80H C. F4000H D. 3F800H
4. 从200H开始反汇编的DEBUG命令是( )。
A. U 200 B. R 200 C. D 200 D. R
5. 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为( 13 )。
A. 8 B. 13 C. 12 D. 10
6. 存储器物理地址形成规则是( )。
A. 段地址+偏移地址 B. 段地址左移4个二进制位+偏移地址
C. 段地址16H+偏移地址 D. 段地址10+偏移地址
7. 设主存某单元物理地址为 22010H,用逻辑地址表示( )。
A. 22010H:0H B. 2200H:10H
C. 2200H:100H D. 2000H:1010H
8. 在程序执行过程中,IP寄存器中始终保存的是( )。
A. 上一条指令的偏移地址 B. 下一条要执行指令的偏移地址
C. 正在执行指令的偏移地址 D. 需计算有效地址后才能确定地址
9. 不能用MOV指令赋初值的段寄存器是( c )。
A. DS B. ES C. CS D. SS
10. ( b )可以用来表示一条汇编指令所在存储单元的符号地址。
A. 变量 B. 标号 C. 数组名 D. 偏移量
11. 下列指令中不合法的是( )。
A. MOV BX, 03F8H B. MOV BL, AX
C. SUB AX, BX D. ADD AL, 10H
12. 若(SS)=1310H,(BP)=3213H,(DS)=3593H,则指令MOV DX,[BP]源操作数的物
理地址为( )。
A. 16313H B. 38B43H C. 3213H D. 4523H
13. 假定SS=2000H,SP=0100H,AX=2107H,执行指令PUSH AX后,存放数据21H的存储单元的物理地址是( D )。
A. 20102H B. 20101H C. 200FEH D. 200FFH
14. 下列寄存器不能存放操作数的有效地址的是( )。
A. SI B. DI C. BX D. DX
15. INC WORD PTR [BX]指令中的操作数的数据类型是( )。
A. 字节 B. 字 C. 双字 D. 四字
16. 若(AX)=2530H,(BX)=18E6H,mov [BX],AL指令,正确的执行结果为( )。
A. BX寄存器的值为2530H B. BL寄存器的值为30H
C. 18E6H单元的值为30H D. 18E6H单元的值为2530H
17. 指令MOV DX,COUNT[BP][DI]的执行结果是( D )。
A. 将COUNT的值传送给DX
B. 将COUNT+BP+DI的值传送给DX
C. 将数据段中有效地址为COUNT+BP+DI 的存储单元的值传送给DX
D. 将堆栈段中有效地址为COUNT+BP+DI 的存储单元的值传送给DX
18. 用直接寻址将AL的内容保存到16号单元,可用( )指令。
A. MOV DS:[0016H], AL B. MOV AL, DS:[0016H]
C. MOV DS:[0010H], AL D. MOV AL, DS:[0010H]
19. 若(SI)=1310H,(BX)=3213H,(DS)=3593H,则指令MOV DX,[BX][SI]源操作数
的有效地址为( C )。
A. 1310H B. 3213H C. 4523H D. 7AB6H
20. 关于字节乘法错误的叙述是( C )。
A. 被乘数隐含在AL中 B. 乘数和被乘数都是字节类型
C. 被乘数隐含在AX中 D. 乘积是字型
21. ABC DW 10 DUP(1,2, 3 DUP(10,0)),上述伪指令汇编后,为变量ABC数据区分配的存储单元字节数是( B )。
A. 50H B. 0A0H C. 30 D. 60
22. 在程序运行过程中,确定下一条指令的物理地址的计算表达式是( )。
A. CS16+IP B. BX16+D C. SS16+SP D. ES16+SI
23. 将AL的2,6位屏蔽为0,其余位保持不变,指令为( )。
A. AND AL, 42H B. AND AL, 0BBH 右0
C. OR AL, 26H D. ADD AL, 0FBH
24. 操作数地址由BX寄存器指出,则它的寻址方式是( )。
A. 直接寻址 B. 立即寻址 C. 寄存器寻址 D. 寄存器间接寻址
25. 关于字除法错误的说法是( A )。   
A. 16位被除数AX与8位源操作数相除
B. 32位被除数DX、AX与16位源操作数相除
C. 商在AX寄存器,余数在DX寄存器  
D. 带符号除法的商和余数都是补码表示的数
26. 条件转移指令的转移范围是( C )。都是短转移
A. 0到65535 B. 0到255 C. -128到+127 D. -32768到+32767
27. 要实现段间转移,下列说法正确的是( )。   
A. 标号的属性为NEAR型 B. 标号的偏移地址送CS IP
C. 既要改变IP又要改变CS D. 转移地址不能用存储单元给出
28. CALL指令与JMP指令的区别是( )。
A. CALL使程序转移 B. 子程序名可以是标号
C. CALL指令将断点地址保存 D. CALL指令可以段间调用
29. 8086的转移指令根据转移的范围分为段内转移和段间转移,下列说法错误的是( )。
A. 无条件转移即可以段内转移,也可以段间转移
B. 无条件转移即可以直接转移,也可以间接转移
C. 条件转移即可以段内转移,也可以段间转移
D. 条件转移指令是段内的直接短转移
30. 若无特殊规定,操作系统将用户程序调入内存时,代码段中第一条指令的( A )。
A. 偏移地址为0 B. 段地址为0
C. 段地址由DS指出 CS D. 偏移地址由SP指出
31. 对于LOOP LET1循环指令,构成循环的范围为( A )。只能往上跳
A. 在-128字节之内 B. 在+127字节之内
C. 在-128到+127之间 D. 在-256到+255之间
32. CALL指令和RET指令的用法,正确的说法是( )。
A. CALL指令和RET指令都对堆栈操作
B. 只有CALL指令使用堆栈
C. CALL指令和RET指令都不用堆栈
D. 只有RET指令使用堆栈
33. 下列说法中正确的是:____
A. 8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址(逻辑上)
B. 物理地址为ffff0H的内存单元的偏移地址可能为ffffH
C. 一个段的大小可以是8Byte(最小是16)
D. 在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行(IP能表示最大四个F)
34. 下列说法中正确的是:D__
A. 一条指令被执行(是读取)后,IP的值进行改变
B. 当CPU执行完当前指令返回debug后CPU就闲下来不再进行工作
C. e命令可将所有内存单元中的数据进行改变(ROM不能改,可读)
D. CPU将CS:IP所指向的内存单元中的数据当作指令来执行
35. 下列说法正确的是:____
A. 数据段和代码段的段地址不能相同
B. 指令mov ax,bx执行完后bx中的值为零
C. 一个栈段的大小可以设为任意值(最大64k)
D. 当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效
36. 在Intel8086环境下,对指令mov ax,[bx]描述错误的是__D___。
A. 指令中,源操作数的段地址默认为ds中的内容??????
B. 指令中,源操作数的偏移地址为bx中的内容
C. 指令执行后,(al)=((ds)*16+(bx)),(ah)=((ds)*16+(bx)+1)
D. 指令执行后,((ds)*16+(bx))=(al),((ds)16+(bx)+1)=(ah)
37. 下列哪条指令不能够使CS:IP指向当前内存段范围内以s为标号的代码段______。
A. jmp near ptr s
B. jmp far ptr s
C. call near ptr s
D. call word ptr s
38. 在Intel8086环境下,下列说法合理的是___C__。
A.(用跳转可执行) 汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。
B. 一个数据段命名为data,此标号代表这个数据段在内存中的起始地址。
C. 如果载入的程序没有返回语句,那么当程序代码执行完毕,将继续读取后续内存空间存储的指令到CPU内部作为指令执行下去,直到遇到返回指令为止。
D. 用DW和DD定义进行的数据,只能够以字为单位访问。
39. 在某程序中,定义了262B的数据段data,那么程序载入内存,该段实际占用的内存空间是__C__B。262/16+1
16
A. 256 B. 262 C. 272 D. 512
40. 某程序有数据段、栈段和代码段三部分,如果加载后代码段的段地址为X,那么下列说法正确的是___。
A. 可以断定数据段的段地址是X-2。
B. 可以断定栈段的段地址是X-1。
C. 可以断定程序PSP区的段地址是X-10。
D. 确定数据段和栈段的段地址与X的关系,要视其大小和在其在源程序中定义的位置关系。
41. 若有buf dw 1,2,3,4,则可将数据02H取到al寄存器中的指令是:B
A. mov al, byte ptr buf+1 B. mov al, byte ptr buf+2
C. mov al, byte ptr buf+3 D. mov al, byte buf 2
42. 关于总线的说法错误的是__D___。
A. 地址总线的宽度决定了CPU的寻址能力。
B. 数据总线的宽度决定了CPU与外界进行数据传送时的一次数据传送量。
C. 控制总线的宽度决定了CPU对系统中其它器件的控制能力。
D. 总线就是负责CPU内部信息传送的一系列导线。
43. 在中断处理系统中,中断向量指的是( D )。
A. 中断类型号 B. 中断子程序
C. 中断源 D. 中断子程序的入口地址
二、填空

1.下列程序完成将DATA开始的4个字数据传送至BUF开始的位置。请填空完成程序。
ASSUME CS:CSEG, DS:DSEG
DSEG SEGMENT
DATA DW 12H, 34H, 56H, 78H
BUF DW 4 DUP(0)
DSEG ENDS
CSEG SEGMENT
START: MOV AX, DSEG
MOV DS, AX
MOV CX, (1)4h
MOV SI, OFFSET DATA
(2)MOV DI, OFFSET BUF
NEXT: MOV AX, DS: [SI](得知一处填4)
MOV DS:[DI], AX
(3) add SI,2
(4) add DI,2
LOOP NEXT
MOV AH, 4CH
INT 21H
CSEG ENDS
END START
2. 补全代码,利用push指令在10000H处写入字型数据2266H。
(5)MOV Bx,1000h
(6)MOV ss, Bx
(7)mov SP,2
mov ax, 2266H
push ax

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值