困惑灵魂 发表于 2011-6-12 00:38:41

实验13-2 作业完成

;--------------中断实现循环------

assume cs:code

data segment
       
       
first:
        push bp
        dec cx
        cmp cx,0
        je over
        mov bp,sp
        sub ,bx ;修改栈中IP的值 ,返回时还原到标号那一步
over:
        pop bp
        iret
last:       
        nop
data ends

code segment
start:
        mov ax,data
        mov ds,ax
        ;安装7ch中断
        mov si,offset first ;首地址
        mov ax,0
        mov es,ax
        mov di,200h ;指定安装地址
        mov cx, offset last - offset first    ;长度
        cld
        rep movsb
        ;写入中断向量表地址
        mov word ptr es:, 0
        mov word ptr es:, 200h
       
        ;--------调用----
        mov ax,0b800h;字符指定显示区
        mov es,ax
        mov di,12*160    ;12行每行160字节
      mov bx,offsetok- offset s ;参数 - 位移
      mov cx,80 ;参数
s:      ;循环体
      mov byte ptr es:,'!'
      add di,2
      int 7ch
       
       
ok:   
        mov ax,4c00h
        int 21h       
       
code ends
end start
页: [1]
查看完整版本: 实验13-2 作业完成