| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1280 人关注过本帖
标题:汇编语言程序设计的几个题目
只看楼主 加入收藏
a261935348
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2012-5-27
收藏
得分:0 
回复 9楼 有容就大
顶~牛B  你用的什么软件呀?
2012-05-29 16:11
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 10楼 zklhp
那我向你确实下

VAR1 DW 1234H 89 ,255,-2,-0AH  
LEA BX,VAR1+4

VAR1 + 4 走几个字节?也就是说偏移量怎么算?对于 DW的定义。

梅尚程荀
马谭杨奚







                                                       
2012-05-29 16:12
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 11楼 a261935348
XP自带的 虚拟DOS平台。你的机器也有啊
不会光看书不敲代码吧。

梅尚程荀
马谭杨奚







                                                       
2012-05-29 16:14
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用有容就大在2012-5-29 16:12:14的发言:

那我向你确实下

VAR1 DW 1234H 89 ,255,-2,-0AH  
LEA BX,VAR1+4

VAR1 + 4 走几个字节?也就是说偏移量怎么算?对于 DW的定义。

应该是走4字节 也就是-2那个
2012-05-29 16:17
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用zklhp在2012-5-29 16:17:17的发言:


应该是走4字节 也就是-2那个
一个字节不是对应2个16进制位 (8个二进制位)那么一段内存
下标  内容
0     34H
1     12H
2     59H
3     00H   ;89的字分布是 0059H
4     FFH  
5     00H   ;对应255
6     FEH
7     FFH   ;对应-2
8     F6H
9     FFH   ;对应-0AH
从0走4个字节应该是 指向FFH 也就是255 怎么会是-2呢 不太明白啊。

梅尚程荀
马谭杨奚







                                                       
2012-05-29 16:23
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用有容就大在2012-5-29 16:23:29的发言:

一个字节不是对应2个16进制位 (8个二进制位)那么一段内存
下标  内容
0     34H
1     12H
2     59H
3     00H   ;89的字分布是 0059H
4     FFH  
5     00H   ;对应255
6     FEH
7     FFH   ;对应-2
8     F6H
9     FFH   ;对应-0AH
从0走4个字节应该是 指向FFH 也就是255 怎么会是-2呢 不太明白啊。

对 是到你说的那里 我数的不对

具体以编译器为准啊 你写个代码试试呗
2012-05-29 16:30
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 楼主 a261935348
讨论第二题
         LEA DI,BUF                  把BUF的第一个地址放入DI
         MOV CX,8                    8放如CX
         MOV AX,9                    9放入AX
这时 CX = 0008H, ZF = 0
在满足 CX > 0 并且 ZF = 0 的情况下  REPNZ SCASW 就会执行 去调试了下  REPNZ SCASW会改变 AF 和 PF 标志位
其他的标志位没发现改变目前,而且每次 REPNZ SCASW都会使CX - 1  , DI + 2. 还不知道ZF标志位在什么情况下会改变,hellovfp大哥说的 ‘并且串不相等(zf等于零),则继续比较 ’里的串在这里有没有体现?
但是确定的情形是 当 CX 减到0时 JNZ K1就执行了 所以 我认为你给的题目不全 后面K1应该还有内容 ,不然程序无法输出东西的。后面是不是还有啊?

梅尚程荀
马谭杨奚







                                                       
2012-05-29 19:19
a261935348
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2012-5-27
收藏
得分:0 
回复 17楼 有容就大
没有啦K1后就只有... 就到这里结束了 答案是:   (1)从数据表中找出第一次出现值为9的元素
                                            (2)显示输出该元素在BUF中的位置=5
2012-05-30 12:43
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
去调试了下

 MOV AX,9                 
 REPNZ SCASW
这个并没有实现 AX 中的内容与数据段的内容比较的功能 只是在CX减为0后JNZ就跳转了。ZF的标志一直是 NZ。

同求大牛来帮忙解释你书上的答案。

还有个问题是入在CX减为0之前找到了相同的数 ZF = 1那么REPNZ SCASW 停止, JNZ 立即跳转 到K1也不会有输出
功能出现啊 你好好看下书上给的那个习题 你有没有抄错 ?

梅尚程荀
马谭杨奚







                                                       
2012-05-30 13:22
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:5 
回复 19楼 有容就大
      MOV AH,2                 2移动到AH//这里是用21H中的2号功能
      INT 21H                       显示
 这个就是输出显示,这是21H功能调用,你可以看一下DOS中断及功能调能调用

最基础的往往是你最容易忽略的!
2012-05-31 13:21
快速回复:汇编语言程序设计的几个题目
数据加载中...
 
   



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

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