汇编(MOV,SUB,PUSH,POP,...)

汇编环境搭建 -- MASM32

2019-01-22  本文已影响96人  _凌浩雨

背景

当自己想使用C语言开发一个编译器的时候,需要将文本内容转换为汇编语言,此时需要我们对汇编语言具有一定了解及简单编写程序,否则无法继续进行编译器的编写。

开发工具

此处使用MASM32开发工具,当然也可以选用SASM, 此处由于并不深入学习且无兼容性考虑,因此此处选用MASM32工具。

下载

此处点击Australia 1/2开始下载


图1.png

安装

程序测试

.486
.model flat, stdcall
option casemap :none
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\msvcrt.lib
includelib \masm32\lib\masm32.lib

include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\gdi32.inc
include \masm32\include\windows.inc
include \masm32\include\msvcrt.inc
include \masm32\include\masm32.inc
include \masm32\macros\macros.asm

.data
.code
start:
    print chr$("Hello Wordld!")
    print chr$(" ",13,10)
    mov eax, sval(input("Enter any press to continue..."))
end start

编码框架

.486
.model flat, stdcall

option casemap:none

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\gdi32.lib

include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\gdi32.inc
include \masm32\include\windows.inc

.data
// 变量
.code
start:
// 代码

end start

接下来分别解释下每行代表什么:

上一篇 下一篇

猜你喜欢

热点阅读