| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 693 人关注过本帖
标题:我对这个题不懂
取消只看楼主 加入收藏
wzx711215
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-9-16
收藏
 问题点数:0 回复次数:4 
我对这个题不懂
T:在所在定义的字节数组中找出第一个非0数据,并显示出其所在数组的下标。
DATA SEGMENT
ARRAY DB 0,0,0,16,0,88,72,0,35,42,99
COUNT EQU $-ARRAY
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV CX, COUNT
MOV DI, -1
AGAIN: INC DI
CMP ARRAY[DI], 0
LOOPZ AGAIN
MOV DX, DI
OR DL, 30H
DISPLAY: MOV AH, 2H
INT 21H
MOV AH, 4CH
INT 21H
........
在这个题里1:下标是什么?
2:OR的结果是什么,是怎样算出来的
2006-09-16 17:40
wzx711215
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-9-16
收藏
得分:0 

MOV DX, DI (是把找到的第一个非0数据送给DX)
OR DL, 30H (把第一个非0数据和30H相或)

这是一个例题,可她讲的说是OR DL, 30H 是为了得到第一个非0数据的ASCII码,不知道是不是她讲错了

2006-09-17 08:07
wzx711215
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-9-16
收藏
得分:0 
首先感谢这位大哥:针对上面这道题(DL)=16D=0001 0000B
30H=0011 0000B
若让他们按位“或”应该是0011 0000还是30H
而老师所讲的和你说的是一样的
但从二进制上进行“或”运算我不知道是怎样算错了
2006-09-17 21:04
wzx711215
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-9-16
收藏
得分:0 

你写的我能看懂,不过我还是不明白,请你把16转换成二进制,再和30H“或”,这个过程我不懂。先行谢过

2006-09-18 08:38
wzx711215
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-9-16
收藏
得分:0 
谢谢大哥  我明白了。
2006-09-18 18:07
快速回复:我对这个题不懂
数据加载中...
 
   



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

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