汇编语言程序设计
河北农业大学成人高等教育课程考试复习题河北农业大学成人高等教育课程考试复习题 考试科目:汇编语言程序设计考试科目:汇编语言程序设计 一、单项选择题(每小题一、单项选择题(每小题 2 2 分,共分,共 5050 分)分) 1.CPU 发出的访问存储器的地址是() A.偏移地址B.物理地址C.逻辑地址D.段地址 2.使计算机执行某种操作的命令是() A.伪指令B.标号C.指令D.助记符 3.若 AX=3500H,CX=56B8H,当 AND AX,CX 指令执行后,AX=() A. 1400HB. 77F8HC. 0000HD. 0FFFFH 4.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的 是()码。 A. BCD 码B.二进制码C.十六进制码D.ASCII 码 5.下列关于 8086CPU 的工作原理的描述错误的是()。 A.汇编程序员可以通过对各种寄存器中内容的修改实现对CPU 的控制。 B.CPU 在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。 C.任意时刻,CS:IP 指向的内容即是此刻 CPU 正在执行的指令。 D.传送指令能够更改所有通用寄存器的内容。 6.一个有128 个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理 地址是() A.12C5BHB.12C59HC.12B6BHD.12BFEH 7. 16 位结构的 CPU 不一定具备的特性是()。 A. 运算器一次最多可以处理 16 位的数据 C. 地址总线为 16 根 B. 寄存器的最大宽度为 16 位 D. 寄存器和运算器之间的通路为16 位 8. 下列指令的书写正确的是() 。 A.push alB.mov cs:[0],ds:[10]C.pop siD.mov ds:[0],2 9.在 DEBUG 工具中,显示寄存器内容的命令是() 。 A. GB. DC. TD. R 10. 能够将 ax 中的内容送到内存 0000:0200H 处的指令序列是() 。 A.B. mov ds,0mov ax,200h mov bx,200hmov ds,ax mov [bx],axmov bx,0 mov [bx],ax C.D. mov ax,20hmov bx,20h mov ds,axmov ds,bx mov bx,0mov bx,0 mov [bx],axmov [bx],ax 11.若栈顶的物理地址为20100H,当执行完指令 PUSH AX 后,栈顶的物理地址为 () 。 A. 20098HB. 20102HC. 20100HD. 200FEH 12.执行下列指令后 AL 寄存器中的值是() MOVAL,0BFH ORAL,0FCH A. 0ACHB.0FFHC. 0DCHD. 0BBH 13.已知 (DS) =2000H,(BX)=1256H,(SI)=528FH,则执行指令 JMPBX 后, IP 寄存器的内容是 ( A. 1256HB. 2000HC. 3256HD. 528FH 14.在程序执行过程中,IP 寄存器中始终保存的是() 。) A.上一条指令的首地址B.下一条指令的首地址 C.正在执行指令的首地址D.需计算有效地址后才能确定地址 15.8088/8086 存储器分段,每个段不超过() A.64K 个字B.32k 个字节 C.64k 个字节D.1 兆个字节 16.关于伪指令相关描述错误的是() 。 A.伪指令没有对应的机器码,只用来指导汇编过程的。 B.伪指令由编译器处理,在程序中可有可无。 C.编译器要通过执行伪指令才能对源程序进行相应的处理操作,完成编译工作。 D.伪指令是汇编语言源程序不可缺少的组成部分。 17.下列关于堆栈的说法,错误的是() A.以“先入后出”为原则。B.栈区最高地址单元的前一个单元为栈底。 D.压栈和弹出都是以字节为单位。C.运行中 SP 寄存器动态跟踪栈顶位置。 18.关于 8086/8088 微机系列,下列说法哪个是正确的() A.一个存储单元由 16 个二进制位组成,简称字。 B.当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C.在内存中,可以无限分配段,且段的大小不受限制。 D.段与段之间可以邻接,也可以重叠。 19.1KB 的存储器有()个存储单元? A.1000B. 1024C. 512D. 256 20. 下列程序中,出现逻辑错误的是()。 A.assume cs:code code segment mov ax,2 add ax,ax mov ax,4c00h int 21h code end B.assume cs:code code segment mov ax,2 add ax,ax code ends end C.aume cs:code code segment mov ax,2 add ax,ax mov ax,4c00h int 21h code ends end D.assume cs:code code segment x,2 add ax,ax mov ax,4c00h int 21h code ends 21. 对于如下程序 assume cs:code code segment start:mov ax,code mov ds,ax mov ax,0020h mov es,ax mov bx,0 s:mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end 下列说法正确的是()。 A.指令 mov ax,code 改为 mov ax,start 对程序要实现的功能没有任何影响。 B.程序不能通过编译,因为在loop 指令之前,没有对寄存器cx 进行设定。 C.程序实现的功能是将程序的所有指令复制到内存中以0:200h 为起始地址的一段内存空间中。 D.程序实现的功能是用内存中以0:200h 为起始地址的一段内存空间中的数据将程序的所有指令覆盖。 22.在 Intel8086 环境下,下列说法合理的是() 。 A.汇编语言程序载入内存后处于64K 空间以外的数据和指令将无法使用和执行。 B.一个数据段命名为data,此标号代表这个数据段在内存中的起始地址。 C.如果载入的程序没有返回语句,那么当程序代码执行完毕,将继续读取后续内存空间存储的指令到 CPU 内部作为指令执行下去,直到遇到返回指令为止。 D.用 DW 定义进行的数据,只能够以字为单位访问。 23.若将以 2000H 为段地址的整个段空间当作栈使用,那么寄存器SP 的初始值最合理的设置是()。 A.0001HB.0000HC.FFFFHD.FFFEH 24.生成 之后用 Debug 加载后,查看寄存器内容如下: ds=0c3e es=0c3e ss=0b4e cs=0b4f ip=0000 程序的起始地址的段地址是() 。 A.0c4eB.0c3eC.0c4fD.0 25. 在 Intel8086 环境下,对指令 mov ax,[bx]描述