CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

最基础入门菜鸟级提问--我不会HELLO,WORLD!

楼主dddeee(dddeee)2003-06-04 19:45:10 在 其他开发语言 / 汇编语言 提问

我们正准备开汇编课,看了几天书,什么都不懂,觉得不知所措。想想原因,主要是不知怎么上机调试。课本上讲了一百多页了,才有第一个上机程序。而且它上面的软件很老,找也找不到。我有一些最基本最基本的问题想问。因为我的问题太基本了,如果你把我当作汇编白痴,我也不介意。但是希望能得到您的详细解答。  
   
  我们的课本是白皮子的《IBM-PC汇编语言程序设计》那本书,书上说要运行汇编程序要有以下程序:  
  asm.exe  
  link.exe  
  exe2bin.exe  
  debug.com  
  edlin.com  
  ws.com  
  wsmsgs.ovr  
  wsovlyi.ovr  
   
  其中有一些东西真不好找,比如第一个asm.exe,找了好久也没找到(找到了一个masm.exe,是不是一样能用?)。而且我想,有那么多的汇编软件,版本也比它新,应该能用吧!  
   
  第一个问题:  
  书上说要先建立.asm文件,然后再编译,连接。在建立.asm文件的时候,可不可以先用记事本把代码打好,然后保存为一个文本文件(.txt),然后把后缀名改为asm?再编译连接?  
   
  但是我不想这么麻烦在DOS下先写,再编译,再连接,我希望用像TC那样的环境,多方便。于是,  
   
  第二个问题:  
  有不少汇编软件,比如masm6,   tasm等等,一个软件就有几M,它们可不可以用来学习汇编?我们书上的汇编程序是不是可以运行在masm6上?而且在其中的一个编译器上写的程序能不能被另一种编译器编译通过?我选择哪一个比较好?  
   
  第三个问题:  
  我试了一个masm6,哪个文件是首先应该运行的?是不是pwb.com?  
   
  第四个问题:  
  我用masm6,运行其中的pwb.com,出现了一个类似于TC那样的编辑环境,是不是要把汇编的代码写在上面?可是写完后,另存为时,它提示的后缀为.mak,而不是我期望出现的.asm,这是怎么回事?而且编译运行那几个菜单都是灰的,不能运行。  
   
  我试了好久,还是没有把书上的hello,world程序做出来,  
  第五个问题:  
  谁可以手把手地教我(写详细一点的教程,当我是白痴一样地教)用masm6编写一个"hello,world!"的程序?我觉得汇编真的不好学,比C语言难多了,看了几天的书  
  都没有入门。  
   
  不胜感激!我好像就只有210分,给分就填20啦,如果我真的懂了,全给也行。 问题点数:20、回复次数:14Top

1 楼yjcq(yj)回复于 2003-06-04 20:03:51 得分 3

data   segment  
  a   db   'hello   world$'  
  data   ends  
  stack1   segment   stack    
  dw   21h   dup(?)  
  stack1   ends  
  code   segment  
  assume   cs:code,ss;stack1,ds:data  
  main;mov   ax,data  
  mov   ds,ax  
  lea   dx,a  
  mov   ah,09h  
  int   21h  
  code   ends  
  end   main    
  Top

2 楼dddeee(dddeee)回复于 2003-06-04 20:11:06 得分 0

 
  这不够呀,,把代码给我我也不知道怎么弄出个.exe   程序出来呀!!  
   
  我现在需要的不是代码,是怎么把代码变也可执行的文件。。。。  
   
  还是要先谢谢!!Top

3 楼bluedodo(笑三少)回复于 2003-06-04 20:12:18 得分 10

1.你完全可以这样做,你甚至可以把.asm文件关联成“记事本”,至于开发环境我也想有,但我没找到,本来一直想自己写一个的。可以按F9就编译成.obj文件,呵呵  
  2、我用的是MASM,它是完全兼容ASM,它多出的一个“M”,意思是“宏”汇编。推荐选MASM,通用,功能强大。  
  3、MASM中的MASM.exe应该是最运行的(当然你要已经写好了.asm文件)  
  4、不好意思,我没用过pwb.com,我的程序一般是在最傻的EDIT.EXE写的,如果想让自己看的更清些,我会用EditPlus软件。它有关键字的突显。  
  5、刚在另外的贴子下签名,说不再给些源代码。再说学汇编不能急,它的程序结构是建立在对寻址方式的理解和应用上的。你应该首先明白机器是如何寻址的。明白这些后,你可以去看看中断,因为汇编程序要显示出结果不像你用C,它是比较复杂的(至少比看起来C复杂),显示是需要中断调用的。  
  你的分就不要加了,210不多了,留到更需要的时候吧。~~  
  Top

