实验12 问题
assume cs:codecode segment
start:mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset s2-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: jmp offset s
db "sunjunjian"
s: mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,160*11+36*2
mov cx,10
s1: mov al,ds:
mov es:,al
inc si
add di,2
loop s1
mov ax,4c00h ;还有这里 怎么两个结束程序啊
int 21h
s2: nop
code ends
end start
以上这个程序是自己辛辛苦苦才编出来的 但刚开始是不成功的 就是以上那两处没处理好 虽然通过看资料完成了
可还是明白不透(一个程序里两个结束程序第二个还在s2段里面) 什么道理望高手指点谢谢 回复 1# sunjunjian
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 s2-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
; 这个程序是将以下程序装入“安全空间”
; 以下程序并不是现在运行的,是等到CPU触发了零号中断才会通过索引中断号来运行的。
; 事实上就是两个程序。
do0: jmp offset s
db "sunjunjian"
s: mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,160*11+36*2
mov cx,10
s1: mov al,ds:
mov es:,al
inc si
add di,2
loop s1
mov ax,4c00h ;还有这里 怎么两个结束程序啊
int 21h
s2: nop
code ends
end start 对啊我怎么没想到啊 就是这么回事啊仍需努力学习啊
页:
[1]