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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
友情链接

[2010-02-13 21:54] 检测点13.1、13.2

检测点13.1
(1)用7ch中断例程实现loop的功能,所能进行的最大转移位移是-32768~32767。这个位移范围是由bx的位数决定的。

(2)7ch中断例程的安装程序如下:
        assume  cs:code
code    segment
start:  mov     ax,code
        mov     ds,ax
        mov     si,offset mj
        mov     ax,0
        mov     es,ax
        mov     di,200h
        cld
        mov     cx,offset mjend-offset mj
        rep     movsb

        mov     bx,7ch*4
        mov     es:[bx],word ptr  200h
        mov     es:[bx+2],byte ptr 0

        mov     ax,4c00h
        int     21h

mj:     push    bp
        mov     bp,sp
        add     [bp+2],bx
        pop     bp
        iret
mjend:  nop
code    ends
        end     start

汇编连接运行之后,再运行教材上提供的应用举例程序:
        assume  cs:code
data    segment
        db      'conversation',0
data    ends
code    segment
start:  mov     ax,data
        mov     ds,ax
        mov     si,0
        mov     ax,0b800h
        mov     es,ax
        mov     di,12*160
s:      cmp     byte ptr [si],0
        je      ok
        mov     al,[si]
        mov     es:[di],al
        inc     si
        add     di,2
        mov     bx,offset s-offset ok
        int     7ch
ok:     mov     ax,4c00h
        int     21h
code    ends
        end     start

则能够实现在12行1列显示字符串“conversation!”。


检测点13.2
(1)不可以编程改变ffff:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。因为ffff:0处为ROM区,不可修改。
(2)int 19h中断例程,不可以由DOS提供。调用int 19h时,dos还未将它提供的中断例程装入内存。
评论次数(0)  |  浏览次数(590)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码