4 楼dddeee(dddeee)回复于 2003-06-04 20:18:42 得分 0

 
  谢谢你,,,我一会儿再试试,今天一定要把HELLOWORLD弄出来。Top

5 楼kuangjingbo(正在学习windows)回复于 2003-06-04 20:25:52 得分 0

1.可以  
  2.可以Top

6 楼dddeee(dddeee)回复于 2003-06-04 22:02:52 得分 0

yjcq(yj)兄:你给我的代码没有通过编译呀!哪里有问题?  
   
  -----------------------------  
  Assembling   file:       hello.ASM     to     E:\Fasm\OUT\hello.OBJ  
  **Error**   hello.ASM(9)   Illegal   instruction  
  **Error**   hello.ASM(15)   Undefined   symbol:   MAIN  
  Error   messages:         2  
  Warning   messages:     None  
  Passes:                         1  
  Remaining   memory:     383kTop

7 楼dddeee(dddeee)回复于 2003-06-04 22:05:31 得分 0

还有我发现我的每个编译成EXE的文件运行后第一行都是这句话:  
   
  invalid   keyboard   code   specified  
   
  这是什么意思呢?Top

8 楼hiairfly(呵呵)回复于 2003-06-05 00:31:21 得分 0

将那个   main   后面的分号改成冒号,   还有   ss   后面的   也改过来。再试试!Top

9 楼yjcq(yj)回复于 2003-06-05 10:03:48 得分 0

不好意思,标点写错了Top

10 楼lowes(翔风)回复于 2003-06-05 11:22:01 得分 3

你用记事本把asm文件建好,在保存时输入asm文件的名字,并加上后缀".asm",选择“所有文件”再保存就可以了。  
  建议你不要用MASM自带的编辑器,而且MASM可以不用安装,就把里面的masm.exe(或ml.exe)  
  和link.exe两个文件复制出来就可以编译,连接你的程序了。  
  推荐两个编辑器:Editplus,UltraEditTop

11 楼wequal(小虾)回复于 2003-06-05 12:21:21 得分 2

.model   small  
  .data  
  mes1   db   'Hello   World!'  
  .code  
  .startup  
   
          mov   ax,03  
          int   10H             ;crean   screen  
   
          mov   ax,0b800H  
          mov   es,ax  
          mov   si,offset   mes1  
          xor   di,di  
          mov   ah,82H  
  Next_char:  
          lodsb  
          stosw  
          cmp   al,'!'  
          jnz   Next_char  
     
          mov   ah,0             ;any   key   exit   program  
          int   16H  
  .exit  
  end  
   
  ;use   masm611   to   compile   ,for   example  
  ;ml   XXX.asmTop

12 楼dongjianguo(爱国者)回复于 2003-06-05 21:31:16 得分 0

我开始和你一样的,多看就行了,一便一便的看,直到看懂为止Top

13 楼zxy1492(柳暗花明又一坑)回复于 2003-06-05 22:56:28 得分 2

呵呵,我学汇编才几周,  
  刚开始也不知道怎么办  
  后来通过  
  问老师,和同学讨论  
  慢慢知道怎么做了  
  我们老师说汇编考验的是  
  一个人的   耐心,细心和信心  
   
  另外我想  
  你自己一个人看书去学汇编  
  不如和同学多讨论来的快  
   
   
  Top

14 楼dddeee(dddeee)回复于 2003-06-06 11:05:02 得分 0

 
  真的谢谢大家的回复与建议,我会耐心地学汇编,,  
   
  我觉得我们的那个课本讲的不好,又去买了一本,但是发现以前那本的叫《IBM-PC汇编语言程序设计》,后买的叫《IBM-PC宏汇编语言程序设计》,多了一个宏字。。我觉得这一本好懂一些,但是它是不是和我以前那本讲的内容是一样的?(宏汇编与汇编是不是一样的?)如果我看后一本,是不是等于我在看前一本呢?汇编与宏汇编是什么关系?Top

相关问题

  • Delphi入门提问
  • 新手入门_提问:
  • 提问:入门问题
  • 菜鸟入门
  • 准备学习java的菜鸟提问:请大家介绍一本入门的书!
  • 菜鸟提问!!!!!!!
  • 菜鸟提问。
  • !#!菜鸟提问:
  • 菜鸟提问!
  • 菜鸟提问:

关键词

  • 汇编
  • 编译
  • asm
  • 文件
  • 代码
  • 记事本
  • 程序设计
  • 软件
  • 连接
  • masm

得分解答快速导航

  • 帖主:dddeee
  • yjcq
  • bluedodo
  • lowes
  • wequal
  • zxy1492

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo