首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

跪求好手帮忙完成汇编复习题

2012-12-29 
跪求高手帮忙完成汇编复习题一.单项选择题:1.对汇编语言程序进行翻译,形成OBJ文件的是a。A汇编程序B连接程

跪求高手帮忙完成汇编复习题
一.单项选择题:
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,写出相应的指令语句。                
MOV  CL,8
     ROL  AX,CL
     ADD  AX,BX
8.编写一个段内调用子程序disp,用来显示一个字符Y,并输出回车和换行。


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



[解决办法]
一. 单项选择题:
3.MASM语句中,表示常数不正确的形式是 。
A 01101001B B A346H
C ‘A’ D 5600
B:应该是0A346H
4.8086存储器存储空间为1MB,其地址范围为 。
  A 0-FFFH B 0-FFFFFH 
  C 0-FFFFH D 0-FFH 
B:1MB= 1024*1024*1byte,即2的20次幂,所以可寻址位数是20位


5.Dw 50 dup(?) 语句预留了 个字节存储空间。
  A 25 B 50
  C 100 D 200
D:DWord站4个byte.50 * 4 = 200
6.下列指令中有操作数在代码段中的是 。
  A mov ax,34h B add ax,bx
  C inc word ptr[34h] D cmp ax,[34h]
不会??????????
7.堆栈的数据操作原则(方式)是 。
  A 先进先出 B 先进后出
C 随机 D 循环
B 先进后出
8.选择格式正确的移位指令是 。
  A SHL BX,CX B SHL BX,CH
C SLL BX,CL D ROL AL,CL
B:解释不太清除.不敢乱说.等高手.
9.假设AL=5,要使得AL=0AH,应执行的指令是 。
  A not al B and al,0fh
  C xor al,0f0h D or al,0fh
A:b运行后al = 0fh.c运行后al= 0f5h.d运行后al=0fh
10.设置逻辑段应该采用的一对伪指令是 。
  A proc/endp B start/end start
  C segment/ends D macro/endm
C:a是定义过程的开始结束,b是告诉程序装入后,ip指针所指的语句,d不知道?????
11.执行or al,80h后,可以肯定的执行结果是AL寄存器的 。
  A 最高位为0 B 最高位为1
  C 低7位均为0 D 低7位均为1
B:
12.若标志DF为0,则执行串操作MOVS指令后,寄存器SI,DI会 。
  A 不变 B 减量
  C 增量 D 不定
 C
13.如下指令可将寄存器内容改变的是 。
  A cmp ax,bx B test ax,bx
  C and ax,bx              D xchg ax,ax
C
14.MUL CL指令实现 功能。
  A 有符号乘法:AX ?? AL×CL B 无符号乘法:DX ?? AL×CL
  C 有符号乘法:DX ?? AL×CL D 无符号乘法:AX ?? AL×CL
D
15.执行下面指令序列后,结果是 。
  MOV AL,93H
  CBW
  A AX=FF93H B AX=8093H
  C AX=0093H D AX=0F93H
A:
CBW - Convert Byte to Word
Usage:  CBW
Modifies flags: None
Converts byte in AL to word Value in AX by extending sign of AL
throughout register AH.
16.对汇编语言程序进行翻译,形成EXE文件的是 。
A 汇编程序(masm) B 连接程序(link)
C 编辑程序(edit等) D 调试程序(debug)
B:
172.下列各个8位二进制数的补码中,真值最小的是 。
A 10001000 B 11111111
C 00000000 D 00000001
A:
A=-8,b=-1,c=0,d=1

18.MASM语句中,表示常数不正确的形式是 。
A 01101001B B 5600
C ‘A’ D A346H 
D:0A346H.前面加0,是为了和标号做区分.标号是不允许数字开头的,
19.8086存储器存储空间为1MB,其地址范围为 。
  A 0-FFFH B 0-FFFFFH 
  C 0-FFFFH D 0-FFH 
B重复
20.执行 mov bx,seg var指令,bx得到变量var的 。
  A 物理地址 B 偏移地址 
  C 段地址 D 有效地址 
C
21.下列汇编指令中,源操作数为立即数的是 。
  A mov ax,34h B add ax,bx
  C inc word ptr[34h] D cmp ax,[34h]
A,b是寄存器寻址,c是内存地址DS:[34]开始的word,d是内存DS:[34]开始的byte
22.在汇编指令Next:mov al, [si]中,next:是 。
  A 行号 B 标号
C 变量名 D 指令
B 标号
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
A
25.设置子程序应该采用的一对伪指令是 。
  A macro/endm B start/end start
  C segment/ends D proc/endp


D
26.执行and al,08h后,可以肯定的执行结果是AL寄存器的 。
  A 最高位为0 B 最高位为1
  C 低7位均为0 D 低7位均为1
B
27.在移位指令中,当移位次数大于1时,应先将移位次数置于 寄存器中。
  A CH B DH
  C DL D CL
D:严格来说应该是CX
28.如下指令可将AX寄存器的内容改变的是 。
  A cmp ax,bx B test ax,bx
  C and ax,bx              D xchg ax,ax
C
29.汇编语言中的变量有多种类型属性,但错误的类型是 。
  A 字节型byte B 字符型char
  C 字型word D 双字型dword
B 字符型char
30.在汇编语言程序中,对END语句描述正确的是 。
  A END语句是一可执行语句 B END语句表示程序执行到此结束
  C END语句表示源程序到此结束 D END语句汇编后产生机器码
C


先把好作的做完.

6.下列指令中有操作数在代码段中的是 。
  A mov ax,34h B add ax,bx
  C inc word ptr[34h] D cmp ax,[34h]
不会??????????

23.欲设定从偏移地址100开始安排程序,可使用 伪指令。
  A start=100 B start db 100
C org 100 D start equ 100
不会:?????????????????高手解释

这2个问题不会希望高手释疑!

不保证全对啊.
[解决办法]
第五题DW代表2个字节吧,DD才是4个字节。
[解决办法]
太长了。。给我留几个你不会的吧。。。


What a fucking day!

热点排行