汇编语言编译调试帮助
汇编语言的源代码是文本格式的,可以使用记事本编写,打开记事本,输入代码:
代码如下:
; by xecle
data segment
mesg1 db 'what is your name?',0dh,0ah,'$'
mesg2 db 'Hello ','$'
buff db 20,?
db 20 dup(?)
data ends
;------------------------------------------
stack segment para stack
dw 10h dup(0)
stack ends
;------------------------------------------
code segment
assume cs:code,ds:data,ss:stack
main:
mov ax,data
mov ds,ax
mov es,ax
mov ax,stack
mov ss,ax
output:
mov dx,offset mesg
mov ah,09h
int 21h
input:
mov dx,offset buff
mov ah,0ah
int 21h
Chello:
mov dx,offset mesg2
mov ah,09h
int 21h
mov dx,offset buff
add dx,2
int 21h
m_end:
mov ah,4ch
int 21h
code ends
end main
由以上示例代码可见,汇编文件共分为三个段,分别为数据段,堆栈段,代码段,其中代码段必须有,在代码段末尾由end lable指出程序的入口地址lable,若程序没有定义数据段或者堆栈段,连接时会提示waring ,若程序中确实没有用到,可不用理会。
编译汇编文件使用的是masm,也可以使用tasm,此处以masm为例,首先需要现在masm,自己解决,然后解压缩,假设解压缩后位置为d:\masm\,(建议放在某个盘的根目录下面,会方便很多,另外文件夹名称最好不要用中文),然后桌面左下角点开始》附件》命令提示符,或者开始》运行,输入cmd回车,这样可以打开命令行:
Xp系统显示的内容应该会略有不同,因为我是win7系统,然后进入masm的文件夹,
输入d:回车(用搜狗输入法的注意输入状态必须是英文^_^),然后输入cd masm进入masm文件夹,cd表示进入目录,cd ..表示返回到上一层目录:
,然后在命令行输入编译命令:masm ;回车,
这里显示的语法错误,上面几行有提示错误位置,回到源文件更改,把24行处mesg改为mesg1,重新编译,没有错误,,。
连接是把编译好的二进制文件按照可执行文件格式进行打包。。连接命令为:link ;回车,如果程序中没有数据段或者堆栈段定义,此时会提示waring,如果确实不用到数据段或者堆栈段,则不用理会:
然后输入test
汇编语言编译调试帮助 来自淘豆网m.daumloan.com转载请标明出处.