. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
主题 : :  实验八.为什么能够正确返回  [待解决] 回复[ 5次 ]   点击[ 442次 ]  
b307077419
[帖 主] [ 发表时间:2010-11-14 11:33 ] 
荣誉值:0
信誉值:0
注册日期:2010-09-04 10:41
assume cs:codesg

codesg segment
        mov ax,4c00H
        int 21H     ;执行这里时已经返回操作系统,后面的指令都不在执行了。 
 start:
        mov ax,0
 s:
        nop
        nop

        mov di,offset s
        mov si,offset s2

        mov ax,cs:[si]
        mov cs:[di],ax

 s0:
        jmp short s
 s1:
        mov ax,0
        int 21h
        mov ax,0
 s2:
        jmp short s1
        nop

codesg ends
end

在debug中调试时,执行到int 21H时已经返回到操作系统,cs:ip已经指向另一个地方了。
sempron
[第1楼] [ 回复时间:2010-11-15 12:22 ] 
荣誉值:0
信誉值:0
注册日期:2010-10-29 09:56
基础不扎实,看来前面几章你就没仔细看啊。
最后加上end start,你就会发现CS:IP指向的第一条指令是从start开始的
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved