汇编语言程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言程序设计》模拟题 1

一、填空:

1、CPU的指令指针寄存器为: IP ,它与 CS 寄存器联用确定下一条指令的物理地址。

2、若要将所有数据及代码都放在一个段内,应建立 TINY 存储模型。

3、操作数:ES:TABLE[DI]、FEES[EBX*2]、MSAK[EAX][EBX]分别采用直接变址、比例变址、相对基址变址寻址方式。

4、读取当前光标位置可使用BIOS INT 10H的 3 号功能调用,作为出口参数,光标的行号及列号将从 DX 寄存器中获得。

5、通常用CPU的 DX 寄存器间接寻址端口地址。

6、如果在宏定义体设置局部标号,应使用 LOCAL 伪操作以避免在宏展开时出现标号的多重定义。

7、设(CS)=2A31H,(DS)=9300H,(SS)=25F0H,(BP)=0131H,(SI)=0110H,(DI)=0102H,则指令MOV AX,[BP+SI+8]的源操作数有效地址为_____0249H_____,物理地址为____26149H____。

8、设(AX)=1000H,(BX)=2340H,则在执行了指令CMP AX,BX后,CF标志值为_____1______,ZF标志值为______0________。

9、外设的发出中断请求若被CPU响应,有两个条件必不可少,即该外设的中断请求不被屏蔽和 CPU允许响应中断。

10、显示字符串可使用DOS 9号功能,它要求被显示的字符串最后一个字符必须是$。

11、中断发生时,保存现场将 IP 、CS 、 FLAGS 寄存器的内容存入堆栈。

二、选择题

1、下列寄存器中,( B )可作为基址寄存器。

A、AX

B、BX

C、CX

D、DX

2、下列指令序列中,清除当前中断请求(EOI)命令为:( A )

A、MOV AL,20H

B、MOV AL,20H

C、MOV AL,21H

D、MOV AL,21H

OUT 20H,AL IN AL,20H OUT AL,21H IN AL,

21H

3、段定义时,使用( D )定位类型,则该段必须从小段的边界开始。

A、BYTE

B、WORD

C、DWORD

D、PARA

4、若:(BX)=4336H,(CX)=0136H指令:SUB BX,CX 执行后,SF、ZF、OF、CF标志分别为( A )

A、0,0,0,0

B、0,1,0,0

C、1,0,0,0

D、0,0,0,1

5、若:FEES DW 10 DUP(100,?)

指令:MOV CX,LENGTH FEES执行后,CX的内容为:( c )

A、1000

B、1

C、10

D、2000

三、判断下列指令及伪指令是否正确(在括号中打“√”或“×”):

1、DIV 20H (×)

2、XCHG BX,ES (×)

3、CMP [BX],TABLE[SI] (×)

4、IN AL,DX (√)

5、MOV BYTE PTR[BX],25H (√)

6、MOV CS,0200H (×)

7、RET 8 (√)

8、LEA TABLE,BX (×)

9、ACL1 MACRO A,B,C (×)

ACL1 ENDM

10、NEWP PROC (√)

NEWP ENDP

四、完成下列指令序列:

1、将数据段中字串STRING1(长度为N),传送到附加段中以BUFF为首地址的缓冲区:

MOV SI,

MOV DI,

MOV CX, N

CLD

REP

2、分别用一条语句实现下述指明的功能

(1)变量AYD存放的地址指针送ES和SI

(2)AX的内容加1,要求不影响CF

解:1、OFFSET STRING1 OFFSET BUFF MOVSW

2、LES SI,AYD INC AX

五、分析计算题:

1.设(AX)=201BH,(BX)=110CH,(DI)=0001H,(DS)=4000H,(4110CH)=0AH,(4110DH)=81H,(4110EH)=70H;

则:① MOV AX,[BX]指令执行后,(AX)=;

② MOV BH,BYTE PTR[BX+DI+1],指令执行后,(BX)= .

2.

MOV AX,6540H

MOV DX,3210H

MOV CL,04

SHL AX,CL

MOV BL,AH

OR DL,BL

试问上述程序段运行后,

(AX)=

(BL)=

(DX)=

3、

DATA1 DW 1000H

DATA2 DW 2000H

PUSH DATA1

PUSH DATA2

POP DATA1

POP DATA2

问:①上述程序段执行后,(DATA1)=,(DATA2)= .

②设执行前(SP)=200H,执行后(SP)= .

解:1、810AH 700CH

2、5400H 54H 3265H

3、2000H 3000H 200H

六:叙述题:

调用程序和子程序之间参数传递有哪几种主要方式? 各自的特点是什么?

答:三种方式:寄存器传递方式、存储单元传递方式、堆栈传递方式

其中,寄存器传递方式快捷而且方便,但参数个数不能过多;存储单元传递对参数个数无要求, 堆栈传递方式对参数个数无要求,适用于子程序多重嵌套及递归调用.

相关文档
最新文档