中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-14 23:32
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS开发编程 & 发展交流 (开发室) » 汇编语言编译器使用2
可打印版本  2,510 / 10
第1楼 chrise 发表于 2010-04-06 21:33
初级用户 发帖 32 积分 88
汇编语言编译器使用2
题目是把buff1中的数据传到buff2
源程序如下:
DSEG SEGMENT
buff1 db 0,1,2,3,4,5,6,7,8,9,
db 11,12,13,14,15,16,17,18,19,20
buff2 db 20 dup(?)

DSEG ENDS


CSEG SEGMENT
assume cs:CSEG, ds:DSEG



MAIN PROC FAR ;主程序入口

mov ax, dseg
mov ds, ax
mov ax,eseg
mov es, ax
mov cx,20
lea si,buff1
lea di,buff2
cycle:mov al,
mov ,al
inc si
inc di
loop cycle
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
MAIN ENDP

CSEG ENDS

END MAIN
编译后
出现如下错误
Unable to open input file: transformdata.asm
高手指教一下
第2楼 070 发表于 2010-04-07 11:59
高级用户 发帖 218 积分 663 来自 福建
英文意思为,无法打开输入文件:transformdata.asm
第3楼 070 发表于 2010-04-07 12:17
高级用户 发帖 218 积分 663 来自 福建
我用masm 5.0来编译了一下,提示是a.asm(2): warning A4101: Missing data; zero assumed

还有代码的第18行。。mov ax,eseg中的eseg在哪里?
第4楼 chrise 发表于 2010-04-07 20:56
初级用户 发帖 32 积分 88
再请教一下
buff1 db 0,1,2,3,4,5,6,7,8,9,
db 11,12,13,14,15,16,17,18,19,20
这种格式对吗?我这样写是因为书上是这样的,还有输表格的时候,书上也是这样写的,是不是一些版本的masm不支持啊?
第5楼 本是 发表于 2010-04-08 09:12
银牌会员 发帖 790 积分 2,227
如3楼所指错误有2,相应地,buff1行末的逗号去除,改eseg为dseg。
“无法打开输入文件:transformdata.asm”说明你的源程序文件名应该不是transformdata.asm,即将它重命名为transformdata.asm,即可。
第6楼 070 发表于 2010-04-08 12:12
高级用户 发帖 218 积分 663 来自 福建
原来那个错误是末尾的 ,问题啊。。。。
这个没注意。。
第7楼 chrise 发表于 2010-04-08 21:46
初级用户 发帖 32 积分 88
很受益
非常 感谢
第8楼 heikebx 发表于 2010-04-20 20:50
新手上路 发帖 5 积分 10
haishi budong
第9楼 chrise 发表于 2010-04-24 22:02
初级用户 发帖 32 积分 88
你也在学汇编??
第10楼 070 发表于 2010-04-25 11:27
高级用户 发帖 218 积分 663 来自 福建
chrise,最近怎么没有新问题啊。。。不大习惯了。。
第11楼 netwinxp 发表于 2010-06-30 16:01
高级用户 发帖 366 积分 741
酱紫写会不会好一点呢?而且改动下数据也不容易出问题。


[ Last edited by netwinxp on 2010-7-6 at 19:39 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023