| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1228 人关注过本帖
标题:发送汇编习题
取消只看楼主 加入收藏
datouen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-18
结帖率:0
收藏
已结贴  问题点数:30 回复次数:0 
发送汇编习题
一.    单项选择题:
1.对汇编语言程序进行翻译,形成OBJ文件的是        a         
A  汇编程序                           B   连接程序
C  编辑程序                           D   调试程序
2.下列各个8位二进制数的补码中,真值最大的是     d           
A   10001000                          B   11111111
C   00000000                          D   00000001
3.MASM语句中,表示常数不正确的形式是                     
A   01101001B                        B   A346H
C   ‘A’                               D   5600
4.8086存储器存储空间为1MB,其地址范围为                    
    A  0-FFFH                           B  0-FFFFFH
    C  0-FFFFH                          D  0-FFH
5.Dw 50 dup(?) 语句预留了              个字节存储空间。
    A   25                               B   50
    C   100                              D   200
6.下列指令中有操作数在代码段中的是                     
    A   mov ax,34h                        B   add ax,bx
    C   inc word ptr[34h]                   D   cmp ax,[34h]
7.堆栈的数据操作原则(方式)是                    
    A  先进先出                          B  先进后出
C  随机                              D  循环
8.选择格式正确的移位指令是                     
    A  SHL BX,CX                       B  SHL BX,CH
C  SLL BX,CL                        D  ROL AL,CL
9.假设AL=5,要使得AL=0AH,应执行的指令是                 
     A   not al                            B   and al,0fh
     C   xor al,0f0h                        D   or al,0fh
10.设置逻辑段应该采用的一对伪指令是                  
     A   proc/endp                        B   start/end start
     C   segment/ends                     D   macro/endm
11.执行or al,80h后,可以肯定的执行结果是AL寄存器的               
     A   最高位为0                      B   最高位为1
     C   低7位均为0                    D   低7位均为1
12.若标志DF为0,则执行串操作MOVS指令后,寄存器SI,DI会            
     A   不变                             B   减量
     C   增量                             D   不定
13.如下指令可将寄存器内容改变的是                  
     A  cmp ax,bx                          B  test ax,bx
     C  and ax,bx              D  xchg ax,ax
14.MUL CL指令实现                    功能。
     A   有符号乘法:AX  AL×CL      B   无符号乘法:DX  AL×CL
     C   有符号乘法:DX  AL×CL      D   无符号乘法:AX  AL×CL
15.执行下面指令序列后,结果是                    
           MOV AL,93H
           CBW
     A   AX=FF93H                           B   AX=8093H
     C   AX=0093H                           D   AX=0F93H
16.对汇编语言程序进行翻译,形成EXE文件的是                 
A  汇编程序(masm)                  B   连接程序(link)
C  编辑程序(edit等)                    D   调试程序(debug)
172.下列各个8位二进制数的补码中,真值最小的是               
A   10001000                          B   11111111
C   00000000                          D   00000001
18.MASM语句中,表示常数不正确的形式是                     
A   01101001B                        B   5600
C   ‘A’                               D   A346H
19.8086存储器存储空间为1MB,其地址范围为                    
   A  0-FFFH                           B  0-FFFFFH
   C  0-FFFFH                          D  0-FFH
20.执行 mov bx,seg var指令,bx得到变量var的               
   A  物理地址                          B  偏移地址
   C  段地址                            D  有效地址
21.下列汇编指令中,源操作数为立即数的是                     
   A   mov ax,34h                        B   add ax,bx
   C   inc word ptr[34h]                   D   cmp ax,[34h]
22.在汇编指令Next:mov al, [si]中,next:是                    
   A  行号                              B  标号
C  变量名                            D  指令
23.欲设定从偏移地址100开始安排程序,可使用               伪指令。
   A  start=100                          B  start db 100
C  org 100                           D  start equ 100
24.若定义xyz dw ’A’,则xyz字存储单元中存放的数据是                 
    A   0041H                            B   4100H
    C   0061H                            D   6100H
25.设置子程序应该采用的一对伪指令是                  
    A   macro/endm                        B   start/end start
    C   segment/ends                       D   proc/endp
