3-3 发表于 2017-5-21 18:56:53

实验15

在赋值的过程中有些错误,还好解决。
assume cs:code

stack segment
        db 128 dup (0)
stack ends

code segment
start:
        mov ax,stack
        mov ss,ax
        mov sp,128
       
        push cs
        pop ds
       
        mov ax,0
        mov es,ax
       
        mov si,offset int9
        mov di,204h
        mov cx,offset int9end-offset int9
        cld
       
        rep movsb
       
        push es:
        pop es:
        push es:
        pop es:
       
        cli
        mov word prt es:,204h
        mov word ptr es:,0
        sti
       
        mov ax,4c00h
        int 21h
       
int9:
        push ax
        push bx
        push cx
        push es
       
        in al,60h
       
        pushf
        call dword ptr cs:
       
        cmp al, 9eh
        jne int9ret
       
;---------主要修改程序内容---------------
        mov ax,0b800h
        mov es,ax
        mov bx,0
        mov cx,2000
s:
        mov byte ptr es:,41h
        add bx,2
        loops


;---------主要修改程序内容---------------

int9ret:
        pop es
        pop cx
        pop bx
        pop ax
        iret
        mov ax,4c00h
        int 21h
       
int9end:nop

code ends
end start
页: [1]
查看完整版本: 实验15