作者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