| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 482 人关注过本帖
标题:求一个古怪的汇编问题
只看楼主 加入收藏
blacking
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-1
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求一个古怪的汇编问题
CONT: MOV DX,OFFSET BUFFER;缓冲区寻址,
 MOV CX,BUFFLEN  ;这一句 在代码段中是这样的:BUFFER DB BUFFLEN  DUP (0)  不知道从哪又冒出一个BUFFLEN来,以前也没见到过这位大哥,“哥,你来有何贵干?”
 MOV BX ,HANDLE2;开始读文件2
 MOV AH,3FH
 INT 21H
 JC RERR;读出错,转
 OR AX,AX  ;就是这里了,她~~唉!~AX高八位AH不是装着3FH吗?怎么拿AX来决定是不是文件结尾呢?是不是它上边有人,走后门了???找了半天也没发现AX和文件结尾有什么瓜葛啊,~~真是想不通~~
 JZ COPYOK
 MOV CX,AX;还有这,书上说这里是:写到文件2的长度等于读出的长度 ,还是,AX啥时候又装着读出字节的长度啦,这不是在坑骗人家CX吗?读出和写入的长度不是都装在CX中吗???
 MOV BX,HANDLE1
 MOV AH,40H;写到文件2
 INT 21H
 JNC CONT;正确,继续~~
 我快憋屈死啦,兄弟们,救命啊  我真不知道下辈子敢怎么活啊,
搜索更多相关主题的帖子: 大哥 缓冲区 
2012-03-01 13:14
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:20 
BUFFER DB BUFFLEN  DUP (0)  不知道从哪又冒出一个BUFFLEN来

根据语法这里是个常量 用类似BUFFLEN = 128 或 BUFFLEN equ 128定义的 没有可以改成个数

AX高八位AH不是装着3FH吗?怎么拿AX来决定是不是文件结尾呢?

功能3FH
功能描述: 从先前打开的文件中读出指定数目的字节,并移动文件指针
入口参数: AH=3FH
BX=文件句柄
CX=将要读出的字节数
DS:DX=存放字符的缓冲区地址
出口参数: CF=0——读取成功,AX=读取的字符数,否则,AX=错误号(05H或06H),其含义见错误代码表


1 不知道你看的什么书

2 16位汇编是基于dos的 所以中断必须会用

3 接上 dos中断已经是古董了 会用就可以了 学习的重点是汇编的思想和基本指令 比如这里其实是个读写文件的例子 你要看的是它的结构 死扣中断用法没意义

4 我是自学的 没有考试 如果你要考试 上面第三条批判接受罢

5 思考是好事 会查资料也非常重要

祝成功

2012-03-01 15:57
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
对了 觉得好要结题哦
2012-03-01 15:58
快速回复:求一个古怪的汇编问题
数据加载中...
 
   



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

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