新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第7章 NASM的使用教程(X86匯編教程)

        第7章 NASM的使用教程(X86匯編教程)

        作者: 時間:2016-12-01 來源:網絡 收藏

        好了,打開記事本新建立一個文本文件,保存,你會得到一個擴展名為TXT的文件.把擴展名改成ASM吧!


        改完了嗎?什么?你說圖標和我不同?那是正常現象,請不要在意....

        好了.ASM文件就是匯編代碼文件用來寫匯編代碼.用記事本就可以編輯它,當然,你也可以專門找匯編代碼編輯工具(這就是我改擴展名后圖標和你不同的原因喲,專門的匯編代碼編輯器有自己的圖標!),不過我認為新手的話用記事本就足夠了,專門編輯工具會讓你眼花!

        好了,用記事本打開它,寫入下面的代碼:

        ORG 0100H;這行代碼之前沒講過,以后會講!

        MOV AX,0B800H

        MOV BX,AX

        MOV CX,BX

        MOV DX,CX

        好了,把代碼保存到文件里.

        接著我們來編譯它,再次建立一個文本文件,還是要改擴展名.改為BAT(見下圖↓):


        用記事本按照下面的語法寫入內容:

        NASM "代碼文件名.擴展名" -o "要生成的文件名.擴展名"

        注意空格喲!

        實例:

        NASM "新建 文本文檔.ASM" -o "1.COM"


        寫完了,保存,把NASM解壓到同一個文件夾:


        雙擊運行BAT文件.如果你之前的步驟都沒做錯的話,就會發現多出一個COM文件.不要急著運行它!這個就是你的代碼編譯出來的東西!你知道么?DeBug還能調試編譯出來的程序呢!我們用DeBug調試它吧,再次建立一個BAT文件,用記事本按照以下語法寫入內容:

        DeBug 要調試的文件名.擴展名

        注意:文件名前面有一個空格,文件名本身不能帶空格!

        實例:

        DeBug 1.COM


        運行后就會出現DeBug窗口,輸入R指令,看看第一行代碼:


        你也許已經震驚的發現,第一行代碼盡然不是代碼里的第一行:ORG 0100H,而是第二行MOV AX,0B800H

        其實事情的原因是這樣的:

        那個ORG,其實不是匯編指令來的那個是一個標識,告訴編譯器,這篇代碼將來有可能被加載到內存的什么地方(請注意DeBug里面的MOV指令的偏移地址,沒錯,是0100H!)

        注意:這個0100H可不是ORG偽指令設定的!(實際上CPU根本就沒有,專門給編譯器的指令稱作偽指令)ORG只是告訴NASM,這篇代碼會被加載到0100H好讓NASM做好準備而已(這個以后就會知道)

        好了試試看運行一下吧:T指令,看成功了,把B800放進了AX里面,再繼續AX被復制到了BX里面.



        上一頁 1 2 下一頁

        關鍵詞: NASMX86匯編教

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金坛市| 秦安县| 红桥区| 项城市| 呼玛县| 石屏县| 常山县| 巴楚县| 馆陶县| 肇源县| 胶南市| 安图县| 黄骅市| 密云县| 黄陵县| 达州市| 宁陵县| 正镶白旗| 禹城市| 勃利县| 涡阳县| 河曲县| 日喀则市| 祁门县| 吉木萨尔县| 彩票| 潜江市| 靖宇县| 汶川县| 大同市| 泰和县| 永寿县| 龙胜| 巴林左旗| 泾源县| 旬阳县| 临漳县| 苗栗市| 乐亭县| 牡丹江市| 兴城市|