導航:首頁 > 程序命令 > nasm命令

nasm命令

發布時間:2022-10-15 23:41:18

Ⅰ nasm.exe打開就閃退是怎麼回事

nasm是沒有運行畫面的,所以打開就閃退了.
nasm是需要帶參數使用的,你可以選擇在cmd.exe中用命令行調用nasm或寫一個bat批處理文件運行之.
現假設你有一匯編文件a.asm
命令行可以這么寫:
(這里寫好nasm的安裝路徑)/nasm.exe -f win32 -o a.obj a.asm
這樣就把a.asm編譯了,但是沒有鏈接,因為nasm似乎不具有鏈接的能力.
要解決這個問題,你可以再找一個連接器把這個a.obj鏈接一下.
對本人而言,本人計算機上安裝了DevC++編譯器,其內部有一個ld.exe是個鏈接器
ld -o a.exe a.obj
這樣就成功滴鏈接出了一個可執行文件了.
如果你要寫bat的話,建議在每句命令的下一行,加一行pause把控制台停下來,這樣能讓你看清編譯器的反饋信息.

Ⅱ NASM怎麼實現段間跳轉指令

nasm對跳轉的設計很人性化. 一般來說nasm中跳轉標明長度就可以了. 在實模式跨入保護模式的那條經典jmp中, linux的代碼是直接編的機器碼, nasm加一個dword就可以了.
如果jmp這種方法解決不了的話, 你可以試一試把地址壓棧, 然後執行一個retf就可以了

Ⅲ nasm的hello world

匯編的編譯器有masm tasm nasm。你是初學者就用masm吧 ide就不要用了 有是有 像masmplus radmasm都是不錯的 但是初學的話也用不到。
下面的代碼我編譯過了 可以顯示hello word!圖我就不上了。
data segment
db 'HELLO WORD!'
data ends
assume ds:data,cs:code
code segment
start:mov ax,data
mov ds,ax //置段寄存器ds值
mov ax,0b800H
mov es,ax //置段寄存器es值
mov cx,11 //設置循環次數
xor bx,bx //清bx值
xor di,di //清di值
s1:
mov al,[di]
mov byte ptr es:[bx],al //將hello word!每一位送入顯存
add bx,2 //送下一位
inc di
loop s1
mov ax,4c00h
int 21h //將dos控制交還給command
code ends
end start

用masm編譯 命令是masm+文件名 編譯出obj之後 link+文件名。

Ⅳ 軟盤鏡像是什麼

計算機里CDROM和軟盤
製作方法:
首先是編譯引導文件。編譯.asm文件在linux環境下同樣可以用nasm,安裝命令如下:
sudo
apt-get install nasm

編譯命令跟windows環境下一樣:

nasm
boot.asm -o boot.bin

其次是創建一個虛擬軟盤。由於VirtualBox在不能像創建虛擬空白硬碟一樣創建虛擬軟盤,而只能選擇一個已有的虛擬軟碟機介質(.img),所以我們要先創建一個基於我們先前編譯得到的boot.bin的虛擬軟盤。參考於淵的書,我找到了這一條命令:

dd
if=boot.bin of=floppy.img bs=512 count=1

這條命令能在主文件夾下創建一個大小為512B,名為floppy.img,寫入了boot.bin的虛擬軟盤鏡像(由於boot.bin限制,floppy.img大小隻能為512B)。其中boot.bin是讀取位置,loppy.img是寫入位置,bs=512是每次讀512個位元組,count=1是指讀取一次。

現在便可以在VirtualBox里創建MyOS虛擬機。點擊新建按鍵後,安裝過程中需要改動默認的有:操作系統和版本都選擇other,內存大小選4mb,去掉Star-up
Disk的勾選。

建成後先不要啟動,還有最後一個步驟。選中建好的MyOS,設置-Storage-添加軟盤控制器-選中軟盤控制器-添加虛擬軟碟機-Choose
disk-選擇主文件夾下的floppy.img-確定。

Ⅳ 2012 server環境變數在哪

在Windows平台上設置環境變數
我的電腦->屬性->高級->環境變數->系統變數中添加環境變數

對於Windows系統而言,名為Path的環境變數以經存,可以直修改該環境變數,在該環境變數值後面追加C:\Program Files\NASM。然後新開一個命令窗口,運行path看看新加的環境變數是否存在了。
再在任何目錄下運行nasm命令就都ok了
一般建議在用戶變數里,去添加環境變數 。
用戶變數與系統變數的區別:用戶變數和系統變數並沒有什麼太大的區別,只是用戶變數只對當前用戶有效,而系統變數對所有用戶有效。不過,系統變數會排在用戶變數前面,如果說,兩個地方都包含了nasm命令,則優先執行Path系統變數路徑里包含的nasm命令。

Ⅵ 怎麼在64位系統下編譯nasm

用記事本寫代碼
用命令編譯

nasm -f <format> <filename> [-o <output>]
-f後面是輸出格式,具體的用nasm -hf查詢
filename是代碼文件名
-o後面是輸出文件名

如果輸出類型的是一種object file的話要用鏈接器鏈接

一切操作都要在命令行下完成,如果不習慣命令行操作不建議用

Ⅶ 匯編語言編程工具

