汇编的一些考试题目,求达人给做下!

时间:2022-03-25 01:32:56
1.巳知DS=091DH,SS=1E4AH.AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,
(1E4F6H)=091DH。
  在以上给出的环境下,试问下列指令或指令段执行后的结果如何?

(1) MOV CL,[BX+20H][SI];        ext: DS*10H=091D0H+56H=09226H
     CL=   00F6H      
(2) MOV [BP][DI],CX;
  [BP][DI]=         ,CX=           
(3) LEA  BX,[BX+20H][SI]
  MOV AX,[BX+2]
  AX=            ,BX=            
(4) LDS SI,[BX][DI]
   MOV [SI],BX
   SI=   00F6       ,BX=          ,[SI]=          
(5) XCHG CX,[BX+32H]   DS*10+BX+32H=
  XCHG [BX+20H][SI],AX
CX=          ,AX=          ,


2.设DS=1000H:SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,
(126A5H)=16H,(21350H)=88H,(21351H)=51H;
    下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的
执行结果。   

(1) MOV AX,1352H
    AX=                
(2) MOV  AX,[1352H]
    AX=                
(3) MOV 0150H[BX],CH
  (11350H)=                
(4) MOV AX,0150H[BP]
   AX=                 
(5) POP  AX 
   AX=      88H          ,SP=     1352H           
(6) ADD [SI],CX
  (11354H)=            ,(11355H)=            ,SF=            ,
   ZF=            ,PF=            ,CF=            ,OF=            
(7)SUB BH.0150H[BX][SI]
BH=            ,SP=            ,ZF=            
PF=            ,CF=            ,OF=            
(8)  INC BYTE PTR 0152H[BX]
    (11352H)=            ,(11353H)=      26H      ,CF=     1       
(9)  INC WORD PTR 0152H[BX]
    (11352H)=            ,(11353H)=    27H        ,CF=      0      
(10) SAR BYTE PTR  0150H[BX]
    (11350H)=    5AH        .CF=     1       ,OF=     1       
(11) SAL  BYTE PTR 0150H[BX],
(11350H)=            ,CF=            ,OF=            



4.阅读下列各小题的指令序列.在后面丰格中填入该指令序列的执行结果
(1)  MOV BL,85H    
    MOV AL,17H
ADD  AL,BL
DAA
AL=    02H        ,BL=    85H        ,CF=       1      
(2)MOV AX,BX
   NOT AX
   ADD AX,BX
   INC AX
   AX=    0        ,CF     1       
(3) MOV AX,0FF60H
   STC  
   MOV DX、96
   XOR DH,0FFH
   SBB  AX,DX
   AX=            ,CF=    1        
(4) MOV BX,0FFFEH
   MOV CL,2
   SAR RX,CL
   BX=            ,CF=            



5.阅读分析下列指令序列   程序题
ADD AX,BX
JNC L1
JNO L2
SUB AX,BX
JNC L3
JNO L4
JMP L5
若AX和BX的初始值分别如下列五种情况所示,则执行该指令序列后,程序分别转向何处执行(注:即与出转移大的目的地址L1~L5中的一个)。
(1)AX=14C6H,BX=80DCH
(2)AX=0B568H,BX=54B7H
(3)AX=42C8H,BX=608DH
(4)AX=0D023H,BX=9FD0H
(5)AX=9FD0H,BX=0D023H L4   AX+BX=1FF3H  CF=1,OF=1     CF=1 Of=0


6.AND AL,AL
   JZ BRCHl
   RCR AL,1
JZ BRCH2
RCL AL,1
INC AL
   JZ BRCH3
   :
上述程序运行后,试回答:   程序题  
(1)当(AL)=00H            时,程序转向BRCHl
(2)当(AL)= 01H            时,程序转向BRCH2
(3)当(AL)=FFH            时,程序转向BRCH3


9. 程序段1            程序段2
    MOV AX.147BH    MOV AX,99D8H
    MOV BX.80DCH    MOV BX.9847H
    ADD AX.BX        SUB AX,BX
    JNO  L1            JNC L3
    JNC  L2            JNO L4
