1. 程式人生 > >教你寫一個含信息的匯編程序

教你寫一個含信息的匯編程序

size net align ads data- str 匯編代碼 data tps

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"

我們可以看到,我們的信息顯示在屏幕上

技術分享圖片

教你寫一個含信息的匯編程序