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

Posted HACK--荒原狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你写一个含信息的汇编程序相关的知识,希望对你有一定的参考价值。

 

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"

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

技术分享图片

以上是关于教你写一个含信息的汇编程序的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你写一个RN小程序!

轻轻松松教你写日志-超级简单

手把手教你写第一个微信小程序页面

Linux | 手把手教你写一个进度条小程序

手把手教你写毕设—评教系统(Java精品毕设+含源码+UI+DB)

迈入TensorFlow的行列:教你写微信H5牛牛平台源码的程序