masm与nasm的搭建使用
Posted kubopiy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了masm与nasm的搭建使用相关的知识,希望对你有一定的参考价值。
nasm kali中apt install nasm即可
masm:
参考这两篇文章
文章一:https://www.cnblogs.com/dgwblog/p/11865850.html
文章二:https://www.cnblogs.com/zzu-general/p/7853822.html
masm:windows
nasm:linux
要注意nasm和masm的语法不一样,masm的asm文件不能用nasm编译。
把asm文件放入masm文件夹中
在dosbox中完成挂载,输入masm回车
输入你要编译的asm文件
xxx.asm
再进行链接如图过程,最后运行exe
DATA SEGMENT
MES DB ‘Show a as hex:‘,0AH,0DH,‘$‘
SD DB ‘a‘
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MES ;显示提示信息
MOV AH,09H
INT 21H
MOV SI,OFFSET SD
MOV AL,DS:[SI]
AND AL,0F0H ;取高4 位
MOV CL,4
SHR AL,CL
CMP AL,0AH ;是否是A 以上的数
JB C2
ADD AL,07H
C2: ADD AL,30H
MOV DL,AL ;显示字符
MOV AH,02H
INT 21H
MOV AL,DS:[SI]
AND AL,0FH ;取低4 位
CMP AL,0AH
JB C3
ADD AL,07H
C3: ADD AL,30H
MOV DL,AL ;显示字符
MOV AH,02H
INT 21H
MOV AH,4CH ;返回DOS
INT 21H
CODE ENDS
END START
以上是关于masm与nasm的搭建使用的主要内容,如果未能解决你的问题,请参考以下文章
编写自定义PE结构的程序(如何手写一个PE,高级编译器都是编译好的PE头部,例如MASM,TASM等,NASM,FASM是低级编译器.可以自定义结构)