Loading
0

教你写一个含信息的汇编程序

dosbox官网: https://www.dosbox.com/

https://download.csdn.net/download/fouken_ma/7682497 其他工具下载地址

打开dosbox后我们来转到含有debug等等文件的文件夹

我是在/opt/bugs/debug下存放这些文件的

我们输入:mount c /opt/bugs/debug

然后输入:c:

按回车后就会进入文件了,可以直接调用工具

首先我们来介绍我们要用的程序。

masm(编译)link(链接库 生成exe)debug(调试,调查内存单元。)

首先我们讲一下debug用法

dosbox(32位的可以忽略下载这个软件)。

我们主要用到d t 来执行我们的debug用来调试每一条我们写进去的汇编语言。

d 显示内存单元

t 执行汇编指令

接下来我们详细的讲讲汇编代码这一点。

debug里面显示,一内存单元可以储存16个字节的数据,所以,我们要填写的数据如果超过了16个字节,他填到下一行。

代码如下:

  • assume cs:code #指定一个寄存器这里我们选择cs
  • code segment #开始编写
  • db 'test message....‘
  • code ends(ends和end的用途不同在,end是指明汇编程序的结束,而ends是这个段的结束标志。)
  • end

编写完后我们重命名为 xxx.asm #注:asm是汇编程序编写完的源代码,我们需要经过编译,链接才能生成可执行文件

我们使用masm来进行编译

我们在命令行输入masm test.asm

然后一直回车就行。目前我们不需要用到其他的选项

然后我们得到一个名为test.ojb的文件

然后我们用link生成exe

link test.ojb

也是一路回车就行了

生成后我们使用

debug开始调试

debug test.exe

我们输入"r" #其实t也对

然后输入 ”d"

我们可以看到,我们的信息显示在屏幕上

 

 

本文由A1d4m's blog(www.ychack.com)提供,文章原创版权所有,转载请注明!