(1)
第一空:2662H
第二空:E626H
第三空:E626H
第四空:2662H
第五空:D6E6H
第六空:FD48H
第七空:2C14H
第八空:0000H
第九空:00E6H
第十空:0000H
第十一空:0026H
第十二空:000CH
(2)
①指令序列如下:
mov ax,6622h
jmp 0ff0:0100
mov ax,2000h
mov ds,ax
mov ax,[0008]
mov ax,[0002]
②
1 mov ax,6622H
此时CS=2000H,IP=0003H,DS=1000H,AX=6622H,BX=0
2 jmp 0ff0:0100
此时cs=0FF0H,IP=0100H,DS=1000H,AX=6622H,BX=0000H
3 mov ax,2000H
此时cs=0FF0H,IP=0103H,DS=1000H,AX=2000H,BX=0000H
4 mov ds,ax
此时cs=0FF0H,IP=0105H,DS=2000H,AX=2000H,BX=0000H
5 mov ax,[0008]
此时cs=0FF0H,IP=0108H,DS=2000H,AX=C389H,BX=0000H
6 mov ax,[0002]
此时cs=0FF0H,IP=010BH,DS=2000H,AX=EA66H,BX=0000H
③体会:
数据和程序在计算机中都是以2进制形式存放于每个内存单元中,任意时刻,CPU将CS:IP指向的内容当作指令执行.没有被cs:IP直接指向的时候他们又可以被当作独立的数据来调用.
![学习动态](images/model1/b8.gif)
![最新评论](images/model1/b1.gif)
- [crazyman] 正确!呵呵 07/01 09:20
- [wsrf] 正确。 06/22 12:47
- [kamjia] 谢谢楼上朋友的解答 06/10 17:55
- [mess] 这个是对的,cpu不可能根据cs ip就知道cs:ip所指向的内存指令的长度,是需要解析才能计算出c 06/09 16:49
- [游客] 我觉得博主说的还是中心不明确。 读取指令后,就会改变IP了,然后才是执行。你写的cpu工作过程说的 06/08 11:14
- [游客] 挺好的文章啊!! 06/08 11:10
- [kamjia] (1)给定段地址为0001H,仅通过变化偏移地址寻址。 偏移地址16位,变化范围为0-FFFFH。 06/07 14:03
- [kamjia] 不好意思,写是确实不是很清楚.我以为把答案发上来就可以了. 谢谢mess的建议. 8086C 06/07 13:48
- [mess] 答案正确,不过配上分析就更好了~ 06/06 16:41
- [mess] 次数和结果都正确,但修改ip的时机描述不清,前两次修改ip为什么不实在读入指令之后,而是执行指令之后 06/06 16:40