- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:39
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:39
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 +瀨52sora饑渴淫蕩人妻求幹 +瀨52sora饑渴淫蕩人妻 03/12 00:38
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:38
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:38
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:37
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:37
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:37
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:37
- [lai-52sora] +瀨52sora饑渴淫蕩人妻求幹 03/12 00:37
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:28
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:27
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:27
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:25
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:25
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:25
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:24
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:24
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:24
- [游客] 千喜全台外送茶賴ns771《telegram:xd713》 #清純可愛淫蕩少女#升級老司機紅牌妹 04/14 02:23
[2010-02-14 09:06] 《汇编语言》第九章实验8
;运行后再思考:为什么是这种结果?
ASSUME CS:CODE
CODE SEGMENT
MOV AH,4CH
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
分析:程序从START开始,首先将AX清零。取得S的地址放入DI,S2的地址放入SI。将…………,分析不出来了,直接T吧
T:程序从START开始,目前一切正常,无不良记录-_-|||
程序执行到MOV AX,CS:[SI],将内存中的内容F6EB复制入AX
程序执行到MOV CS:[DI],AX,将F6EB复制到CS:0007处,不偏不差的覆盖了两个NOP命令,变成了JMP FFFF,我用U命令看的
执行完JMP SHORT S后,跳转到S处继续执行,下一条指令正是JMP FFFF,不知下面会有怎样的惊喜等着我们呢
额,执行之后……,IP变为FFFF,下一条指令为PUSH ES,再执行下试试
T之后,COMMAND化为一道黑影消失不见了……
我使用U命令查看,结果发现,在0B51:0007处,'EBF6'被翻译成'JMP FFFF',而在0B51:001F处,则被翻译成'JMP 0017'
根据书上所讲,JMP跳转的原理是位移,再思考一番,可以确定'EBF6'的意思是向前跳转8个字节。这样就理顺了,所以这个程序是不能正常退出的,至于答案上说的可以正常退出之类的我就不知道了。
为了体现我良好的学习习惯和不畏困难勇攀高峰的大无畏精神-_-|||,我决定研究研究答案上的说法……
参考答案上是这么曰的:
================================================================================================
程序可以正常返回。
详细分析:
在此题中较为深入地考察了‘段内直接短转移’[形如:jmp short 标号]的概念。
我们知道程序中:
mov di,offset s
mov si,offset s2
mov ax,cs:[si]
mov cs:[di],ax
四条指令的作用是将标号s2处的一条指令复制到标号s处。这时我们应该关心所复制的语句"jmp short s1"对程序的影响:我们知道在段内直接短转移指令所对应的机器码中,并不包含转移的目的地址,而包含的是转移的位移量(如对此概念还不太熟悉,请查看书中第167页的内容)。也就是说,在源程序的编译过程中,编译器遇到‘段内直接短转移’[形如:jmp short 标号]时就会自动算出其要跳转的位移量,以便程序在执行‘段内直接短转移’的指令时就根据位移量进行(向前或向后)跳转。通过调试中的U命令我们可以看到指令's2:jmp short s1'所对应的机器码是EBF6,F6h(-10d的补码)就是跳转的位移量[此位移量也可由指令's2:jmp short s1'处的偏移地址18h减去指令's2:jmp short s1'后一个字节的偏移地址22h得出]。这时我们就知道了其实复制到标号s处的指令所对应的机器码就是EBF6(刚好取代两个nop所对应的机器码),它的作用就是将当前IP向前移动10个字节。当程序执行标号s0处的指令后,程序便跳到标号s处接着执行标号s处的指令。s处的指令的作用是向前跳10字节,于是便跳到了代码中的第一条指令,继续执行后便实现了程序的正常返回。
[注意:此程序不会也不可能执行标号s1处后的指令。]
============================================================================================
照答案上曰的,'EBF6'的作用是使IP向前跳10个字节,不过我试了几次,确定一定以及肯定的say:EBF6的作用是向前跳8个字节。此程序不能正常返回!
[ versaariel 发表于 2010-02-14 10:23 ]
挺好的^-^
[ 游客 发表于 2010-02-18 09:48 ]
能正常返回的,位移是-10,也能向前跳10,你在试试吧
[ 游客 发表于 2010-02-18 23:05 ]
“ASSUME CS:CODE
CODE SEGMENT
MOV AH,4CH
INT 21H ”
程序都敲错了你还研究什么啊
mov ax,4ch 跟 mov ax,4c00h 一样吗啊?
真有意思你...
[ versaariel 发表于 2010-02-19 14:02 ]
他可能写错了,小问题,呵呵
[ hygf99 发表于 2010-02-20 14:08 ]
那谁,我写的是MOV AH,4CH
请仔细看看哦
呵,你也挺有意思的
没看清楚你还研究什么啊
[ versaariel 发表于 2010-02-21 08:36 ]
恩,我也没仔细看,如果是这样的话的确不能正常返回,MOV AH,4CH是2个字节,MOV AX,4C00H是3个字节,有区别
[ hygf99 发表于 2010-02-23 21:39 ]
VERSAARIEL说的很对
的确是这样,改为MOV AX,4C00H确实可以正确执行了
但是,EBF6的作用。。。。
我明白了,原来是这样:
我为什么以为EBF6是向前位移8个字节呢?因为在OB51:001F处是JMP 0017,算一算,1F-17=8.但是,我忘了一件灰常重要的事情,cpu读取指令后,IP+指令的字节数,所以。。。。应该加上EBF6本身的2个字节数,8+2=10。
EBF6的作用确实是向前位移10个字节
[ yiruirui 发表于 2010-09-03 14:51 ]
你连最起码的CPU执行指令的过程都不清楚,何来一定确定以及肯定?论坛里面这个问题我已经仔细回答过了,仔细去看看吧!
[ wangshu 发表于 2010-11-22 11:46 ]
我啥时候才能有这个水平呢?
[ rotapple 发表于 2011-06-21 17:53 ]
不过我试了几次,确定一定以及肯定的say:EBF6的作用是向前跳8个字节。此程序不能正常返回!
=======================================
它的确就是8个字节,但是你真的认真看过书上的关于偏移的计算方法吗?
看我写的这道题的解法:
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=40812&kindId=57150&postId=52101&readSg=1
我已经标上了书上多少页!
[ 游客 发表于 2012-02-22 19:17 ]
还有“段内直接短转移”的?太雷人了。
[ kanwangxue 发表于 2013-01-30 23:55 ]
呵呵。基础才是王道啊!
打个比方,一副画,在最开始首先是没有色彩的,先素描
素描搞的好,后面才会好,就这个意思。这还是孔子说的。
[ maverick 发表于 2013-08-11 12:07 ]
牛逼
[ 游客 发表于 2021-05-29 14:38 ]
1
[ lai-52sora 发表于 2024-03-12 00:35 ]
https://t.me/hey893
[ lai-52sora 发表于 2024-03-12 00:36 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:37 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:37 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:37 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:37 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:37 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:38 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:38 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:38 ]
+瀨52sora饑渴淫蕩人妻求幹
+瀨52sora饑渴淫蕩人妻求幹
+瀨52sora饑渴淫蕩人妻求幹
+瀨52sora饑渴淫蕩人妻求幹
+瀨52sora饑渴淫蕩人妻求幹
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:39 ]
+瀨52sora饑渴淫蕩人妻求幹
[ lai-52sora 发表于 2024-03-12 00:39 ]
+瀨52sora饑渴淫蕩人妻求幹