組合語言學習筆記04 彙編實驗環境的搭建

2021-10-23 22:39:07 字數 1315 閱讀 6199

一、實驗環境

二、環境安裝與配置

三、測試(匯程式設計序輸出hello,world!)

注意:因為每個人記憶與思維的差異,對知識的理解在難易性、熟練度和重要性上有很大差異,這些筆記是從我的視野出發進行的歸納,有些內容我覺得簡單或潛移默化中已經掌握,所以可能並沒有在思維導圖和內容摘錄中體現;反之亦然,有些內容可能讀者覺得沒有必要在筆記中呈現,卻可能恰恰是我的短板或者偏重的地方。

作業系統:windows 10

彙編軟體:dosbox+masm.exe+debug.exe+link.exe+edit.com

雙擊dosbox預設完成安裝即可。

雙擊dosbox安裝目錄下的dosbox 0.74-3 options.bat,找到[autoexec],做如下修改:

如下開啟dosbox執行。輸入c:並回車。

在上面的黑框框中輸入edit hello.asm命令,輸入如下匯程式設計序:

datas segment

buf db'hello, world!$'

datas ends

stacks segment stack

db 200 dup(0)

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

mov dx,seg buf

lea dx,buf

mov ah,09h

int 21h

mov ah,4ch

int 21h

codes ends

end start

退出編輯頁面,然後依次輸入命令masm hello.asm,link hello.obj, 然後輸入hello就會執行出hello,world!了。其實在d:\masm下生成了如下幾個檔案:

注意:滑鼠箭頭只能在編輯器裡活動,想退出來的話可以用ctrl+alt+del組合鍵退出。

組合語言學習筆記

學習參考資料 大灰狼 講彙編 資料匯流排,位址匯流排,控制匯流排。位址匯流排有多少條就決定了cpu最大的記憶體使用量。80386有32位位址匯流排,所以它的定址能力就是4g.暫存器 通用暫存器,段暫存器,ax暫存器 通用暫存器,存放資料。高位位元組ah,低位位元組al。實體地址表示方法 位址加法器,...

組合語言學習筆記

cs ip是指向程式執行的位置 code segment ds 儲存記憶體中取資料的位址,data segment ss sp是指向堆疊的位置 stack segment cx 裡儲存的是loop執行的標誌 loop執行時,cx cx 1,若此時cx裡值為0,則跳出loop,否則繼續loop 初始 ...

組合語言學習筆記

編譯下面的程式,生成列表檔案,觀察標號在機器碼中變成了什麼?小組中的同學都說一說,說出你看到了什麼,說出你的疑問,讓小夥伴們一起解決。下面是程式 這個程式的功能沒有意義,只用於觀察程式中的標號 assume cs codesg,ds datasg datasg segment a db 1,2,3,...