将“hello,world”程序作为第一个编写的程序,现在已经成为一种珍贵的传统。该程序最早出现在由Brian W.Kernighan 和 Dennis M.Ritchie编写的《C编程语言》一书中。《C编程语言》是最权威的C语言教科书,两位作者正是大名鼎鼎的C语言发明人,昵称K&R。
另外的解释就是用“hello,world”是因为我们希望某一天由人类自己发明的计算机能真正对世界说一声:"世界你好!",这是软件工程师的一种愿望!
用汇编实现了这个经典的“hello,world”,一起为这个目标努力。
assume cs:code,ds:data,ss:stack
data segment
db 'hello,world',0;字符串以0结尾
data ends
stack segment
dw 10h dup(0)
stack ends
code segment
start:;程序入口
mov ax,stack;初始化自己的栈
mov ss,ax
mov sp,10h
mov dh,12;显示行
mov dl,30;显示列
mov cl,1010b;显示属性(颜色)
mov ax,data
mov ds,ax
mov si,0;
call show_Str;调用显示字符串子程序
mov ax,4c00H
int 21h
show_Str:;显示字符串子程序,显示一个以 '0' 结尾的字符串
push ax;保护现场
push bx
push cx
push si
push es
mov al,160;计算显示位置
mul dh
mov bx,ax
mov ax,2
mul dl
add bx,ax
mov ax,0b800h
mov es,ax
push cx
shows:;将字符串数据写入显存指定位置
mov al,ds:[si]
mov cl,al
mov ch,0
jcxz show_Ret;显示完成
mov es:[bx],cl
inc bx
pop cx
mov ch,0
mov ax,cx
mov es:[bx],al
push cx
inc bx
inc si
jmp short shows;继续显示
show_Ret:;结束返回
pop cx
pop es
pop si
pop cx
pop bx
pop ax
ret
code ends
end start
- [游客] 对大学生,强调人文教育,这是对大学的贬低。 也是对中学教育的污蔑。 此文作者,是坏人。 06/02 11:27
- [游客] 教导怎样做人,进行人格培养,是中学阶段的事。 大学生,基本都是成年人了,育人? 谁育谁呀? 对 06/02 11:24
- [游客] 大学,什么都应该有。 关键问题是,多少是适度? 过分了,就应该限制。 此文,又臭又长,痴人 06/02 11:20
- [xijietianxia] 出来工作几年的林林总总,有种回头已是暮年的感觉 11/01 13:23
- [游客] 楼上的送给你句话,必能印证你的人生: "一个人的能力大小与其自认为的能力大小成反比。"-出 03/05 16:20
- [younggay] 老一辈的科学家,是现在搞科研的榜样! 11/18 14:00
- [游客] 就这种东西还有很多人认为有水平,更怪的是这个人还好意思把这种烂东西发出来。唉~~~~~~~~~· 11/17 18:15
- [ming3477576] 顶 11/07 12:35
- [scuzg] 国家和民族的未来呼唤教育改革! 11/07 07:39
- [游客] 还真是好文 错过可惜 10/07 13:52
- [游客] [url=http://www.gddzbq.com]深圳搬家公司[/url] [url=http 03/02 15:06
- [lp1989] 请教一道题: 在数据段BUF下开始已定义了信息“I LIKE IBM-PC”, 编写在屏 幕上显 12/29 13:41
- [1021954702] 顶!!!!!!!!!!!!!!QQ:1021954702 12/25 17:03
- [dave] 回老友这里一坐~~不知近来可好~~ 11/09 00:52
- [4269891zhang] 到此一游,新手上路,还望多多指教啊. 07/24 14:42
- [游客] 问好!希望你有个快乐的五一! --gecko 04/29 23:01
- [gecko] Wednesday大哥。 时常记得您的帮助,再次谢谢您。 03/09 12:05
- [wuerlang] 博主的技术文章总算看得懂一点点了。 好。 01/15 18:04
- [游客] 从键盘输入两个数字字符,存入缓冲区。 把sh1内的字符转换为十六进制,存入sh2.从sh2读入数 01/09 21:08
- [游客] 大哥. 我好急. 你一定要帮我这个忙. 01/09 21:07