第一个汇编hello world!!

折磨了我几天的hello world!
今天终于成功建立编译连接执行啦!

所以把源代码贴补出庆祝一下!!

data segment
        output db "hello world!"      ;建立 数据段 字符串
data ends

code segment
       assume cs:code, ds:data      ;指定寄存器

        start:
        xor ax,ax       ;清空ax
        mov ax,data       ;将数据放入ds
        mov ds,ax
 
        lea si,output       ;字符串偏移起始 si
        cld  
        mov AH,09H          ;   09H对应的是显示字符串
        int 21h                    ;注意,INT 21H是用来调用功能的,具体区别用AH来识别
        mov ah,4ch       ;   4CH功能在于让你退出程序,
        int 21h                    ;调用功能,由上面的AH决定,这句就是要退出程序了
 
       
code ends
        end start


注意:这段代码不可以直接点击.exe文件运行,只能在debug下面看到执行结果。

 

posted on 2007-04-14 13:37 lele 阅读(3126) 评论(6)  编辑 收藏 引用

评论

# re: 第一个汇编hello world!! 2007-12-17 18:50 Radlorama

怎么都是乱码!  回复  更多评论   

# re: 第一个汇编hello world!! 2007-12-18 00:22 博主

你显示有问题吧  回复  更多评论   

# re: 第一个汇编hello world!![未登录] 2008-06-20 19:41 foxtail

应该是可以直接点击的
按任意键的退出的中断你要查一下
介绍你一个IDE吧 我学汇编时候用的
MasmPlus是一个中国人写的 很好
不过你要实用简化段定义的命令写
还要指定最小模式  回复  更多评论   

# re: 第一个汇编hello world!! 2010-08-25 22:00 iiaa

退出程序之前加上

mov ah,1
int 21h

这样就要按键之后才退出,就可以直接点击运行看输出了  回复  更多评论   

# re: 第一个汇编hello world!! 2010-08-26 00:08 iiaa

data segment
output db "hello world!" ;建立 数据段 字符串
data ends

输出字符串末尾要加$,否则不能正常结束
比如
output db 'hello world! $'  回复  更多评论   

# re: 第一个汇编hello world!! 2011-03-31 21:20 wanna

什么破程序,显示的都是乱码.  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(1)

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