windows 可以用輕松匯編開發

DOS下常用的工具MASM和TASM

Linux下的匯編工具: Linux下的匯編工具可謂百家爭鳴,不像DOS下都要給MASM和TASM給控制了。但是Linux下每一種匯編工具都有很大的區別,要想全部掌握幾乎是不可能的,下面我介紹幾種常用的匯編工具,重點介紹NASM及其使用和語法。 1、GCC GCC其實是GNU的C語言產品,但它支持Inline Assemble,在GCC中inline assemble使用就像宏一樣,但它比宏能更清楚更准確的表達機器的工作狀態。 C是匯編編程的一個高度概括,它可以減少許多匯編中的麻煩,特別是在GCC這個C編譯器中,assemble似乎起不了多大的作用。 2、GAS GAS是Linux各版本中基本的匯編工具,但它採用的是AT&T的語法標准與Intel的語法標准有很大的不同,對於DOS編程的我們來說,學習起來是非常困難的。當然如果要精通Linux下的匯編編程,學習GAS也是非常必要的,具體的語法標准可以參看Using GNU Assembler。 3、GASP GASP是GAS的擴展,它增強了GAS對宏的支持。 4、NASM NASM是linux中語法與DOS最為相像的一種匯編工具。雖說如此,它與MASM也是有著很大區別的。 l NASM的使用格式如下: Nasm �Cf -o 例如: Nasm -f elf hello.asm 將把hello.asm匯編成ELF object文件,而 Nasm -f bin hello.asm -o hello.com 會把hello.asm匯編成二進制可執行文件hello.com Nasm �Ch 將會列出NASM命令行的完整說明。 NASM不會有任何輸出,除非有錯誤發生。 -f 在Linux下主要有aout和ELF兩種,如果你不確定你的Linux系統應該用AOUT還是ELF,可以在NASM目錄中輸入 File nasm ,如果輸出nasm: ELF 32-bit LSB executable i386 (386 and up) Version 1表示是ELF,如果輸出nasm: Linux/i386 demand-paged executable (QMAGIC)表示是aout。

NASM與MASM的主要不同: 首先與linux系統一樣,nasm是區分大小寫的,Hello與hello將是不同的標識符,如果要匯編到DOS或OS/2,需要加入UPPERCASE參數。 其次,nasm中內存操作數都是以[ ]表示。 在MASM中 foo equ 1 bar dw 2 mov ax,foo mov ax,bar 將被匯編成完全不同的指令,雖然它們在MASM中的表達方式完全一樣。而NASM完全避免了這種混亂,它使用的是這樣的規則:所有對內存的操作都必須通過[ ]來實現。例如上例中對bar的操作就要寫成如下形式 mov ax,[bar]。由此可見,nasm中對offset的使用也是沒有必要的(nasm中無offset)。Nasm對[ ]的使用與masm也有所不同,所有的表達式都必須寫在[ ]中,下面舉兩個例子來說明: Masm Nasm Mov ax,table[di] Mov ax,[table+di] Mov ax,es:[di] Mov ax,[es:di] Mov ax,[di]+1 Mov ax,[di+1] Nasm 中不存儲變數類型,原因很簡單masm中通過[ ]定址方式的變數也必須要指定類型。Nasm中不支持LODS, MOVS, STOS, SCAS, CMPS, INS, OUTS,只支持lodsb、lodsw等已經指定類型的操作。Nasm中不再有assume操作,段地址完全取決於存入段寄存器的值。 關於NASM的使用方法及語法還可以參閱NASM使用手冊。

至於下載,你就自己找就是了。很容易就找到了,我給你幾個啊

輕松匯編:http://www.skycn.com/soft/20135.html#download
masm:http://download.pchome.net/development/linetools/download-10660.html
nasm:http://download.chinaunix.net/download/0008000/7201.shtml
gas:http://www.linuxsir.org/bbs/showthread.php?t=184320
gcc:http://download.chinaunix.net/download/0001000/69.shtml

Ⅷ 如何使用dosbox運行匯編語言程序

①安裝好dosbox,然後找到「dosbox...options.bat」,雙擊它,(別急著點dosbox.exe)。

然後就可以看到輸出的字元串

hello, world! @author: XXX

閱讀全文

與nasm命令相關的資料

熱點內容
pythonbg是什麼 瀏覽:245
c數值演算法程序大全 瀏覽:785
android整點報時 瀏覽:219
稀土pdf 瀏覽:534
單片機電子鎖 瀏覽:594
通達信機智資金流指標公式源碼 瀏覽:216
php安裝xsl擴展 瀏覽:840
python如何使用help 瀏覽:367
上汽榮威app在哪裡查詢 瀏覽:901
冰櫃壓縮機溫度108 瀏覽:718
阿里雲郵smtp伺服器地址 瀏覽:250
解壓館認知理解 瀏覽:239
為什麼使用非官方伺服器會封號 瀏覽:9
佛山加密文檔軟體 瀏覽:813
港式5張梭哈源碼 瀏覽:241
數據中心pdf 瀏覽:524
crf源碼解析 瀏覽:854
伺服器軟體開發是什麼意思 瀏覽:943
刪除彩信android 瀏覽:863
元宵節猜燈謎h5源碼 瀏覽:70