2011-01-19 38 views
4

在8086處理器中,我們使用的是不同的...我認爲它們是16位的......但是我們在64位計算機上練習代碼..怎麼可能?請expalin >>>>什麼是MaSm其實??你能解釋我在哪裏我可以得到的軟件......什麼是MASM?我們通常使用它來學習彙編語言代碼?

+1

你的問題很難理解。至於MASM - 它是來自微軟的彙編程序。見[WikiPedia](http://en.wikipedia.org/wiki/Microsoft_Macro_Assembler) – sinelaw 2011-01-19 08:21:18

回答

2

MASM是微軟的宏彙編程序。 Microsoft Assembler自1981年以來一直在生產,並且由微軟升級以適應操作系統需求和處理器發展。對於兼容性問題檢查this

可以從here

2

MASM下載 - 爲Microsoft宏彙編。它是一個彙編程序。它需要您的代碼 預處理它並將其轉換爲二進制。將它鏈接到可運行的可執行文件或OBJect文件。

所有英特爾處理器32位和em64t處理器(80386及更高版本)均支持稱爲「實模式」的8086兼容模式。這意味着今天所有的個人電腦都可以向後兼容,比如MS-DOS和以前在IBM XT上運行的所有遊戲。這些將在現代機器上運行,但速度非常快,所以這些將無法播放:-)

到今天爲止,所有PC都以其實際模式下的處理器啓動,現代操作系統將處理器切換到32位/ 64位「保護模式」。

基本上,實模式下發生的事情是CPU知道它正在工作爲8086.例如:所有操作都在16位寄存器上,並且內存由一個段尋址:偏移量 對。內存地址是物理內存地址,您可以訪問第一個1MB的RAM。物理地址是通過向左移動4位+偏移量來計算的。 因此,8000h:100h與8010h:0h地址相同,物理地址爲80100h。

一些現代機器具有EFI而不是BIOS,並且從一開始就在「保護模式」下啓動。 MAC機器就是這樣。

0

MASM代表「microsoft macro assembler」。在現代(32位和64位)中,這是所謂的「實模式」,它支持16位甚至8位寄存器,以實現向後兼容。基本上,處理器「模擬」較舊的處理器,所以爲該處理器設計的程序即使在較新的處理器上也能運行。對於MASM只要求谷歌。
我建議你在MASM中使用Easy Code。這是一個IDE,它允許您使用匯編語言構建win32可執行文件。

1

Ans。 MASM:Microsoft宏彙編程序 Microsoft宏彙編程序(MASM)是x86系列微處理器的彙編程序,最初生成Microsoft MS-DOS操作系統。它支持各種各樣的宏設施和結構化編程習慣用法,包括用於循環,過程調用和交替的高級構造(因此,MASM是高級彙編程序的一個示例)。後來的版本增加了爲MS​​-DOS發佈的Windows操作系統生成程序的功能。 MASM是爲數不多的Microsoft開發工具之一,沒有單獨的16位和32位版本。彙編程序提供程序員尋找額外的性能三基於性能的解決方案。 MASM可以構建非常小的高性能可執行文件,這些文件非常適合在大小和速度有關的情況。當其他語言需要額外的性能時,MASM可以通過小而快速且功能強大的動態鏈接庫來提高這些語言的性能。對於在Microsoft Visual C/C++中工作的程序員,MASM會生成相同格式的模塊和庫,以便C/C++程序員可以在MASM中構建模塊或庫,並將它們直接鏈接到它們自己的C/C++程序中。這允許C/C++程序員以非常高效和方便的方式,圖形操作,遊戲,非常高速的數據處理和處理,以大多數程序員從未見過的速度解析,加密,壓縮和任何其他形式的處理器密集型信息處理。