一、實驗環境
二、環境安裝與配置
三、測試(匯程式設計序輸出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,...