26.执行and al,08h后,可以肯定的执行结果是AL寄存器的               
    A   最高位为0                        B   最高位为1
    C   低7位均为0                      D   低7位均为1
27.在移位指令中,当移位次数大于1时,应先将移位次数置于             寄存器中。
    A   CH                              B   DH
    C   DL                              D   CL
28.如下指令可将AX寄存器的内容改变的是                  
    A  cmp ax,bx                          B  test ax,bx
    C  and ax,bx              D  xchg ax,ax
29.汇编语言中的变量有多种类型属性,但错误的类型是                    
    A   字节型byte                       B   字符型char
    C   字型word                        D   双字型dword
30.在汇编语言程序中,对END语句描述正确的是                    
    A  END语句是一可执行语句       B  END语句表示程序执行到此结束
    C  END语句表示源程序到此结束    D  END语句汇编后产生机器码
二、填空题:
1.在80x86微机的输入/输出指令中,可以在指令中直接指定00~FFH的端口号,则可直接由指令指定的I/O端口数为                          
2.在MOV  AX,[BX] [SI]中,源操作数采用的是_____________    ______
寻址方式。
3.与mov bx, offset buf等效的LEA指令是_   ___  _                   ___。
  4.十六进制数1FD4H转换为二进制数的值是                            ,转换为十进制数的值是                                   
5.若定义:bdata db 3 dup(1, 2 , 4),则bdata变量前5个单元从低地址到高地址的数据依次是                                                
6.从逻辑地址为0700:100开始的一个8个字的数据区,其最后一个字的物理地址是                           
7.在BIOS功能调用中,负责显示输出的显示I/O中断为               号中断,负责键盘输入的键盘I/O中断为                      号中断,而在DOS中,负责基本I/O功能调用的I/O中断是                        号中断。
8.机器数一般用最有效位来表示数的符号,正数用              表示,
负数用                   表示。
9.汇编语言中,源操作数和目标操作数采用_____________    ______分隔。
10.与LEA  BX, buf等效的MOV指令是_   ____                      ___。
  11.11110110B=                      D =                          H 。
12.已知数据段如下:执行指令mov ax,ary+2后,ax=                         
Org  0100H
Ary  dw  3,4,5,6
Cnt  equ  $-ary
Db  1,2,cnt,3
13.在BIOS功能调用中,负责显示输出的显示I/O中断为               号中断,负责键盘输入的键盘I/O中断为                      号中断,而在DOS中,负责基本I/O功能调用的I/O中断是                        号中断。
三、简答题:
1.指出下列指令中的错误并改正
(1) mov BH, AX


(2) mov BYTE PTR [BX],1000


(3) mov [BX], [SI]


  2.写出把首地址为ARRAY的字数组的第5个字送DX寄存器的指令.要求使用以下几种寻址方式。
   (1) 寄存器间接寻址
   


   (2) 寄存器相对寻址


 
   (3) 基址变址寻址




  3.请用8位二进制补码计算下列表达式的值,并用十六进制数表示。
(1)85H+(-76H)                 (2)(-85H)- 76H  

