在这里不得不再次提及大学上的基础课8086汇编,16位汇编基础。也是我们理解汇编原理的基础课程。随着cpu的发展和cpu指令集的丰富。目前真正实用的是win32汇编。
编译器采用微软的MASM。目前常用的是MASM32 8.0可以在微软的网站上下载。Win32汇编可以写出像WIn32 MFC一样的程序。但随着MFC,delphi、C#等集成环境的运用。这个学科被越来越多的人忘记。但是在修改内存描述表和过驱动保护的时候,为了保持堆栈平衡,也不的不用汇编语言实现。记得很多人和我说汇编他们学过,我记得好像上过大学的都学过。但是有几个人真会呢?我们以HelloWord举例Win32汇编的写法。具体的看代码
DATAS SEGMENT
STRING DB 13,10,'Hello World!',13,10,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,STRING
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
编译器采用 MASM SDK,代码书写工具采用EditPlus
1、启动命令行cmd。
cmd中应该包含汇编库和头文件,设置cmd的路径
- set Masm32Dir=C:\Masm32
- set include=%Masm32Dir%\Include;%include%
- set lib=%Masm32Dir%\lib;%lib%
- set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
- ml /c /coff HelloWord.asm
- Link /subsystem:windows HelloWord.obj
-
上面只是一个简单的Win32控台下的HelloWorld。
当然推荐大家可以查阅<<Windows环境下32位汇编语言程序设计>>这本书。非常不错