(1)
AX=2662
BX=E626
AX=E626
AX=2662
BX=D6E6
AX=FD48
AX=2C14
AX=0000
AX=00E6
BX=0000
BX=0026
AX=000C
(2)
CPU执行的指令序列:
mov ax,6622H CS=2000 IP=0003 AX=6622
jmp 0ff0:0100 CS=0FF0 IP=0100 AX=6622
mov ax,2000H CS=0FF0 IP=0103 AX=2000
mov ds,ax CS=0FF0 IP=0105 AX=2000 DS=2000
mov ax,[0008] CS=0FF0 IP=0108 AX=C189 DS=2000
mov ax,[0002] CS=0FF0 IP=010B AX=EA66 DS=2000
后面那个数据和和程序的区别我还不是很清楚,,然后如何确定那些是数据那些是程序也不是很清楚,,给讲下哈
![学习动态](images/model1/b8.gif)
![最新评论](images/model1/b1.gif)
- [tomato] 博主第一题对了,第二题博主不知道,别着急,随着课程的继续博主会知道答案的。@V@ 02/23 16:21
- [crazyman] 对头~~~ 02/14 14:22
- [memecha] starrynight 谢谢你的回答,,我想我之前的理解和你说的差不多,,,,,,,只是我不太肯 02/03 11:04
- [starrynight] 题目回答得很好 题都作出来了,正常情况下应该能够体会的,哈哈 我想,博主学到这里应该能够 02/02 23:24
- [huibian] [ip又会以 jmp指令的操作数所表达的值 被强制更新一次] -------- 这里你不用管他 02/02 09:35
- [huibian] CPU连续读取和执行指令的过程: (1)从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲 02/02 09:33
- [memecha] [ip又会以 jmp指令的操作数所表达的值 被强制更新一次] 这句还是不懂啊,,,什么操作数啊.. 01/28 13:17
- [游客] jmp指令就是 更改cs和ip的指令 读取jmp指令 ip自然会改变一次,执行jmp指令过程中 01/28 12:26
- [memecha] (执行mov ax,bx的时候,只改变ax和bx两个寄存器的内容,ip不发上改变。) 那你这道题是 01/28 12:20
- [mouse] 这个检测点就是最好的例子。 执行mov ax,bx的时候,只改变ax和bx两个寄存器的内容,i 01/28 11:42
[ starrynight 发表于 2008-02-02 23:24 ]
题目回答得很好
题都作出来了,正常情况下应该能够体会的,哈哈
我想,博主学到这里应该能够认识到:CPU会把CS:IP所指向的任何一个内存单元地址处的数据读入,然后把它当作指令执行;类似的,也会把段寄存器和其他寄存器结合所指示的数据当作数据来进行处理加工。
由此我们可以明了:其实在内存中指令和数据是没有区别的,都是以二进制信息的形式存在于内存中的,只是在某一时刻,CPU把一些数据当作指令信息使用,而之前或之后,它们可能又会被CPU当作数据处理。
体会的时候要结合以前所学知识,活学活用,融会贯通。
不然,我们的知识点都是独立的,往后学会很费劲的,我是深有体会的。哈哈
说得有些罗嗦,希望你能明白。
[ memecha 发表于 2008-02-03 11:04 ]
starrynight 谢谢你的回答,,我想我之前的理解和你说的差不多,,,,,,,只是我不太肯定,而且也不太会表达,,
现在明白了,,呼呼,,,,,,,,,,,,,,我会按你的建议来学习的,,,,,,,,,,,,,,,,融会贯通