4.已知(DS)=2000H、(BX)=0100H、(SI)=0002H,存储单元(20100H)-(20103H)依次存放(十六进制)12H 34H 56H 78H,存储单元(21200H)-(21203H)     依次存放(十六进制)2AH 4CH 0B7H 65H,说明下列每条指令执行完后AX寄存器的内容。
(1) mov ax, [1200h]                        (ax)=(         
(2)  mov ax, [bx+1100h]                     (ax)=(            
(3)  mov ax,[bx][si+1100h]                   (ax)=(         
5.画图说明下列伪指令所定义的存储空间及初始化的数据值。
      WORD_VAR  DW 2 DUP(0,1,2), ?,’BY’,256H




6.指出下列指令中的错误并改正
(1) mov BH, 1000


(2) mov BYTE PTR [BX],1000


(3) mov cs, ax


  7.写出把首地址为ARRAY的字数组的第5个字送DX寄存器的指令.要求使用以下几种寻址方式。
   (1) 寄存器间接寻址
   


   (2) 寄存器相对寻址


 
   (3) 基址变址寻址




 8.请用8位二进制补码计算下列表达式的值,并用十六进制数表示。
(1)(-85H)+76H          (2)85H-(- 76H)  


9.已知(DS)=2000H、(BX)=0100H、(SI)=0002H,存储单元(20100H)-(20103H)依次存放(十六进制)12H 34H 56H 78H,存储单元(21200H)-(21203H)依次存放(十六进制)2AH 4CH 0B7H 65H,说明下列每条指令执行完后AX寄存器的内容。
(1) mov ax, [1200h]                        (ah)=(         
(2)  mov ax, [bx+1100h]                     (al)=(            
(3)  mov ax,[bx][si+1100h]                   (ax)=(         

10.画图说明下列伪指令所定义的存储空间及初始化的数据值。
      BYTE_VAR  DB 2 DUP(1,2,2 dup(0)), ’BY’, 56H




四、程序阅读题:
1.下列程序段运行后,AX=                CF=               
                     mov ax, 0bc5fh
                     mov bx, 0cfbh
                     xor ax, bx
                     or ax, bx
  2.假设AX=1234h,执行如下程序段后,AX=            、 BX           
                     inc ax
                     mov bx,ax
                     neg bx
                     add ax,bx
3.假设程序中的数据定义如下:  Buf 1 db 30 DUP(?)
                               Buf 2 db 20 DUP(?)
Buf 3 db 1,2,3,4,5,6            
(1)    用一条指令将Buf3的头两个字节的内容放入SI。


(2)    写一条伪操作使Buf3_lenght的值等于Buf3域的实际长度。


4.下列指令段的功能是在数组中查找数据3,请在空格中填入应有的内容。
                      Org  120h
datal         db  0,1,2,3,4,5,6,7,8,9
         count        equ  $-datal
                      ...
                      mov di,offset datal
                      mov al,3
                      cld
                      mov cx,                        

                      Repnz    scasb
 
该命令序列执行后,CX=                           

DI=                           

5.阅读下列程序段,写出该程序段所执行的功能。
         
           Mov ch,4
Again: Mov cl,4
          Rol bx,cl
          Mov al,bl
          And al,0fh
          Add al,30h
          Cmp al,3ah
          Jl disp
          Add al,7h
  Disp:  mov dl,al
          Mov ah,2
          Int 21h
          Dec ch
          Jnz again
          ...
6.下列程序段运行后,BX=                  
                     mov cl, 3
                     mov bx, 0b7h
                     rol  bx, 1
                     rol  bx, cl
7.对于下面定义,各条MOV指令单独执行后,有关寄存器的内容是什么?
FLDB  DB  
TABLEA  DW 20 DUP(?)
TABLEB  DB  ’ABCD’
(1)MOV AX,TYPE  FLDB         (AX)=                  
(2)MOV CX,LENGTH  TABLEA    (CX)=                    

五、程序设计题:
1.分别用一条汇编语言语句完成如下功能:
(1)将AX中的高字节和低字节内容交换;
   

    (2)定义字符串变量string的值为happy;


(3)将AX寄存器清零;



2.编写程序段,要求不改变DH的内容,但要清除其最左边3位的值,结果存入BH寄存器。






3.设有两个无符号字数据X和Y,请写出程序段:比较X、Y的大小。若X大,则输出字母X,若Y大,则输出字母Y。



4.编写一个段内调用子程序find_char。子程序的参数是一个N字节数组的首地址Table,数N及字符CHAR。要求在N字节数组中查找字符CHAR,并记录该字符的出现次数。


5.有一个首地址为ARRAY的M字数组,试编写一个程序段:求出该数组的内容之和(不考虑溢出),并把结果存入TOTAL中。



6.编写程序段,要求把BL中的数除以CL中的数,并把其商乘以2,最后结果存入DX寄存器中。





7.如(AX)=0012H,(BX)=0034H,要求把它们装配在一起形成(AX)=1234H,写出相应的指令语句。               

8.编写一个段内调用子程序disp,用来显示一个字符Y,并输出回车和换行。


9.请编写一个完整的汇编语言源程序,要求如下:
从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果。


 
搜索更多相关主题的帖子: 习题 汇编 
2010-04-18 21:10
快速回复:发送汇编习题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018596 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved