汇编网首页登录博客注册
十堰职业技术学院学生211012的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  

[2009-06-01 21:35] 检测点11.4

下面的程序执行后,(ax)等于多少?   
mov ax,0   
push ax   
popf   
mov ax,0fff0h   
add ax,0010h   
pushf ax   
pop ax   
and al,11000101B   
and ah,00001000B  

解析:  
前三句:所有标志寄存器清零  

执行add ax,0010H后ax=‘1’0000H  
OF(11)  SF(7)  ZF(6)  PF(2)  CF(0)  
0          0        1        1        1  

执行...
阅读全文 | 评论次数(1) | 浏览次数(276) | 所属类型(默认类型)

[2009-06-01 21:34] 检测点11.3

1,补全下面的程序,统计F000:3处32个字节中,大小在[32,128]的数据的个数。   
 mov ax,0f000h   
 mov ds,ax   

 mov bx,0   
 mov dx,0   
 mov cx,32   

s:mov al,[bx]   
 cmp al,32   
 ________  
 cmp al,128   
 _________  
 inc dx   
s0:inc bx   
 loop s   

解析:设其范围为M,则32<=M<=128,由题可知,统计个数时是跳转到s0处,而s0处前面是个数自动增1,...
阅读全文 | 评论次数(1) | 浏览次数(222) | 所属类型(默认类型)

[2009-06-01 21:34] 检测点11.2

sub al,al           结果:0   CF=0   OF=0   SF=0   ZF=1    PF=1  

mov al,10H  16    结果:10H  不影响标志寄存器  同上一步  
                           CF=0   OF=0   SF=0   ZF=1    PF=1  

add al,90H  -120    结果:0A0H=1010 0000B(PF)=--96(SF)    -96>-128(OF)  
 CF=0   OF=0   SF=1   ZF=0    PF=1  

mov al,80H  -...
阅读全文 | 评论次数(1) | 浏览次数(295) | 所属类型(默认类型)

[2009-06-01 21:33] 检测点11.1

sub al,al    结果:0    ZF=1  PF=1  SF=0  
mov al,1     结果:1,对标志寄存器不影响  同上  
push ax      结果:ax=1后压栈,对标志寄存器不影响  同上  
pop bx       结果:出栈到bx=1,对标志寄存器不影响  同上  
add al,bl    结果:al=01+01=02H=0010B  
                      ZF=0  PF=0  SF=0  
add al,10    结果:al=02H+0AH=12=1100B  
                      Z...
阅读全文 | 评论次数(1) | 浏览次数(295) | 所属类型(默认类型)

[2009-06-01 21:33] 检测点10.5

(1)下面的程序执行后,ax中的数值为多少?   
assume cs:code    
stack segment    
    dw 8 dup (0);   
stack  ends    
code segment    
start: mov ax,stack    
       mov ss,ax   
       mov sp,16   
       mov ds,ax  
        mov ax,0  
       call word ptr ds:[0eh]   
//执行时,先sp=sp-2=0eh,然后把inc ax的ip地址压栈。...
阅读全文 | 评论次数(1) | 浏览次数(298) | 所属类型(默认类型)

[2009-06-01 21:32] 检测点10.4

下面的程序执行后,ax中的数值为多少?   
内存地址        机器码          汇编指令    
1000:0        b80000        mov ax,6    
1000:2        ffd0          call ax    
1000:5        40            inc ax    
1000:6                      mov bp,sp    
                            add ax,[bp]//因为不存在add ax,[sp]  

答:ax是000Bh。 ...
阅读全文 | 评论次数(1) | 浏览次数(307) | 所属类型(默认类型)

[2009-06-01 21:31] 检测点10.3

下面的程序执行后,ax中的数值为多少?   
内存地址        机器码          汇编指令    
1000:0        b80000        mov ax,0    
1000:3        9a09000010    call far ptr s    
1000:8        40            inc ax    
1000:9        58          s:pop ax    
                            add ax,ax    
                            ...
阅读全文 | 评论次数(1) | 浏览次数(265) | 所属类型(默认类型)

[2009-06-01 21:30] 检测点10.2

下面的程序执行后,ax中的数值为多少?   

内存地址    机器码           汇编指令   
1000:0    b8 00 00       mov ax,0   
1000:3    e8 01 00       call s   
1000:6    40             inc ax   
1000:9    58           s:pop ax   

答:执行后,ax中的数值为6。  
因为执行call s时会把call指令执行后的偏移地址压栈,即为6.  
而执行完call指令后会跳到标号处执行s:pop ax ,即把栈里的数据出栈...
阅读全文 | 评论次数(1) | 浏览次数(275) | 所属类型(默认类型)

[2009-06-01 21:30] 10_1

检测点10.1   
补全程序,实现从内存1000:0000处开始执行指令。   
assume cs:code   

stack segment   
   db 16 dup (0)   
stack ends   

code segment   
start:mov ax,stack   
      mov ss,ax   
      mov sp,16   
      mov ax,1000h //所填:先把内存段地址压栈   
      push ax   
      mov ax,0  //所填:再把偏移地址压栈  
      push...
阅读全文 | 评论次数(1) | 浏览次数(286) | 所属类型(默认类型)

[2009-06-01 21:29] 检测点9.3

assume cs:code   
code segment   
start:mov ax, 2000h   
   mov ds, ax   
   mov bx, 0   
s:mov cl, [bx]   
   mov ch, 0    
   ____________   
   inc bx   
   loop s     
ok:dec bx   
   mov dx, bx   

   mov ax, 4c00h   
   int 21h   
code ends   
end start  

===================...
阅读全文 | 评论次数(1) | 浏览次数(293) | 所属类型(默认类型)
『 查看更多文章 』