青青 发表于 2020-3-28 09:14:27

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



一、填空:
      1、CPU的指令指针寄存器为:      ,它与       寄存器联用确定下一条指令的物理地址。
      2、若要将所有数据及代码都放在一个段内,应建立               存储模型。
      3、操作数:ES:TABLE、FEES、MSAK分别采用                、
               、                寻址方式。
      4、读取当前光标位置可使用BIOS INT 10H的                号功能调用,作为出口参数,光标的行号及列号将从                  寄存器中获得。
      5、通常用CPU的                寄存器间接寻址端口地址。
      6、如果在宏定义体设置局部标号,应使用                伪操作以避免在宏展开时出现标号的多重定义。
      7、设(CS)=2A31H,(DS)=9300H,(SS)=25F0H,(BP)=0131H,(SI)=0110H,(DI)=0102H,则指令MOV AX,的源操作数有效地址为________________,物理地址为_________________。
      8、设(AX)=1000H,(BX)=2340H,则在执行了指令CMP AX,BX后,CF标志值为___________,ZF标志值为______________。   
      9、外设的发出中断请求若被CPU响应,有两个条件必不可少,即                        
                            和                                                。
      10、显示字符串可使用DOS 9号功能,它要求被显示的字符串最后一个字符必须是         。
      11、中断发生时,保存现场将            、            、         寄存器的内容存入堆栈。
二、选择题
1、        下列寄存器中,(   )可作为基址寄存器。
A、AX       B、BX       C、CX         D、DX
2、        下列指令序列中,清除当前中断请求(EOI)命令为:(    )
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、        段定义时,使用(   )定位类型,则该段必须从小段的边界开始。
A、BYTE   B、WORD   C、DWORD       D、PARA
4、        若:(BX)=4336H,(CX)=0136H指令:SUB BX,CX 执行后,SF、ZF、OF、CF标志分别为(   )
A、0,0,0,0      B、0,1,0,0    C、1,0,0,0       D、0,0,0,1
5、        若:FEESDW 10 DUP(100,?)
       指令:MOV CX,LENGTH FEES执行后,CX的内容为:(   )
    A、1000    B、1   C、10   D、2000            
三、判断下列指令及伪指令是否正确(在括号中打“√”或“×”):
   1、DIV20H                           (   )
2、XCHG BX,ES                  (   )
   3、CMP ,TABLE            (   )
4、INAL,DX                      (   )
5、MOVBYTE PTR,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、LESSI,AYD      INC AX


五、分析计算题:
   1. 设(AX)=201BH,(BX)=110CH,(DI)=0001H,(DS)=4000H,(4110CH)=0AH,(4110DH)=81H,(4110EH)=70H;
则:① MOV AX,指令执行后,(AX)=                ;
② MOV BH,BYTE PTR,指令执行后,(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




六:叙述题:
调用程序和子程序之间参数传递有哪几种主要方式? 各自的特点是什么?
参考答案:
答:三种方式:寄存器传递方式、存储单元传递方式、堆栈传递方式
   其中,寄存器传递方式快捷而且方便,但参数个数不能过多;存储单元传递对参数个数无要求, 堆栈传递方式对参数个数无要求,适用于子程序多重嵌套及递归调用.


页: [1]
查看完整版本: 《汇编语言程序设计》模拟题