上述两个程序段执行后,分别转移到哪里?简述题  




10.MOV BX,0FFH
    AND BX,0FFFH
    0R BX,0F0FH
    XOR BX.00FFH
  上述程序段运行后,BX=   0F00H         ,CF=     0  


     
11.     CMP AX,BX
         JGE NEXT
         XCHG AX,BX
 NEXT: CMP AX,CX
         JGE DONE
         XCHG AX,CX
DONE;  :
试回答:
(1)上述程序段执行后.原有AX,BX,CX中最大数存放在哪个寄存器中?
(2)这三个数是带符号数还是无符号数?   简述题  



12.设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H,请指出在执行下列程序段后上述各单元内容的变化。
      MOV  A,@R0     ;
      MOV  @R0,40H    ;
      MOV  [40H],A     ;
      MOV  R0,#35H     ;
    R0=      A=      [32H]=    [40H]=  

1.画出下列语句中的数据在存储器中的存储情况。简述题  
    ARRAYB  DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3)
ABRAYW  DW l234H,5,’AB’,’CD’,9.2 DUP(1,3)











15.编写一程序段,将AL中的第7和第0位,第6和第1位,第5和第2
位,第4和第3位互换.














16.试编写——程序段,在CHAR为首址的26个字节单元中依次存放字母’
A’—’Z’。

17.设在数据段中有x,y两变量(字节单元),试编写程序段计算(只写有
关程序功能的指令)。
 

21 个解决方案

#1


做人不能太懒了........

#2


支持楼上的

#3


同意,作业?

#4


是朋友托我做的,我已经忘记光啦,求达人帮忙啦

#5


自己顶下

#6


iiii 

#7


#8


做人不能太懒了........

#9


1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H 
2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H 
3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=0056H送给BX,即结果(BX)=0056H 
MOV AX,2[BX];结果是(AX)=(DS:[BX+2])=(091DH:0058H)=(09228H)=1E40H 
4.LDS SI,[BX][DI];结果是将内存双字单元(DS:[BX+DI])=(091DH:0056H)=(09226H)中的内容分别送给SI和DS,即结果为(SI)=00F6H,(DS)=1E40H 
MOV [SI],BX;结果是将BX值0024H送给内存单元(DS:[SI])=(1E40H:00F6H)=(1E4F6H)中 
即最终结果为(1E4F6H)=0024H 
5.XCHG CX,32H[BX];结果是将CX的值5678H和内存单元(DS:[BX+32H])=(091DH:0056)=(09226H)中的内容00F6H互换,互换后结果为(CX)=00F6H,(09226H)=5678H 
XCHG 20H[BX][SI],AX;结果是将AX的值1234H与内存单元(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)中的内容5678H互换,互换后结果为(AX)=5678H,(09226H)=1234H

#10


1.画出下列语句中的数据在存储器中的存储情况。简述题   
    ARRAYB  DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3) 
ABRAYW  DW l234H,5,’AB’,’CD’,9.2 DUP(1,3) 
答:
0000 3F 63 41 42 43 44 ARRAYB  DB 63,63H,'ABCD',3 DUP(?),2 DUP(1,3) 
      [ 0003 
        00]
     [ 0002 
      01 03]
000D 1234 0005 6162 6364 ABRAYW  DW 1234H,5,'ab','cd',9,2 dup(1,3) 
       0009
       0002 
      [ 0001 0003]
       

#11


4.阅读下列各小题的指令序列.在后面丰格中填入该指令序列的执行结果 
(1)  MOV BL,85H     
    MOV AL,17H 
ADD  AL,BL 
DAA 
AL=0002H,BL=0085H,cf=1       
(2)MOV AX,BX 
   NOT AX 
   ADD AX,BX 
   INC AX 
   AX=0,CF=0     
(3) MOV AX,0FF60H 
   STC   
   MOV DX、96 
   XOR DH,0FFH 
   SBB  AX,DX 
   AX=ffca,CF=1 
