|
主题 : : 这条题如何去理解? [待解决] |
回复[ 5次 ]
点击[ 257次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-06-25 16:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2009-06-25 16:39 |
有数据定义伪指令DB 10H DUP(4, 2DUP(2))所定义的数据单元中有数据‘0402H’的字存储单元的个数是( )
A.10H B.08H C.0EH D.0FH
把解答过程帮我详细说说..谢 | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-06-26 10:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:49
信誉值:0
注册日期:2008-10-15 16:15 |
展开伪指令:
DB 10H DUP(4, 2DUP(2))
=DB 10H DUP(4,2,2)
=DB 10H DUP(04,02,02)--因为前面是db
也就是有10h个04 02 02,当然0402h也就有10h个了。
还有一个更简单的方法:实践,写一个.asm文件,编译连接,debug一下自己就能确定答案了。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-06-26 14:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2009-06-25 16:39 |
展开伪指令:
DB 10H DUP(4, 2DUP(2))
=DB 10H DUP(4,2,2)
=DB 10H DUP(04,02,02)--因为前面是db
也就是有10h个04 02 02,当然0402h也就有10h个了。
还有一个更简单的方法:实践,写一个.asm文件,编译连接,debug一下自己就能确定答案了。
------------------
回复:
10H答案不对啊? | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-06-26 15:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
我想一楼的分析过程楼主明白了吧,至于答案,我也觉得10h是最合理的。
如果说使用ds:[0] ds:[2] ds:[4] ...去访问字单元,查找‘0402H’的话,个数是08h(不过问题有了,难道不能ds:[3]访问字单元吗?显然是能的,所以这个答案不太合理)
debug可以查看到,内存中数据如下:
04 02 02 04 02 02 04 02 02 ... | | |
|
|
|
|
[第4楼]
[ 回复时间:2009-06-26 21:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2009-06-25 16:39 |
我想一楼的分析过程楼主明白了吧,至于答案,我也觉得10h是最合理的。
如果说使用ds:[0] ds:[2] ds:[4] ...去访问字单元,查找‘0402H’的话,个数是08h(不过问题有了,难道不能ds:[3]访问字单元吗?显然是能的,所以这个答案不太合理)
debug可以查看到,内存中数据如下:
04 02 02 04 02 02 04 02 02 ...
------------------
回复:
debug 里是如何输的>? dup 这里输入就有错
我是进入debug后..直接输入a 100 然后另输入DB 10 DUP(4, 2DUP(2)) debug 说有错.过不了 | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-07-04 22:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-06-27 23:55 |
DB 10H DUP(4, 2DUP(2))=DB 10H DUP(4,2,2)=DB 10H DUP(04,02,02)
即04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H- 04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H-04H 02H 02H
如上有中划线的两个字节即是0402H,所以有15个 答案是D | | |