Mat Posted March 29, 2011 Share Posted March 29, 2011 Why do want to use FASM from SciTE when it comes with an editor already? Although it may be a little light on features and the cursor being allowed beyond the end of lines is a bit old school, I found it helped. Comparing assembly to batch scripts is a bit off though . AutoIt Project Listing Link to comment Share on other sites More sharing options...
Richard Robertson Posted March 29, 2011 Share Posted March 29, 2011 (edited) I never claimed I prefer .Net assemblies for their resulting size. I love C# as a language and the metadata system makes using libraries very painless. And yes, that was what my ew was for. Edited March 29, 2011 by Richard Robertson Link to comment Share on other sites More sharing options...
Skitty Posted March 29, 2011 Author Share Posted March 29, 2011 (edited) Start SciTE. Click "Help" on the menu bar.Click "Help" in Help submenu.???Profit. ohh, I didn't notice the extra scite help chm. thanks. But how do I tell scite where FASM is so it can use it when the compile button is used? expandcollapse popup# Define SciTE settings for Assembler files (IA32 MASM and NASM) # Originally by Black Horus blackhorus@gmx.net 2002 # Updated by Kein-Hong Man mkh@pl.jaring.my 2003-10 # Masm files file.patterns.asm=*.asm filter.asm=Assembler (asm)|$(file.patterns.asm)| lexer.$(file.patterns.asm)=asm # these keywords are taken from the masm book (v6.13) # updated with Intel Pentium 4, MMX, SSE, SSE2 instructions from NASM # (note that some are undocumented instructions) cpu_instruction=aaa aad aam aas adc add and call cbw \ clc cld cli cmc cmp cmps cmpsb cmpsw cwd daa das dec div esc hlt \ idiv imul in inc int into iret ja jae jb jbe jc jcxz je jg jge jl \ jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns \ jnz jo jp jpe jpo js jz lahf lds lea les lods lodsb lodsw loop \ loope loopew loopne loopnew loopnz loopnzw loopw loopz loopzw \ mov movs movsb movsw mul neg nop not or out pop popf push pushf \ rcl rcr ret retf retn rol ror sahf sal sar sbb scas scasb scasw \ shl shr stc std sti stos stosb stosw sub test wait xchg xlat \ xlatb xor \ bound enter ins insb insw leave outs outsb outsw popa pusha pushw \ arpl lar lsl sgdt sidt sldt smsw str verr verw clts lgdt lidt lldt lmsw ltr \ bsf bsr bt btc btr bts cdq cmpsd cwde insd iretd iretdf iretf \ jecxz lfs lgs lodsd loopd looped loopned loopnzd loopzd lss \ movsd movsx movzx outsd popad popfd pushad pushd pushfd scasd seta \ setae setb setbe setc sete setg setge setl setle setna setnae setnb \ setnbe setnc setne setng setnge setnl setnle setno setnp setns \ setnz seto setp setpe setpo sets setz shld shrd stosd \ bswap cmpxchg invd invlpg wbinvd xadd \ lock rep repe repne repnz repz # these are mostly non-MMX/SSE/SSE2 486+ instructions cpu_instruction2=cflush cpuid emms femms \ cmovo cmovno cmovb cmovc cmovnae cmovae cmovnb cmovnc \ cmove cmovz cmovne cmovnz cmovbe cmovna cmova cmovnbe \ cmovs cmovns cmovp cmovpe cmovnp cmovpo cmovl cmovnge \ cmovge cmovnl cmovle cmovng cmovg cmovnle \ cmpxchg486 cmpxchg8b \ loadall loadall286 ibts icebp int1 int3 int01 int03 iretw \ popaw popfw pushaw pushfw rdmsr rdpmc rdshr rdtsc \ rsdc rsldt rsm rsts salc smi smint smintold svdc svldt svts \ syscall sysenter sysexit sysret ud0 ud1 ud2 umov xbts wrmsr wrshr # fpu instructions, updated for 486+ fpu_instruction=f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcom fcomp fcompp fdecstp \ fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv \ fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 \ fldcw fldenv fldenvw fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul \ fmulp fnclex fndisi fneni fninit fnop fnsave fnsavew fnstcw fnstenv \ fnstenvw fnstsw fpatan fprem fptan frndint frstor frstorw fsave \ fsavew fscale fsqrt fst fstcw fstenv fstenvw fstp fstsw fsub fsubp \ fsubr fsubrp ftst fwait fxam fxch fxtract fyl2x fyl2xp1 \ fsetpm fcos fldenvd fnsaved fnstenvd fprem1 frstord fsaved fsin fsincos \ fstenvd fucom fucomp fucompp fcomi fcomip ffreep \ fcmovb fcmove fcmovbe fcmovu fcmovnb fcmovne fcmovnbe fcmovnu # these are MMX, SSE, SSE2 instructions ext_instruction=addpd addps addsd addss andpd andps andnpd andnps \ cmpeqpd cmpltpd cmplepd cmpunordpd cmpnepd cmpnltpd cmpnlepd cmpordpd \ cmpeqps cmpltps cmpleps cmpunordps cmpneps cmpnltps cmpnleps cmpordps \ cmpeqsd cmpltsd cmplesd cmpunordsd cmpnesd cmpnltsd cmpnlesd cmpordsd \ cmpeqss cmpltss cmpless cmpunordss cmpness cmpnltss cmpnless cmpordss \ comisd comiss cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps \ cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi cvtss2sd cvtss2si \ cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss \ cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi cvttsd2si cvttss2si \ divpd divps divsd divss fxrstor fxsave ldmxscr lfence mfence \ maskmovdqu maskmovdq maxpd maxps paxsd maxss minpd minps minsd minss \ movapd movaps movdq2q movdqa movdqu movhlps movhpd movhps movd movq \ movlhps movlpd movlps movmskpd movmskps movntdq movnti movntpd movntps \ movntq movq2dq movsd movss movupd movups mulpd mulps mulsd mulss \ orpd orps packssdw packsswb packuswb paddb paddsb paddw paddsw \ paddd paddsiw paddq paddusb paddusw pand pandn pause paveb pavgb pavgw \ pavgusb pdistib pextrw pcmpeqb pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd \ pf2id pf2iw pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul \ pmachriw pmaddwd pmagw pmaxsw pmaxub pminsw pminub pmovmskb \ pmulhrwc pmulhriw pmulhrwa pmulhuw pmulhw pmullw pmuludq \ pmvzb pmvnzb pmvlzb pmvgezb pfnacc pfpnacc por prefetch prefetchw \ prefetchnta prefetcht0 prefetcht1 prefetcht2 pfrcp pfrcpit1 pfrcpit2 \ pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pf2iw pinsrw psadbw pshufd \ pshufhw pshuflw pshufw psllw pslld psllq pslldq psraw psrad \ psrlw psrld psrlq psrldq psubb psubw psubd psubq psubsb psubsw \ psubusb psubusw psubsiw pswapd punpckhbw punpckhwd punpckhdq punpckhqdq \ punpcklbw punpcklwd punpckldq punpcklqdq pxor rcpps rcpss \ rsqrtps rsqrtss sfence shufpd shufps sqrtpd sqrtps sqrtsd sqrtss \ stmxcsr subpd subps subsd subss ucomisd ucomiss \ unpckhpd unpckhps unpcklpd unpcklps xorpd xorps register=ah al ax bh bl bp bx ch cl cr0 cr2 cr3 cr4 cs \ cx dh di dl dr0 dr1 dr2 dr3 dr6 dr7 ds dx eax ebp ebx ecx edi edx \ es esi esp fs gs si sp ss st tr3 tr4 tr5 tr6 tr7 \ st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 \ xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 # masm directives directive=.186 .286 .286c .286p .287 .386 .386c .386p .387 .486 .486p \ .8086 .8087 .alpha .break .code .const .continue .cref .data .data? \ .dosseg .else .elseif .endif .endw .err .err1 .err2 .errb \ .errdef .errdif .errdifi .erre .erridn .erridni .errnb .errndef \ .errnz .exit .fardata .fardata? .if .lall .lfcond .list .listall \ .listif .listmacro .listmacroall .model .no87 .nocref .nolist \ .nolistif .nolistmacro .radix .repeat .sall .seq .sfcond .stack \ .startup .tfcond .type .until .untilcxz .while .xall .xcref \ .xlist alias align assume catstr comm comment db dd df dosseg dq \ dt dup dw echo else elseif elseif1 elseif2 elseifb elseifdef elseifdif \ elseifdifi elseife elseifidn elseifidni elseifnb elseifndef end \ endif endm endp ends eq equ even exitm extern externdef extrn for \ forc ge goto group gt high highword if if1 if2 ifb ifdef ifdif \ ifdifi ife ifidn ifidni ifnb ifndef include includelib instr invoke \ irp irpc label le length lengthof local low lowword lroffset \ lt macro mask mod .msfloat name ne offset opattr option org %out \ page popcontext proc proto ptr public purge pushcontext record \ repeat rept seg segment short size sizeof sizestr struc struct \ substr subtitle subttl textequ this title type typedef union while width directive_operand=$ ? @b @f addr basic byte c carry? dword \ far far16 fortran fword near near16 overflow? parity? pascal qword \ real4 real8 real10 sbyte sdword sign? stdcall sword syscall tbyte \ vararg word zero? flat near32 far32 \ abs all assumes at casemap common compact \ cpu dotname emulator epilogue error export expr16 expr32 farstack flat \ forceframe huge language large listing ljmp loadds m510 medium memory \ nearstack nodotname noemulator nokeyword noljmp nom510 none nonunique \ nooldmacros nooldstructs noreadonly noscoped nosignextend nothing \ notpublic oldmacros oldstructs os_dos para private prologue radix \ readonly req scoped setif2 smallstack tiny use16 use32 uses \ # nasm directives, mostly complete, does not parse properly # the following: %!<env>, %%, %+, %+n %-n, %{n} directive_nasm=db dw dd dq dt resb resw resd resq rest incbin equ times \ %define %idefine %xdefine %xidefine %undef %assign %iassign \ %strlen %substr %macro %imacro %endmacro %rotate .nolist \ %if %elif %else %endif %ifdef %ifndef %elifdef %elifndef \ %ifmacro %ifnmacro %elifmacro %elifnmacro %ifctk %ifnctk %elifctk %elifnctk \ %ifidn %ifnidn %elifidn %elifnidn %ifidni %ifnidni %elifidni %elifnidni \ %ifid %ifnid %elifid %elifnid %ifstr %ifnstr %elifstr %elifnstr \ %ifnum %ifnnum %elifnum %elifnnum %error %rep %endrep %exitrep \ %include %push %pop %repl struct endstruc istruc at iend align alignb \ %arg %stacksize %local %line \ bits use16 use32 section absolute extern global common cpu org \ section group import export directive_operand_nasm=a16 a32 o16 o32 byte word dword nosplit $ $ seq wrt \ flat large small .text .data .bss near far \ %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 keywords.$(file.patterns.asm)=$(cpu_instruction) $(cpu_instruction2) keywords2.$(file.patterns.asm)=$(fpu_instruction) keywords3.$(file.patterns.asm)=$(register) keywords4.$(file.patterns.asm)=$(directive) $(directive_nasm) keywords5.$(file.patterns.asm)=$(directive_operand) $(directive_operand_nasm) keywords6.$(file.patterns.asm)=$(ext_instruction) comment.block.asm=; # Assembler Styles style.asm.32=fore:#808080,font:Verdana,size:8 # Default style.asm.0= # Comment style.asm.1=fore:#adadad #$(colour.code.comment.line),font:Comic Sans MS,size:8 # Number style.asm.2=fore:#ff0000 # String style.asm.3=$(colour.string) # Operator style.asm.4=$(colour.operator),bold # Identifier style.asm.5= # CPU instruction style.asm.6=$(colour.keyword),bold #fore:#0000ff # FPU instruction style.asm.7=fore:#0000ff # Register style.asm.8=fore:#46aa03,bold # assembler Directive style.asm.9=fore:#0000ff # assembler Directive Operand style.asm.10=fore:#0000ff # Comment block (GNU as /*...*/ syntax, unimplemented) style.asm.11=$(colour.code.comment.box),$(font.code.comment.box) # Character/String (single quote) (also character prefix in GNU as) style.asm.12=$(colour.char) # End of line where string is not closed style.asm.13=fore:#000000,back:#E0C0E0,eolfilled # Extended instructions style.asm.14=fore:#B00040 command.compile.$(file.patterns.asm)=masm $(FileNameExt) command.name.0.*.asm=Link command.0.*.asm=link $(FileName) statement.indent.$(file.patterns.asm)=9 .if Or must I use this masm\nasm? Edited March 29, 2011 by System238 Link to comment Share on other sites More sharing options...
ProgAndy Posted March 29, 2011 Share Posted March 29, 2011 (edited) Just replace masm with you compiler Either you specify the full path or you add the compiler path to the %PATH% environment variable. Edited March 29, 2011 by ProgAndy *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes Link to comment Share on other sites More sharing options...
Valik Posted March 29, 2011 Share Posted March 29, 2011 Basic logic check: If you can't figure out how to configure SciTE, which is pretty simple, just a bit archaic with it's config-file only method... how exactly do you expect to write any assembler code that doesn't unintentionally eat your hard drive? Link to comment Share on other sites More sharing options...
Skitty Posted March 29, 2011 Author Share Posted March 29, 2011 Basic logic check: If you can't figure out how to configure SciTE, which is pretty simple, just a bit archaic with it's config-file only method... how exactly do you expect to write any assembler code that doesn't unintentionally eat your hard drive? :\Thats what makes learning fun... Link to comment Share on other sites More sharing options...
Skitty Posted February 26, 2012 Author Share Posted February 26, 2012 Edit: assembly looks so easy like the windows batch scripts! any one know where I can indulge into this FASM if thats the word.... This can be included in the top 10 stupidest things I've every typed on these forums... Assembly is so f***ing hard, I've spent too much time figuring out how to get the full command line parameters in my application so I can pass it to another process that I want to execute. include \masm32\include\masm32rt.inc .code main proc LOCAL sui:STARTUPINFO LOCAL pi:PROCESS_INFORMATION invoke memfill,ADDR sui,SIZEOF sui,0 ; fill STARTUPINFO mov sui.cb,SIZEOF sui ; fn CreateProcess,0,"C:\Windows\notepad.exe",0,0,0,0,0,0,ADDR sui,ADDR pi ret main endp end main Link to comment Share on other sites More sharing options...
thediamondsaint Posted April 14, 2012 Share Posted April 14, 2012 If this is still being talked about. Visual Studio makes large files in Debug mode. You have to change your devel to Release mode to get the really small files, and.. make sure you change your Multithreaded settings to -just- Multithreaded and not Multithreaded .dll I do alot of windows programming. Link to comment Share on other sites More sharing options...
Skitty Posted April 14, 2012 Author Share Posted April 14, 2012 If this is still being talked about. Visual Studio makes large files in Debug mode. You have to change your devel to Release mode to get the really small files, and.. make sure you change your Multithreaded settings to -just- Multithreaded and not Multithreaded .dllI do alot of windows programming.Thanks, I'll be sure to keep that in mind. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now