首页
社区
课程
招聘
[讨论]AMD蕊片内,测试实验8一个奇怪的现象,希望大侠们帮忙解答
发表于: 2009-7-5 20:20 3267

[讨论]AMD蕊片内,测试实验8一个奇怪的现象,希望大侠们帮忙解答

2009-7-5 20:20
3267
assume cs:code
code 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
code ends
end start
    这是指令执行以前的样子

mov ax,4c00h
int 21h
int 3h
add [bx+si],al
jmp 0000h
mov di,0008h
mov si,0020h
mov ax,cs:[si]
mov cs:[di],ax
jmp 0008
mov ax,0000h
int 21h
mov ax,0000h
jmp 0018
nop

我想问问各位大侠,为什会这样呢,按理说,只会改s:nop
                                          nop
这里,可是为什么,计算机连标号S以前的mov ax,0000指令也改了

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
用T命令,单步一下mov cs:[di],ax这条指令,看看执行前与执行后的地址08处机器码分别是什么,应该就知道问题出在哪里了。
2009-7-6 18:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个我知道为什么两个NOP会变成JMP 0000,但,标号S前面MOV AX,0000H为什么会变呢,这个不明白,希望各位大侠指点
2009-7-6 19:43
0
游客
登录 | 注册 方可回帖
返回
//