作者huanjang (戒菸計畫~)
看板ASM
標題Re: [問題] 用什麼軟體寫組合語言?
時間Sun Feb 23 21:53:00 2014
你給的Irvine是Win32的範例
你用的那本中文書是Dos的範例
你應該去看原文版怎樣使用,
http://kipirvine.com/asm/gettingStartedVS2010/index.htm
裡面有16-bit怎樣build範例。
不過能不能build我不知道,MASM主要是因為linker不一樣而不能弄出來你要的東西,
主要是因為COFF跟OMF的差異。
如果真的要玩,弄一個Dos模擬器,直接去找MASM 5.x版來玩,我記的MASM 6.11好像
要找特殊版的才能玩。
如果你要很多範例又不想玩Dos系列的,可以去找MASM32。只不過以前的INTx變成呼叫
Windows API的方式來做。老實說你學的那些Dos ASM只是在學習INTx的用法,
但是現在是否有必要去寫、去記那些東西?! 但是改成呼叫Win32API又必須要有些C的底
,因為kernel是用C生出來的,傳參數的方式都要照他的。
※ 引述《ARHAN (腦腦的阿賢腦腦的^.^\~/)》之銘言:
: 各位版友好!
: 最近想練習寫看看組合語言
: 但是爬文爬了好久找不到軟體可以寫(/‵Д′)/~ ╧╧
: 最後在這個網站 http://ppt.cc/TGAA 找到方法
: 也按照教學下載 Visual Studio跟Irvine
: 但是我遇到問題了...
: 按照他的程式碼sample.txt http://ppt.cc/GPDz 可以執行沒錯
: TITLE MASM Template (main.asm)
: ; Description:
: ;
: ; Revision date:
: INCLUDE Irvine32.inc
: .data
: myMessage BYTE "MASM program example",0dh,0ah,0
: .code
: main PROC
: call Clrscr
: mov edx,OFFSET myMessage
: call WriteString
: exit
: main ENDP
: END main
: 但是我按照書(這本 http://ppt.cc/7E27)上的打法卻不行(我不會組語 所以我照打)
: http://ppt.cc/N~29
: 請問是什麼原因啊?
: 書上的程式碼沒有剛剛sample.txt裡面那些
: INCLUDE Irvine32.inc 等等的 是不是跟這個有關?
: 我不懂教學網站內的"設定組譯器及連結器" 他好像都跟"Irvine"有關
: "Irvine"究竟是什麼東西?
: 有沒有其他軟體能夠簡單一點 程式碼打好 按執行就能跑的軟體?
: 不要像這個要設定一大堆..
: 如果沒有也沒關係 反正這都安裝好了 我只想知道怎麼打才能夠順利執行
: (書上程式碼可以執行的方法)
: 不然根本沒辦法練習QQ
: 感謝各位了!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.46.214.70
1F:推 KoenigseggG:16-bit的部分64-bit的OS不能build喔~所以我上學期修時 02/23 22:00
2F:→ KoenigseggG:特別用VB裝xp, 結果老師還沒教到就學期結束了@@ 02/23 22:01
3F:→ KoenigseggG:xp-mode好像也行?總之要build 16-bit頗麻煩,xp沒記 02/23 22:03
4F:→ KoenigseggG:錯保證行的樣子 02/23 22:03
5F:→ KoenigseggG:我記得Irvine那本好像就是MASM32? 02/23 22:05
6F:→ KoenigseggG:宣告用BYTE WORD DWORD......這些 02/23 22:06
7F:推 ARHAN:感謝!我載了DOSBOX跟MASM 5.0之後不會設定... 02/23 23:41
8F:推 ARHAN:我弄好了 感謝!!!! 02/24 01:06
9F:推 loveflames:Invine沒記錯的話是masm615 02/26 18:42
10F:推 loveflames:INCLUDE Irvine16.inc 02/26 18:43
11F:推 loveflames:組譯指令用make16,不知道有沒有記錯,但我以前有做過 02/26 18:44
12F:推 loveflames:16 bit的版本,連tiny mode都玩過了 02/26 18:44