CPU运行的流程分析。看不懂啊。
大神帮我指点指点啊。不懂啊。
1把6622给ax
跳转到1000:3也就是10003执行mov ax,0000
然后ip自增 指向了 mov bx,ax把ax的值给bx
然后jmp bx 就是jmp 1000:bx 也就是 1000:0 执行 mov ax,123h 把123h给ax
然后就又是 第三步mov ax,0000 之后都一样 牡丹花下死做鬼 发表于 2013-8-30 12:54 static/image/common/back.gif
1把6622给ax
跳转到1000:3也就是10003执行mov ax,0000
然后ip自增 指向了 mov bx,ax把ax的值给bx
他这个跳转到1000:3是怎么回事啊。跳转是怎么回事。 四六★不懂 发表于 2013-8-30 13:11 static/image/common/back.gif
他这个跳转到1000:3是怎么回事啊。跳转是怎么回事。
Jmp 一个地址 就是跳到这个地址去执行
jmp的用法甲鱼之后会讲的你先不急 牡丹花下死做鬼 发表于 2013-8-30 13:18 static/image/common/back.gif
Jmp 一个地址 就是跳到这个地址去执行
jmp的用法甲鱼之后会讲的你先不急
还有他说什么执行什么执行的,是什么意思啊。 在这执行那个,在那执行那个的。怎么个执行法啊? jmp跳转其实是跳转位移量,1000:3就是 物理地址=段地址*16+偏移地址 其中的16是十进制的 相对于16进制的10 即1000*10(hex)+3(hex)=10003 hex表示16进制的意思!望采纳哦 这个我搞懂啦
慢慢给你讲啊,别急
因为初始地址为CS2000IP为0所以第一步是mov ax,6622对吧,你看看左边那里有3个框的机器码对吧,它就是说IP增加3会跑到20003的位置执行jmp1000:3,这个指令时让你跳转到CS1000IP位3也就是10003的位置去,就是mov ax,0000,这里吧ax值清空啦,并且左边有3个框IP自增3就跑到了10006的位置执行movbx,ax,它的意思是让bx也变成0,并且左边有2个框,Ip自动跳转到10008的位置执行jmp bx,由于bx为0,所以就跑到了10000的位置进行执行mov ax,0123 这么多分啊,谢谢 wanghu1207 发表于 2013-8-30 14:13 static/image/common/back.gif
因为初始地址为CS2000IP为0所以第一步是mov ax,6622对吧,你看看左边那里有3个框的机器码对吧,它就是说IP ...
那个地址和对应的汇编指令有什么关系啊?他mov cx,ax 怎么就又到左边去了啊? 本帖最后由 wanghu1207 于 2013-8-30 17:39 编辑
左边对应的是机器码?movcx,ax是汇编指令,左边那个是把汇编指令翻译成的机器码,也就是机器语言。电脑看不懂movcx,ax但是能看懂0和1,机器码就是和0和1对应的一种中间状态
例如:
movax,6622对应的机器码就是B8 22 66
其中,可以把movax理解为B86622是拆开成8位就是22和66没个IP里面能放两个数,那么就是调用这个指令用了3个IP地址。
下面还有用两个IP地址的。
wanghu1207 发表于 2013-8-30 17:36 static/image/common/back.gif
左边对应的是机器码?movcx,ax是汇编指令,左边那个是把汇编指令翻译成的机器码,也就是机器语言。电脑看 ...
还有你看啊,那个mov ax,6622H 下面是jmp 1000:3 mov cx,ax这是怎么个关系啊?怎么就跳到1000那了? 很简单的, 机器码里的D8 EA C1之类的字母是什么意思啊
页:
[1]