(4) MOV BX,0FFFEH 
   MOV CL,2 
   SAR RX,CL 
   BX=ffff,CF=1       

#12


16.试编写——程序段,在CHAR为首址的26个字节单元中依次存放字母’ 
A’—’Z’。 
答:
.model small
.stack
.data
char db 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z !',0dh,0ah,'$'
.code
.startup
mov dx,offset char
mov ah,9
int 21h
.exit
end

#13


想想也不是很难

#14


想想也不是很难

#15


啥也不说了.顶楼上的.超强..

#16


顶做解答的高手!

#17


#18


还有没有做完的!!顶下!!

#19


人家做了那半天,楼主应该多表示才对。

#20


时代不同了

#21


九楼~~顶你~~

#1


做人不能太懒了........

#2


支持楼上的

#3


同意,作业?

#4


是朋友托我做的,我已经忘记光啦,求达人帮忙啦

#5


自己顶下

#6


iiii 

#7


#8


做人不能太懒了........

#9


1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H 
2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H 
3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=0056H送给BX,即结果(BX)=0056H 
MOV AX,2[BX];结果是(AX)=(DS:[BX+2])=(091DH:0058H)=(09228H)=1E40H 
4.LDS SI,[BX][DI];结果是将内存双字单元(DS:[BX+DI])=(091DH:0056H)=(09226H)中的内容分别送给SI和DS,即结果为(SI)=00F6H,(DS)=1E40H 
MOV [SI],BX;结果是将BX值0024H送给内存单元(DS:[SI])=(1E40H:00F6H)=(1E4F6H)中 
即最终结果为(1E4F6H)=0024H 
5.XCHG CX,32H[BX];结果是将CX的值5678H和内存单元(DS:[BX+32H])=(091DH:0056)=(09226H)中的内容00F6H互换,互换后结果为(CX)=00F6H,(09226H)=5678H 
XCHG 20H[BX][SI],AX;结果是将AX的值1234H与内存单元(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)中的内容5678H互换,互换后结果为(AX)=5678H,(09226H)=1234H

#10


1.画出下列语句中的数据在存储器中的存储情况。简述题   
    ARRAYB  DB 63,63H,’ABCD’,3 DUP(?).2DUP(1,3) 
ABRAYW  DW l234H,5,’AB’,’CD’,9.2 DUP(1,3) 
答:
0000 3F 63 41 42 43 44 ARRAYB  DB 63,63H,'ABCD',3 DUP(?),2 DUP(1,3) 
      [ 0003 
        00]
     [ 0002 
      01 03]
000D 1234 0005 6162 6364 ABRAYW  DW 1234H,5,'ab','cd',9,2 dup(1,3) 
       0009
       0002 
      [ 0001 0003]
       

#11


4.阅读下列各小题的指令序列.在后面丰格中填入该指令序列的执行结果 
(1)  MOV BL,85H     
    MOV AL,17H 
ADD  AL,BL 
DAA 
AL=0002H,BL=0085H,cf=1       
(2)MOV AX,BX 
   NOT AX 
   ADD AX,BX 
   INC AX 
   AX=0,CF=0     
(3) MOV AX,0FF60H 
   STC   
   MOV DX、96 
   XOR DH,0FFH 
   SBB  AX,DX 
   AX=ffca,CF=1 
(4) MOV BX,0FFFEH 
   MOV CL,2 
   SAR RX,CL 
   BX=ffff,CF=1       

#12


16.试编写——程序段,在CHAR为首址的26个字节单元中依次存放字母’ 
A’—’Z’。 
答:
.model small
.stack
.data
char db 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z !',0dh,0ah,'$'
.code
.startup
mov dx,offset char
mov ah,9
int 21h
.exit
end

#13


想想也不是很难

#14


想想也不是很难

#15


啥也不说了.顶楼上的.超强..

#16


顶做解答的高手!

#17


#18


还有没有做完的!!顶下!!

#19


人家做了那半天,楼主应该多表示才对。

#20


时代不同了

#21


九楼~~顶你~~