| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1346 人关注过本帖
标题:有几个题不会做!请教一下!
取消只看楼主 加入收藏
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:8 
有几个题不会做!请教一下!
1.
DSEG SEGMENT
A DW 1234H
B DB 56H
C EQU A+1
DSEG ENDS
执行MOV BX,C指令后,BX寄存器中的内容是______

2.
DESG SEGMENT
DAT1 DB '1234'
DAT2 DW 5678H
ADDR EQU DAT2-DAT1
DESG ENDS
执行指令MOV AX,ADDR后,AX寄存器中的内容是_____

能否详细说明一下解答过程!

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-20 12:17
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
题没有抄错!
答案是
1.5612H
2.0004H
我不知道是怎么得来的!

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-20 17:41
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
没办法,这些都是三级PC的考试题!
我也搞不懂啊,所以也很郁闷啊!
过些天就要考三级了,我还大家帮帮我呢!

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-20 19:47
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
大家帮帮忙啊!就快要考试了,我还有好多题不会做呢!

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-21 10:50
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
以下是引用angeloc在2007-3-21 17:40:35的发言:

1.
DSEG SEGMENT
A DW 1234H
B DB 56H
C EQU A+1
DSEG ENDS
执行MOV BX,C指令后,BX寄存器中存的是A的地址+1
A的地址+1取出的值是5612H
但是BX寄存器中的内容是5612H,是错误的!是不是出错题了???希望明白人教教我。。。

2.
DESG SEGMENT
DAT1 DB '1234'
DAT2 DW 5678H
ADDR EQU DAT2-DAT1
DESG ENDS
数据段定义中赋值语句EQU将表达式(DAT2-DAT1)的值赋予ADDR,表达式DAT2-DAT1的值为变量DAT2和变量DAT1相距字节数4,通过赋值语句将其赋予符号名ADDR,所以MOV AX,ADDR执行后,AX中内容为0004H。

题没有出错!

第二题变量DAT2和变量DAT1相距字节数怎么是4呢?不是二吗?
DB '1234'在内存中是怎么存储的?


[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-22 12:12
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
我一直以为是这样的!
1的ASC码
2的ASC码
3的ASC码
DAT1->4的ASC码
78H
DAT2->56H

可是有这样一道题
若定义DAT DB '1234',执行指令MOV AX,WORD PTR DAT后,AX寄存器的内容是3412H
这是为什么呢


[此贴子已经被作者于2007-3-22 12:58:00编辑过]


[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-22 12:51
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
以下是引用angeloc在2007-3-22 13:33:16的发言:

DAT->01H
02H
03H
04H
因为DAT是DB占4个字节,WORD PTR DAT是按字取DAT(2个字节),AX可以放4个字节,所以是3412

答案是这样讲的
DAT是字节类型,分别以12H,34H存储,执行指令MOV AX,WORD PTR DAT后强制转换为字类型,12H为低地址,34H为高地址,所以AX中的内容是3412H!


[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-22 14:21
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 
是3412H,不是3412

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-22 14:28
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
得分:0 

我也没办法啊!按照你说的应该都是错的啊!
答案就是这样啊!
这几道题都是这几年的三级PC考试试题啊!

但是你的答案又是怎么得来的呢!


[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2007-03-22 15:11
快速回复:有几个题不会做!请教一下!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016784 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved