asm tools/IDE

Strictly for discussing ZSNES development and for submitting code. You can also join us on IRC at irc.libera.chat in #zsnes.
Please, no requests here.

Moderator: ZSNES Mods

Post Reply
Shin_Gouki
Rookie
Posts: 21
Joined: Mon Jul 18, 2005 2:16 pm
Location: BW, Germany

asm tools/IDE

Post by Shin_Gouki »

Hello!
I just wanted to ask which tools/IDE the ZSNES DEvs favor for asm coding?
wbr Shin Gouki
funkyass
"God"
Posts: 1128
Joined: Tue Jul 27, 2004 11:24 pm

Post by funkyass »

standard text editor
Does [Kevin] Smith masturbate with steel wool too?

- Yes, but don’t change the subject.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

KATE, NASM, The ZSNES assembly toolkit.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
MajereDB8
Rookie
Posts: 37
Joined: Sun Oct 09, 2005 12:32 am

Post by MajereDB8 »

I haven't done assembly coding in a while, but when I did, I used UltraEdit with a syntax highlighting scheme for asm.
mozz
Hazed
Posts: 56
Joined: Mon Oct 10, 2005 3:12 pm
Location: Montreal, QC

Post by mozz »

In case anyone's interested, here's the assembly syntax hilighting scheme I use for NASM code in UltraEdit. Its not perfect (e.g. it thinks cmp [foo],bar is a store) but I find it pretty useful:

Code: Select all

/L8"ASM" Nocase Line Comment = ; Block Comment On Alt = lea Block Comment Off Alt = ] Escape Char = \ String Chars = "' File Extensions = ASM S INC LST
/Delimiters = ~!^&*()-+=|\/{}[]:;"'<> ,	.?
/Marker Characters = "[],]"
/Function String 1 = "%[a-zA-Z_]+^{:^}^{[ ^t]+equ^}"
/Indent Strings = "{"
/Unindent Strings = "}"

/C1"Macros/Directives"
$ $$
%assign
%clear
%define
%elif %elifctx %elifdef %elifid %elifidn %elifidni %elifndef %elifndef %elifnid %elifnidn %elifnidni %elifnnum %elifnstr %elifnum %elifstr %else %endif %endmacro %endrep %error
%iassign %idefine %if %ifctx %ifdef %ifid %ifidn %ifidni %ifnctx %ifndef %ifnid %ifnidn %ifnidni %ifnnum %ifnstr %ifnum %ifstr %include
%macro
%pop %push
%rep %repl %rotate
%undef
__FILE__ __LINE__ __NASM_MAJOR__ __NASM_MINOR__ __SECT__
a16 a32 absolute align alignb
bits
common
equ extern
global
incbin
o16 o32 org
times
section segment

/C2"unused1"

/C3"MMX insns and regs"
movd movq
mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7
pand paddb paddd paddq paddw pandn pcmpeqb pcmpeqw pcmpeqd pcmpgtb pcmpgtw pcmpgtd pextrw pmaddwd pmovmskb pmulhw pmullw por pshufw psubb psubd psubq psubw pxor
psllq psrlq
xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7

/C4"Loads"
,]
cmpsb cmpsd cmpsw
db dd dq dt dw
lodsb lodsd lodsw
resb resd resq rest resw
pop popa popad popf popfd

/C5"Stores"
[]
movsb movsd movsw
stosb stosd stosw
push pusha pushad pushf pushfd

/C6"unused2"
/C7"unused3"
/C8"unused4"
I use black text on white background, so for Loads and Stores I just use a light blue or light red background respectively. Stack opcodes show up in load/store color. Loads use a blockcomment from "," to "]" and Stores use a blockcomment from "[" to "]". There's also an "alt blockcomment" for lea, which runs from "lea" to "]", so you can set that one to be the same color as plain text, and avoid having lea instructions look like loads. One down-side of this, is if the letters "lea" occur in an identifier it might think that's the start of a block comment. Oh well.

I use a light green background for my MMX opcodes and instructions. Their keyword list might be missing SSE2 instructions, I haven't updated it in ages.
Aaron
Lurker
Posts: 157
Joined: Sat Dec 31, 2005 7:26 am

Post by Aaron »

I like Notepad++ for all of my coding/programming needs :). When I'm on Linux, I use Kate.
Post Reply