汇编复习题

发布 2021-05-19 01:08:28 阅读 7465

《汇编语言程序设计》复习题。

一、 单项选择题。

1、使计算机执行某种操作的命令是( b)

a.宏指令 b.指令 c.伪指令 d.语句。

2、换码指令的助记符是( a )

a. xchg b. lea c. xlat d. mov

3、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(b)。

4、计算机能直接识别并执行的语言是( b )

a.汇编语言 b.机器语言 c.高级语言 d.低级语言。

5. 堆栈的工作方式是( d)

a.先进先出 b.随机读写 c.只能读出,不能写入 d.后进先出。

6、以下各个指令中正确的是( b )。

a. mov cs, dxb. mov ds, bp

c. in 20h,ald. mov ah, bx

8、已有汇编语句“var equ 1220h”,则语句“mov ax, var”中源操作数的寻址方式为( b )。

a. 立即寻址b. 直接寻址。

c. 寄存器间接寻址d. 基址寻址。

9、与mov bx,offset var指令完全等效的指令是( d )。

bx, bx,var

bx, bx,var

10、指令inc一定不会修改的标志是( c )。

a. 溢出标志ofb. 符号标志 sf

c. 进位标志cfd. 奇偶标志pf

11、已知ds=2000h,es=1000h, si = 0800h,内存10880h开始的两个单元中存放5678h,内存20880h开始的两个单元中存放8765h,则语句“lea bx,[si+80h]”执行后bx的值为( c )。

a. 5678h b. 1000h c. 0880h d. 8765h

12、汇编结束语句有( c )种格式,为( )

a.1,endb.1,end 程序的启动地址标号。

c.2,end和 end 程序的启动地址标号 d.以上都不正确。

13、 指令“call far ptr sum”执行时将会向堆栈中顺次压入( b )。

a. ip、 csb. cs、ip

c.标志寄存器值、ipd.标志寄存器值,cs、ip

16、要在程序中定义缓冲区buf,保留10个字节存储空间的语句是( c )

dw db 10

db 10 dw 10 dup (?

17、ibm pc微机中,有符号数是用( b )表示的

a、原码 b、补码 c、反码 d、bcd码

18、设sp初值为3050h,执行指令push bx后,sp的值是( b )

a.304fhb.304eh

c.3048hd.3049h

19、jmp bx指令的寻址方式是( c )

a.寄存器寻址b.寄存器间接寻址。

c.段内直接转移寻址d.段内间接转移寻址。

20、df=1,执行movsb指令后 ( c )

减1,di减加1,di加1,cx减1

减1,di减1,cx减1 加1,di加1,cx加1

21.指令mov bx,mask[bp],若mask=3500h,ss=1200h,ds=1000h,bp=1000h,那么源操作数的物理地址为:

a. 17500h b. 16500h c. 14500h d. 13500h

22.十六进制数88h,可表示下面几种形式,请找出错误的表示( d)。

a. 无符号十进制数136

b. 带符号十进制数-120

c. 压缩型bcd码十进制数88

d. 8位二进制数-8的补码表示。

23.指令指针寄存器是(a )。

a. ip b. sp c. bpd. psw

24. 设数据段中已有:

da1 db 12h,34h

da2 dw 56h,78h

下面有语法错误的语句是(b )。

a. adr1 dw da1b. mov da1+1,ax

c. mov byte ptr da2+1,al d. mov word ptr da1+1,al

25. 堆栈的工作方式是(d )

a.先进先出 b.随机读写 c.只能读出,不能写入 d.后进先出。

26.指令mov ax,[3070h]中源操作数的寻址方式为( b)

a.寄存器寻址 b.直接寻址 c.立即寻址 d.间接寻址

27.要求cx=-1时转至minus处,下面的指令序列不能实现这一功能的是(c)。

a、inc cx

jz minus

b、sub cx,offffh

jz minus

c、and cx,offffh

jz minus

d、xor cx,offffh

jz minus

28.以下跳转指令中不属于段内跳转的是(c ):

near ptr l1 short l2

dword ptr[bx] l3

30. 对寄存器ax的内容乘以4的正确指令是(b)。(cl=2)

ax, ax,cl

ax, ax,cl

二、填空。1. loop指令的结束条件是___cx=0___

2. 在实模式下80x86 cpu能够访问的存储器空间为( 2 )byte,指令中访问的操作数的逻辑地址由偏移地址和(段)地址来表示。

3. 指令mov dx, [bx + si + 100h]的源操作数为( 相对基址变址 )寻址方式。

4. 假设(ds) =2000h, (es) =3000h ,(ss) =4000h, (bx) =1000h ,(bp) =1000h, (di) =0002h ,(21000h) =1234h, (21002h) =5678h ,(31000h) =9abch, (31002h) =0def0h,(41000h) =3456h, (41002h) =789ah 。则mov ax, es:[1000h] 执行时操作数的物理地址为3000h;mov ax, [bx]执行后(ax) =1234h ;mov ax,[bp + di] 执行时操作数的物理地址为 4000h,执行后(ax) =789ah。

5. 8086存储器中存放信息如图所示,则30022h单元的字节内容为 32h , 30020h单元的字内容为 1130h。

12. 现有(ds) =3000h, (bx) =0100h, (si) =0002h, (30100h) =12h, (30101h) =a7h,(30102h) =35h,30103h = 98h,填写每条指令执行后ax的值。

1) mov ax, 1200hax = 1200h

