汇编网首页登录博客注册
467994951的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

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

[2009-06-11 22:07] 检测点15.1

(1) 
pushf  
pushf  
pop ax  
and ah,11111100b  
push ax  
popf  
call dword ptr ds:[0]  

可以精简为:  
pushf  
call dword ptr ds:[0]  
两条指令 

解析: 
因为,在int 9中断例程执行前,  
硬件系统已经完成了3步工作  
1、键盘产生扫描码  
2、扫描码送入60h端口  
3、引发9号中断  
在第3步就要修改IF=0,TF=0 

(2) 
push es:[9*4]  
pop ds:[0]  
pus...
阅读全文 | 评论次数(1) | 浏览次数(355) | 所属类型(默认类型)

[2009-06-11 22:06] 检测点16.2

assume cs:code,ds:data 
data segment 
     a db 1,2,3,4,5,6,7,8 
     b dw 0 
data ends 

code segment 
start: 
     mov ax,data 
     mov ds,ax     
;前2句所填。获取数据段中的段地址,以便代码段中使用 
      mov si,0 
     mov cx,8 
s:   mov al,a[si] 
     mov ah,0 
     add b,ax 
     inc si 
     loop s ...
阅读全文 | 评论次数(1) | 浏览次数(348) | 所属类型(默认类型)

[2009-06-11 22:03] 检测点 14.1~ 14.2

(1)编程 ,读取CMOS RAM 2号单元内容 
(2)编程,像CMOS 2号单元写入0 

assume cs:code 

code segment 

start:mov al,2 
      out 70H,al 
      in al,71h 

      mov ax,4c00H 
      int 21h 


code ends 

end start   

(2)assume cs:code 

code segment 

start:mov al,2 
      out 70H,al 
      out 7...
阅读全文 | 评论次数(1) | 浏览次数(388) | 所属类型(默认类型)

[2009-06-11 21:45] 检测点16.1

(1)  
assume cs:codesg  

codesg segment  

    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h  

start:  mov ax,0  

    mov ds,ax  

    mov bx,0  

   

    mov cx,8  

s:  mov ax,[bx]  

    mov cs:[bx],ax    ;此条指令为所填指令  

    add bx,2  

    loop s  

   

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

[2009-06-05 12:47] 检测点3.2

由题可知 
此三个空要确定栈地址的初始位置  
即SS与SP  
即:  
mov ax,2000H   
mov ss,ax  不能直接向栈地址传送数据  
mov sp,10H  起始的偏移地址(栈底)(0E+2=10H)  

第二题:  
与第一题相反  
即mov ax,1000H  要出栈的初始数据  
  mov ss,ax  
  mov sp,0H  起始的偏移地址(栈顶0000H)...
阅读全文 | 评论次数(1) | 浏览次数(352) | 所属类型(默认类型)

[2009-06-05 12:43] 检测点6.1

第一题  
mov cs:[bx],ax   因为把数据当做代码段来处理了  

第二题  
第1空  
mov ax,cs  因为要把代码段间接传送给栈段  
第2空  
mov sp,1AH  确定栈底的偏移地址  
第3空  
pop cs:[bx]  指定数据出栈到代码段...
阅读全文 | 评论次数(1) | 浏览次数(304) | 所属类型(默认类型)

[2009-06-05 12:42] 检测点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) | 浏览次数(332) | 所属类型(默认类型)

[2009-06-05 12:41] 检测点9.2

利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。       
assume   cs:code       
code   segment       
start: mov  ax,2000H       
     mov  ds,ax       
     mov  bx,0       
 s:  ________       
     ________       
     ________       
     ________       
 jmp short s       
 ok: mo...
阅读全文 | 评论次数(1) | 浏览次数(322) | 所属类型(默认类型)

[2009-06-05 12:39] 检测点11.4

assume cs:code  
code segment  
  mov ax,0  
  push ax  
  popf  
  mov ax,0fff0h  
  add ax,0010h  
  pushf  
  pop ax  
  and al,11000101B  
  and ah,00001000B  
  mov ax,4c00h  
  int 21h  
code ends  
end  
执行指令"add ax,0010h"后,CF=1,OF=0,SF=0,ZF=1,PF=1  
(ax)=0045H...
阅读全文 | 评论次数(1) | 浏览次数(318) | 所属类型(默认类型)

[2009-06-05 12:38] 检测点11.3

1)补全下面的程序,统计F000:0处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   
  jb s0 //填空内容 
  cmp al, 128   
  ja s0  //填空内容 
   
  inc dx   
s0:inc bx   
  loop s   

2)补全下面的程序,统计F000:0处32个字节中,...
阅读全文 | 评论次数(1) | 浏览次数(306) | 所属类型(默认类型)
『 查看更多文章 』