项羽姓秦 发表于 2020-4-3 20:45:49

实验13.2作业练习

源代码:

assume cs:code
code segment
start:
        mov ax,0b800h
        mov es,ax
        mov di,160*12
        mov bx,offset s-offset se
        mov cx,80
s:        mov byte ptr es:,'!'
        add di,2
        int 7ch
se: nop
        mov ax,4c00h
        int 21h
code ends
end start

编写中断代码程序:

assume cs:code
code segment
start:
        mov ax,cs
        mov ds,ax
        mov si,offset do0
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset do0end-offset do0
        cld
        rep movsb
        mov ax,0
        mov es,ax
        mov word ptr es:,200h
        mov word ptr es:,0
        mov ax,4c00h
        int 21h
        ;以上为一个安全区域
        ;以下为一个中断列表程序
do0:
        push bp
        mov bp,sp
        dec cx
        jcxz do1        ;判断cx是否为0,如果是,则跳转到do1,否则向下执行
        add ,bx
do1:
        pop bp
        iret
do0end:nop

code ends
end start

测试成功,若程序有所错误,请大神指点,或者有不同想法的朋友,一起讨论。
页: [1]
查看完整版本: 实验13.2作业练习