2) mov ax, [bxax = a712h

3) mov ax, [bx + si] ax = 9835h

4) mov ax, [si + 100h] ax =9835h

13. 已知数据段有如下定义:

org 0200h (设置$ =0200h)

table dw 0314h

填写指令执行后ax的值。

mov ax, offset table ax = 0200h

mov ax, tableax =0314h

14. 设(cs) =1000h, bx = 1100h,则执行指令jmp bx后,ip = 1100h ,指令的物理地址为 11100h

15、调用程序、子程序传送参数的方法通常有_寄存器传递、存储器传递和_堆栈传递三种方法。

四、简答。1、 以下指令中哪些属于段间转移指令?(1)、(2)、(6)

1) jnc next2) jmp bx

3) jmp far ptr lop14) jmp word ptr es:[2000h]

5) jmp dword ptr [bx+10h] (6) jmp near ptr towhere

10.子程序中通常要保护现场和恢复现场,如在子程序中用如下指令序列保护现场:

push ax

push si

push bp

请写出对应的恢复现场的指令序列。

pop bp

pop si

pop ax

五、按要求回答问题。

1. 以下的程序实现将内存单元20000h开始的100个字节初始化为‘a’,请将程序补充完整。

mov ds,2000h

mov si,offset [ds]

mov __cx___100

a:mov _[si]__a’

inc si

loop a

2. 设num1,num2都为字变量,请指出下面语句序列的功能。

mov ax,num1

汇编复习题

1 汇编语言的特点?答 执行速度快 程序短小 可以直接控制硬件 可以方便的编译 辅助计算机工作者掌握计算机体系 程序编制耗时,可读性差 程序可移植性差。2 二 八 十 十六进制数之间的转换?3 有无符号数 原码 反码 补码的概念?补码的加减法运算规则?cpu的两大逻辑部件?各自的功能?答 总线接口部...

汇编复习题

一 单项选择题。1.指令mov ax,2000h 的寻址方式为 a.基址寻址 b.寄存器间接寻址 c.变址寻址 d.存储器直接寻址。2 在debug工具中,单步执行指令的命令是 a.gb.dc.td.r 3 若栈顶的物理地址为20100h,当执行完指令push ax后,栈顶的物理地址为 a.2009...

汇编语言程序设计复习题

一 填空题。1.8086 8088cpu标志寄存器中的tf if和 属于控制标志位,而af pf of cf和 属于状态标志位。2.任何变量都有 和 三种属性。3.双字节无符号整数的最大值为 双字节有符号整数的最大值为 4.伪指令macro dq和end的标号名字域必须有名字的是 不得有名字是 可有...