| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1340 人关注过本帖
标题:有几个题不会做!请教一下!
只看楼主 加入收藏
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:17 
有几个题不会做!请教一下!
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寄存器中的内容是_____

能否详细说明一下解答过程!
搜索更多相关主题的帖子: 寄存器 
2007-03-20 12:17
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
第一题的C EQU A+1语句是错的,可以写成X EQU A+1
BX=1235H
第二题AX=5374H
DAT1 DB '1234'是以DB存放字符串,共2个DW大小,相减的时候取低16位
DAT2 DW 5678H 是以DW存放数据,
ADDR=5678H-0304H=5374H

2007-03-20 15:45
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
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
回复:(guixiaolan)题没有抄错!答案是1.5612H2.000...

太假了,怎么会是这种答案??!!


2007-03-20 17:50
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
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
收藏
得分:0 

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。


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2007-03-21 17:40
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
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

1、原来自己没看清题,A+1是地址改变,[A]+1才是值。其他疑问同LS。
2、。。。


2007-03-22 12:17
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
收藏
得分:0 
DAT1 DB '1234'
DAT2 DW 5678H

内存分布情况是这样

DAT1->1的ASC码
2的ASC码
3的ASC码
4的ASC码
DAT2->78H
56H

DB '1234' 和 DB '1','2','3','4' 是一样的

老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2007-03-22 12:35
快速回复:有几个题不会做!请教一下!
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015894 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved