|
主题 : : 关于检测点3.1 [待解决] |
回复[ 22次 ]
点击[ 1773次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-02-10 01:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-02-10 01:48 |
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
mov ax,<0000> ax=
这里,AX怎么不是等于8070,为什么是2662
这里我错了,结果我下面的答案全是错的,请各位老师指教,
另外有老师愿意加我QQ教我吗?我是自学的,很多地方半懂不懂,希望各位老师多多帮忙.
我的QQ:258977951
谢谢 | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-02-10 06:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-27 18:48 |
题目后面已经提醒了:注意DS的设置。DS=0001,所以[0]其实是00010(DS=0001*10H+0开始的),所以必须用第二排数据。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-02-10 14:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-02-10 01:48 |
明白了
我这里一直想错了,呵呵
谢谢楼上的,万分感激 | | |
|
|
|
|
[第3楼]
[ 回复时间:2012-02-01 21:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-01-02 13:45 |
|
|
|
|
|
[第4楼]
[ 回复时间:2012-06-19 11:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-06-17 16:57 |
您好,请问当ds=0001时,[0]不是0001:0000的意思吗 | | |
|
|
|
|
[第5楼]
[ 回复时间:2012-06-19 11:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:30
信誉值:4
注册日期:2012-01-01 16:36 |
物理地址=段地址*16+偏移地址
ds是段地址,
1*16=16,16进制也就是10H | | |
|
|
|
|
[第6楼]
[ 回复时间:2012-06-27 02:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-06-24 17:08 |
谁能再帮我讲讲检查点3.1 第一题吗? 我搞了很久还是不能明白。 | | |
|
|
|
|
[第7楼]
[ 回复时间:2012-06-29 17:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2011-12-15 15:16 |
谁能再帮我讲讲检查点3.1 第一题吗? 我搞了很久还是不能明白。
------------------
回复:
mov ax,1/ax=0001
mov ds,ax/ds=0001
mov ax,[0000]/因为ds=0001,所以就要在0001地址里看了。0001*16(这里的16其实是十进制里的10)+0000=00010+0000=00010。
接下来能看懂了吧 | | |
|
|
|
|
[第8楼]
[ 回复时间:2014-02-03 19:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-01-31 11:09 |
0000:0010绝对地址其实就等于0001:0000
0ff0:0100=10000
用计算器加一下就知道了! | | |
|
|
|
|
[第9楼]
[ 回复时间:2014-11-15 13:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06 |
上面说的0ff0:0100=1000怎么我看不懂呢,这本书上绝对没有的! | | |
|
|
|
|
[第10楼]
[ 回复时间:2014-11-15 13:37 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06 |
呃,我知道错了,是0ff0*10H+0100=10000 | | |
|
|
|
|
[第11楼]
[ 回复时间:2014-11-15 13:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06 |
|
|
|
|
|
[第12楼]
[ 回复时间:2014-11-15 13:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06 |
回复:[第1楼]
------------------[0]不是00010,00010是物理地址了,而[0]是偏移地址,ds是0001,现在的问题是0001:0000与0000:0010是否等价 | | |
|
|
|
|
[第13楼]
[ 回复时间:2015-01-08 20:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-11-21 10:38 |
不是段地址乘以16 加上偏移地址吗 。。。 怎么是 10 了 | | |
|
|
|
|
[第14楼]
[ 回复时间:2015-09-10 14:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2015-09-01 08:48 |
16是十进制的说法,而10H是十六进制的表现形式,两者在数值上是相等的 | | |
|
|
|
|
[第15楼]
[ 回复时间:2017-02-02 01:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2016-12-29 01:01 |
今天刚做这个监测点的时候,我一直以为ax=1280H,想了好久才明白!
ds=1,偏移地址为0,所以物理地址是10+0=10,我把'10'当成十进制的10了,忘了'10'后面还跟着一个十六进制标志H呢,物理地址应该是10H,就是第二行开头位置。 | | |
|
|
|
|
[第16楼]
[ 回复时间:2017-05-01 12:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2017-05-01 11:58 |
《第3版》检测点3.1的第(2)题不理解,请教老师
通过该题我还是没体会到数据和程序的区别,不知如何确定内存中的信息哪些是数据,哪些是程序? | | |
|
|
|
|
[第17楼]
[ 回复时间:2017-05-20 20:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2017-05-20 20:23 |
百度的https://zhidao.baidu.com/question/351771586.html
程序与数据原本没有任何区别,在内存中都只是以二进制形式存储的数据,
以前我也问过这问题,没得到个很明确的答案,但现在的理解是当CPU指向你
这段数据的地址,并且运行它,那这些数据就成了程序,或者说指令,也就是
被CS,IP指向了。
就像运行中的程序才能成为进程有类似的概念。 | | |
|
|
|
|
[第18楼]
[ 回复时间:2018-10-12 02:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2018-10-12 02:26 |
|
|
|
|
|
[第19楼]
[ 回复时间:2020-04-14 15:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2020-04-14 15:05 |
同一内存地址,可以用不同的段地址和偏移地址表示。一个数据段的超始位置是16的倍数,也即每个数据段的大小必定是16的倍数。所以段地址0000 和0001相差就是16个内存单元。0000:0 和0001:0相差正好是16个内存单元。0000:10和0001:0指向的是同一物理内存地址。 | | |
|
|
|
|
[第20楼]
[ 回复时间:2022-10-10 10:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2022-10-09 11:54 |
检测点3.1 (2)
cs=2000 ip=0000 ds=1000 ax=0000 bx=0000
mov ax,6622 cs=2000 ip=0003 ds=1000 ax=6622 bx=0000
jmp 0ff0:0100 cs=0ff0 ip=0100 ds=1000 ax=6622 bx=0000
mov ax,2000 cs=0ff0 ip=0103 ds=1000 ax=2000 bx=0000
mov ds,ax cs=0ff0 ip=0105 ds=2000 ax=2000 bx=0000
mov ax,[0008] cs=0ff0 ip=0108 ds=2000 ax=C389 bx=0000
mov ax,[0002] cs=0ff0 ip=010B ds=2000 ax=C389 bx=EA66 | | |