我刚刚开始学汇编。。。谁能给我写一个最简单的hello world???拜托了。。。。。。
最好还能扩展一下程序。。。就是提示我输入一些字符,然后原样显示出来就行了。。。。
问题点数:20、回复次数:5Top
1 楼naturemickey(米老鼠)回复于 2005-06-02 12:50:13 得分 6
抄一段别人的(注释也放上了),如下:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming >
; by 罗云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Hello.asm
; 使用 Win32ASM 写的 Hello, world 程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令进行编译和链接:
; ml /c /coff Hello.asm
; Link /subsystem:windows Hello.obj
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
szCaption db 'A MessageBox !',0
szText db 'Hello, World !',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start
Top
2 楼mydo(侯佩|hopy|ks)回复于 2005-06-02 14:04:50 得分 6
.model small
.386
.data
helloworld db 'hello world','$'
.code
.startup
lea dx,helloworld
mov ah,09h
int 21h
.exit
endTop
3 楼shaguamao(血痕)回复于 2005-06-02 21:20:34 得分 0
我是初学。。。。还没学到伪操作。。。。。。。。Top
4 楼showtime84(幻想VS失落)回复于 2005-06-02 21:39:49 得分 1
呵呵,用8086汇编中断调用给你写一个行吗?Top
5 楼redlegend_126_com(redlegend)回复于 2005-06-03 09:31:12 得分 7
MASM和LINK程序实现的代码:
data segment
mess1 db 'Hello!World!$'
data ends
code segment
assume cs:code,ds:data
begin: mov ax,data
mov ds,ax
mov dx,offset mess1
mov ah,9
int 21h
mov ax,4c00h
int 21h
code ends
end begin
DEBUG中的实现
c:\>debug 回车
-a100 回车
输入以下内容
mov dx,0109
mov ah,9
int 21
int 20
db 'Hello!World!$'
回车
回车
-g 运行程序
Hello!World!显示结果Top




