Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8319253
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类:

2007-03-31 23:02:46

写一个hello,world有助于快速的理解这门语言的概况。汇编写hello,world还是比较麻烦的,但是写好的程序只有544个字节却是让人喜欢得不得了。汇编是一门高效的语言,真正的程序员需要了解汇编。这里列举的这个例子在Masm5以及Tasm4.1调试通过,在代码后面,我简单说一下编译过程,相信大家都懂得了。
 

DATA SEGMENT ;数据段开始
NOTE DB 'Hello World!',0ah,0dh,'$'
DATA ENDS ;数据段结束

CODE SEGMENT ;代码段开始
ASSUME CS:CODE, DS:DATA ;将代码段指定给CS寄存器,将数据段指定给DS寄存器
BEGIN: MOV AX,DATA ;AX累加器
MOV DS,AX ;DS数据段寄存器
MOV DX,OFFSET NOTE ;这句可以用LEA DX,NOTE来替代,DX是数据通用寄存器
MOV AH,09H ;09H对应的是显示字符串
INT 21H     ;注意,INT 21H是用来调用功能的,具体区别用AH来识别
MOV AH,4CH ;4CH功能在于让你退出程序,
INT 21H ;调用功能,由上面的AH决定,这句就是要退出程序了
CODE ENDS ;代码段结束
END BEGIN

我使用Tasm进行调试,我觉得在dos时代,borland的东西还是非常让人喜欢的。尤其是Turbo系列,现在依旧在某些场所有些人照样在用,还是不错的。
编译:我用gvim进行源文件编辑,例如源文件名为hello.asm;
编译:tasm hello.asm
连接:tlink hello.obj
执行:hello
阅读(4618) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-11-03 20:50:09

为什么第一次能运行能正常显示,以后再运行就不显示了!! 我邮箱chenpengllz@163.com 麻烦你帮我讲下好吗?