You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(31) |
Nov
(9) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2005 |
Jan
(8) |
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
(3) |
Jul
(4) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(4) |
Dec
(1) |
2006 |
Jan
(3) |
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(4) |
Dec
|
2007 |
Jan
|
Feb
(4) |
Mar
(8) |
Apr
(7) |
May
(1) |
Jun
(6) |
Jul
(7) |
Aug
(26) |
Sep
(8) |
Oct
(14) |
Nov
(7) |
Dec
(4) |
2008 |
Jan
(5) |
Feb
(7) |
Mar
(31) |
Apr
(18) |
May
(1) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(3) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(9) |
Jun
(8) |
Jul
(17) |
Aug
(24) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(15) |
Nov
|
Dec
(5) |
2011 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
(6) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(4) |
Dec
(1) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Yeoh H. <ye...@ye...> - 2003-10-16 02:24:52
|
Hello, This email message is a notification to let you know that a file has been uploaded to the Files area of the win32-nasm-users group. File : /yeohhs/calldialog.zip Uploaded by : yeohhs <ye...@ye...> Description : Call a dialog box from a menu item: a variation of Iczelion's example. :-) You can access this file at the URL http://groups.yahoo.com/group/win32-nasm-users/files/yeohhs/calldialog.zip Best Regards, Yeoh -- <ye...@ye...> |
From: Yeoh H. <ye...@ye...> - 2003-10-16 01:31:17
|
Hi Frank, Thanks for your contributions. :-) It's good to have a repository of NASM source codes. I've been trying to find NASM codes and collecting them for study and experimentation. Someone will always find the source codes useful no matter how simple they are. Best Regards, Yeoh -- P.S. I try to devote an hour each day, Mondays to Fridays to write Win32 NASM code. I'm still a beginner and would appreciate any comments from more experienced NASM coders. Thanks. :-) |
From: Yeoh H. <ye...@ye...> - 2003-10-16 01:20:03
|
Hi Brutus, I tried to compile EchoClient.asm and got a type not defined. The error is in line 60 wsaData resb WSAdata_size ; stores data about WinSock I checked the definition of WSAdata in win32n.inc and found that it is WSADATA. So I changed this line to: wsaData resb WSADATA_size ; stores data about WinSock After this EchoClient.asm compiles and links without any problems. :-) When I test run the program, a message box with caption "[ERROR] WinSock Echo Client" appears and the text message is: Error connecting to server... Yes, this is expected because I don't have EchoServer running. If you could post EchoServer.asm, I'll try it out and let you know the results. :-) Best Regards, Yeoh -- |
From: Frank K. <fbk...@co...> - 2003-10-16 01:07:54
|
brutus wrote: Hi, Brutus! Thanks for joining us. I'm *way* over my head on this stuff, but debugging code by clueless trial-and-error is something I'm gaining experience at :) > while debuging, OllyDbg[1] remarks that my entry point is outside the > codesegment and complains about beeing outside the code segment when i > set breakpoints. Adding "class=code" to the segment declaration seems to fix this. I added "flat", too. Dunno what it does, but it sounds cool :) I think it's the "class=code" that fixed it. > another strange one: the message box that is used to display the error > messages don't have a titlebar or border or anything. just a grey > background the text and the ok button. This one I'm not seeing. When I try to run the (modified by "class=code flat") executable, I get a normal-looking messagebox with "Error connecting to server..." as the text. That's as far as I've got - just thought I'd mention the "class=code" thing. Research continues... Later, Frank |
From: brutus <mad...@gm...> - 2003-10-15 22:43:45
|
hello all. some time ago someone asks for winsock examples, so i tried to port some of my old tasm code to nasm, but i cant't manage to get it working. as far as i noticed i've got at least 3 problems: * 01 * while debuging, OllyDbg[1] remarks that my entry point is outside the codesegment and complains about beeing outside the code segment when i set breakpoints. don't know what this is all about. seems that everything works fine none the less. i got the same errors with a small hello-world-box program, i wrote to test this. * 02 * another strange one: the message box that is used to display the error messages don't have a titlebar or border or anything. just a grey background the text and the ok button. this happens no matter, which position in the code the message box is called. if i use a wrong ip addresse to generate an error f.e. the message box is also displayed this wired way. * 03 * the connect call returns -1 (SOCKET_ERROR) to indicate an error. WSAGetLastError() returns 0x271E (10014d) = WSAEFAULT(win), EFAULT(bsd) and i realy don't know why. judging by the return values and the OllyDbg sessions, the initializing of WSA, the socket creation and the setting of the sockaddr_in structure are working fine. here's a dump of the sockaddr_in structure: ... 0040218A 00 00 00 00 4C 00 00 00 ....L... 00402192 02 00 00 07 7F 00 00 01 .... 0040219A 00 00 00 00 00 00 00 00 ........ 004021A2 00 00 00 00 00 00 00 00 ........ ... 0040218E = socket handle 0000 004C 00402192 = sockaddr_in structure word: addresse family, word: port, dword: ip (127.0.0.1) and 8 zero bytes i work under winxp and use nasm -f obj echoclient.asm to assemble and alink -c -oPE echoclient.obj to link. so, hope to hear from you guys/gals. later brutus [1] http://home.t-online.de/home/Ollydbg/ |
From: Frank K. <fbk...@co...> - 2003-10-15 21:38:28
|
Yeoh HS wrote: > Hi, > > I've created a new Yahoogroup, Win32 NASM users, so that I could upload zip > files containing Win32 NASM source codes for sharing. You are welcomed to > share your Win32 NASM source codes. :-) > > The URL is: > http://groups.yahoo.com/group/win32-nasm-users/ You've really been busy with this, Yeoh! Great! I just made a new directory and uploaded a "hello world messagebox" and a console mode "hello world" - no included files, and no macros. I'm not suggesting that anyone would want to write a "real" program this way, but some beginners like to see the "raw" code to see what's really happening (I know *I* do). The "console.zip" includes two files, "hwconst.asm", intended to be linked with alink or tlink32, and "hwconsm.asm", intended to be linked with the MS linker (or others that will accept MS's COFF). There isn't much difference. Hope they're of some use to somebody... Best, Frank |
From: Frank K. <fbk...@co...> - 2003-10-15 18:05:16
|
From the Beginner's Questions forum... Hello, i am writing a program that takes a user input from the keyboard of numbers and letters and echo's it to the screen and sound as the equivalent morse code. : plase note that i am working with the intel 8086. : If anyone thinks they could help plase send me an e-mail (pleeeaaaase i'm desperate!) : Cheers : tan...@ya... The only Morse code I remember is from an old "Pearls Before Swine" tune - dit dit dah dit, dah dit dah, dah dit dah dit, dah dit dah - and I've probably got that wrong... If you wanna do this by e-mail, I suggest the nasm-users list - http://lists.sourceforge.net/lists/listinfo/nasm-users This sounds like a homework question(?) - how far have you gotten with it? Can you beep the speaker? Do you know how to get user input? What method do you have in mind? Morse doesn't do "case" does it? So I suppose you'd start by lower-casing the character if it's upper-case, then use that ascii value, probably "biased", as an index into a table of pointers to strings representing the "..-."s. Then parse those strings to generate the beeps. Do you know how to do a delay? How fast do you want to be able to "send"? This might be an area where a "bug" is a good thing :) I've seen an obfuscated C program that displays text as a series of stick-figure cartoons representing the semaphore flags for the characters. That might make an interesting "extra credit" project, in case Morse isn't obsolete enough... Anyway, give us an idea where you're starting from and what parts you need help with. (dealing with your school's "cheating" policy, if this is homework, is *your* problem!) Best, Frank (you should be able to attach code to messages to this list - there's currently a 40k limit - can be changed if need be - Windows code should be uploaded to the win32-nasm-users Yahoo list) |
From: Frank K. <fbk...@co...> - 2003-10-12 19:20:06
|
Sean Champ wrote: > ...I'd ask if, & then, if so, how, the "Hello World" program would > need to be modified, for running it on Linux. Thanks for the kind words, Sean! I'm not really all that satisfied with that lame attempt at a "tutorial" (there was going to be more, but I got lazy), so it really pleases me when someone finds it useful (and/or amusing). To run under Linux, "almost everything" would need to be changed. "I don't think we're in Kansas anymore, Toto." The text "hello, world" can stay, but Linux uses just the linefeed (0Ah or 10 decimal), not a carriage-return/linefeed pair like dos to move to a new line. The damfool dollar-sign is *only* for dos int 21h subfunction 9 - no use anywhere else. The "sys-write" syscall expects to be told the length of the string to print, so the string doesn't need to be terminated in any way. It's probably worthwhile to write a routine that handles a zero-terminated string - like C - rather than keeping track of the length of everything. I just build a little "strlen" routine in-line that leaves the length in edx, but you could call a separate "strlen", too. Dos uses int 21h for almost everything, Linux uses int 80h. Dos puts the subfunction number in ah, Linux uses eax. The rest of the parameters go in registers. For sys_write, the "file descriptor" ("handle") goes in ebx - stdout is 1 (I'm told zero will also work), the "buffer" to write from in ecx, and the length in edx... ; nasm -f elf myprog.asm ; ld -o myprog myprog.o global _start section .text _start mov eax, 4 ; the "sys_write" subfunction mov ebx, 1 ; the "file descriptor - stdout mov ecx, msg ; the address of the message mov edx, msg_len ; how many bytes to write int 80h ; call kernel services mov eax, 1 ; the sys_exit subfunction mov ebx, 0 ; the exit code - 0 = no error int 80h ; call kernel services section .data msg db 'Hello, world',0Ah msg_len equ $-msg It has come to my attention that this isn't very "robust". I've never seen it, but I've been informed (by hpa, and he outta know!) that it can be interrupted before it's finished and won't print the whole "length". Here's "lnxhello.asm" fron Nasm's "test" directory, which copes with that. ; ; Assembly "Hello, World!" for Linux ; ; Properly defined in <sys/syscall.h> %define SYS_exit 1 %define SYS_write 4 section .text global _start _start: ; gdb doesn't like to stop at the entry point address, so ; we put a nop here for pure convenience nop write_hello: mov edx, hello_len mov ecx, hello .loop: mov eax, SYS_write mov ebx, 1 ; stdout int 80h cmp eax, -4096 ja error add ecx, eax sub edx, eax jnz .loop ok: mov eax, SYS_exit xor ebx, ebx int 80h hlt error: mov eax, SYS_exit mov ebx, 1 ; Error int 80h hlt section .rodata hello: db "Hello, World!", 10 hello_len equ $-hello I have no idea how we'd test this to make sure it actually works... The "$" in the "length" expression maybe needs some explaining... It's the "here" symbol, and evaluates to the current "location counter" in the file. In other words, "where we are now", minus "where we were when the message started" gives the length... (incidentally "$$" indicates the start of the section, so "$ - $$" gives the length of the code so far) That's about all I can think of at the moment. Sorry for the delayed reply - I've had the thing in my "drafts" folder for about a week. I think I'll cc this to the newly-created "nasm-users" list on SourceForge - just so it won't be *entirely* Windows :) http://lists.sourceforge.net/lists/listinfo/nasm-users - please join us, if you're so inclined. Again, thanks for the feedback! Best, Frank |
From: Yeoh H. <ye...@ye...> - 2003-10-10 02:57:30
|
Hi, I've created a new Yahoogroup, Win32 NASM users, so that I could upload zip files containing Win32 NASM source codes for sharing. You are welcomed to share your Win32 NASM source codes. :-) The URL is: http://groups.yahoo.com/group/win32-nasm-users/ Best Regards, Yeoh -- |
From: Yeoh H. <ye...@ye...> - 2003-10-10 01:43:48
|
Win32NASM, the unofficial homepage http://rs1.szif.hu/~tomcat/win32/ It is a bit old but still contains useful information. Best Regards, Yeoh -- |
From: yeoh <ye...@ye...> - 2003-10-10 01:23:56
|
Hi, Here's another very simple example program in Nasm (Nagoa). It plays a wav file. :-) Best Regards, Yeoh -- ; ============================================================================= ; Program name: Bell ; Author: Yeoh HS ; Date: 19 September 2003 ; Compiler: NASM ; Purpose: To play wav file ; Also demonstrate how to include icon and version info in program. ; ; To build this program: ; gorc /nw /r %1.rc ; nasmw -id:/nasmw/inc/ -fobj %1.asm ; alink -oPE %1.obj d:\nasmw\lib\nagoa.obj d:\nasmw\lib\Win32.lib %1.res ; ; ============================================================================= %include 'nagoa.inc' [segment code USE32] ..start: call GetModuleHandleA, NULL CONST hInst , dd 0 mov [hInst], eax call DialogBoxParamA, [hInst],DIALOG_ID, 0,DialogProc, 0 call ExitProcess, [hInst] ; ============ [ MAIN DIALOLOG PROC ] =====================: proc DialogProc,hdlg,msg,wParam,lParam cmp dword [msg],WM_INITDIALOG je wm_initdialog cmp dword [msg],WM_COMMAND je near wm_command cmp dword [msg],WM_CLOSE je near wm_close return FALSE ;---------------------------------------------------------------- ; First, load the icon ; Then call PlaySound Win32 API function to play Ding.wav ; wm_initdialog: call LoadIcon, [hInst], IDI_ICON call PlaySound, Ding, NULL, SND_SYNC call PlaySound, Ding, NULL, SND_SYNC call PlaySound, Ding, NULL, SND_SYNC call ExitProcess,0 return TRUE wm_command: ; return TRUE wm_close: call ExitProcess,0 return FALSE endproc ; ============== [ MAIN DIALOGPROC END ] =============== : [segment data USE32] DIALOG_ID equ 1000 IDI_ICON equ 1 Ding db "Ding.wav",0 ;------------------------------------------------------------------------------ Bell.rc #define IDI_ICON 1 IDI_ICON ICON DISCARDABLE "bell.ico" //----------------------------------------------------------------------------- 1000 DIALOG 10, 10, 300, 310 STYLE DS_CENTER| WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX CAPTION "bell" FONT 8, "Helv" BEGIN ; END //----------------------------------------------------------------------------- 1 VERSIONINFO FILEVERSION 0,1,1,1 PRODUCTVERSION 0,1,1,1 FILETYPE VFT_APP { BLOCK "StringFileInfo" { BLOCK "040904E4" { VALUE "CompanyName", "Yeoh HS" VALUE "FileVersion", "1.0.0" VALUE "FileDescription", "Play Ding.wav three times" VALUE "InternalName", "Bell" VALUE "LegalCopyright", "Copyright (C) 2003 by Yeoh HS" VALUE "LegalTrademarks", "" VALUE "OriginalFilename", "Bell.exe" VALUE "ProductName", "Bell" VALUE "ProductVersion", "1.0.0" } } } //============================================================================= |
From: yeoh <ye...@ye...> - 2003-10-10 01:18:19
|
Hi, Here's the source of a dialog-based Win32 GUI program written in Nasm (NagoA). It's a simple template application. :-) Best Regards, Yeoh -- ; =================================: ; Program Name: dlgapp.asm ; Author: Yeoh HS ; To build this program: ; gorc /nw /r %1.rc ; nasmw -id:/nasmw/inc/ -fobj %1.asm ; alink -oPE %1.obj d:\nasmw\lib\nagoa.obj d:\nasmw\lib\Win32.lib %1.res ; Please change paths to your own settings. :-) ;; ================================: %include 'nagoa.inc' [segment data USE32] DIALOG_ID equ 1000 IDC_EXIT equ 1 IDC_HELP equ 2 IDC_SITE equ 3 HelpFileName db "windows.hlp", 0 SiteURL db "http://www.yeohhs.com", 0 [segment code USE32] ..start: call GetModuleHandleA, NULL CONST hInst , dd 0 mov [hInst], eax call DialogBoxParamA, [hInst],DIALOG_ID, 0,DialogProc, 0 call ExitProcess, [hInst] ; ============ [ MAIN DIALOLOG PROC ] =====================: proc DialogProc,hdlg,msg,wParam,lParam cmp dword [msg],WM_INITDIALOG je wm_initdialog cmp dword [msg],WM_COMMAND je near wm_command ;cmp dword [msg],WM_PAINT ;je near wm_paint cmp dword [msg],WM_CLOSE je near wm_close return FALSE ;------------- wm_initdialog: ;->set the menu ; call LoadMenuA,[hInst],ID_MENU ; the resource file.. ; call SetMenu,[hdlg],eax return TRUE ;----------- wm_command: cmp dword [wParam], IDC_SITE je near IDCSite cmp dword [wParam], IDC_HELP je near IDCHelp cmp dword [wParam], IDC_EXIT je near wm_close return TRUE ;--------------- IDCSite: call GetActiveWindow call ShellExecuteA, eax, NULL, SiteURL, NULL, NULL, 0 return FALSE ;--------------- IDCHelp: call GetActiveWindow call WinHelp, eax, HelpFileName, HELP_CONTENTS, 0 return FALSE ;--------------- wm_close: call ExitProcess,0 return FALSE endproc ; ============== [ MAIN DIALOGPROC END ] =============== : And the resource file: dlgapp.rc #define IDC_STATIC -1 #define IDC_EXIT 1 #define IDC_HELP 2 #define IDC_SITE 3 1000 DIALOG 10, 10, 300, 310 STYLE DS_CENTER| WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX CAPTION "dlgapp" FONT 8, "Helv" BEGIN GROUPBOX "", -1, 5,5, 290, 290 GROUPBOX "", -1, 10, 10, 220, 260 PUSHBUTTON "http://www.yeohhs.com", IDC_SITE, 10, 275, 140, 14 PUSHBUTTON "Help", IDC_HELP, 200, 275, 40, 14 DEFPUSHBUTTON "Exit", IDC_EXIT, 245, 275, 40, 14 END ----- Original Message Follows ----- > bg...@si... wrote: > > > how to write gui win program with nasm > > ______________________________________ |
From: Frank K. <fbk...@co...> - 2003-10-09 13:40:01
|
bg...@si... wrote: > how to write gui win program with nasm > ______________________________________ Hi bgcq, Sorry for the delayed response, and I hope you don't mind me transferring your message to the newly-created "nasm-users" list. You can subscribe to it at: http://lists.sourceforge.net/lists/listinfo/nasm-users I'm not much of a Windows programmer. I can do: ;------------------- ; assemble: nasm -f obj hwmb.asm ; link: alink -oPE hwmb.obj win32.lib extern MessageBoxA extern ExitProcess segment .data USE32 title1 db 'A Windows Program', 0 string1 db 'Look, Ma! A Windows program!', 0 segment .text USE32 ..start push dword 0Ch ; button type - supposed to be 0, push dword title1 ; but I need all the help I can get :) push dword string1 push dword 0 ; our "handle", I think call MessageBoxA push dword 0 call ExitProcess ;-------------------- ... but I don't know if that really qualifies as a "gui Windows app", since we haven't created a window. For a "real" Windows program, you'd first register a window class, then create your window, then pretty much sit in a loop fielding messages. I *do* have a few examples of that, but not really cleaned up enough to post. One of the best sources of examples might be to download NaGoA - http://www.visual-assembler.pt.vu/ - whether you use the IDE or not, there are a *ton* of examples included with it. You might also want to take a look at Sheroc's complete package based on Jibz's Xstruc macros. I think it's only got one example with it... http://www.freewebs.com/remains/NASM32PACKAGE.exe I'll try to come up with a "minimal real window" example. Maybe someone else has got one? Well, only a few subscribers to the list, as yet... maybe in a while when we get some subscribers, someone will have one :) Please do subscribe to that list (if you're inclined), and we'll see if we can get some discussion going. Best, Frank |
From: Frank K. <fbk...@co...> - 2003-10-05 23:00:34
|
Seadhert wrote: > Im new in asm and i need help about the stack, ESP , EBP, etc i dont > understand at all how it works....... i have been searching a lot of > information but i didn't find anything about that. If somebody can help me i > will be pleased. Im not saying that you should give me an explication i just > say if you can give me a link or a text about this. Hi Seadhert, Sorry for the much-delayed reply... The nasm-devel list isn't really the ideal place for "beginner questions"... We've just created a "nasm-users" list for the purpose. Hope you don't mind me "borrowing" your question just to get the ball rolling. I really don't have a good answer to your question. There's some information about the stack in section 4.3 of Dr. Paul Carter's tutorial - http://www.drpaulcarter.com/~pcasm I'm sure there are other good explainations on the web, but I'm coming up blank right now. Maybe I'll try to write something up and post it here (later). Or maybe somebody else will come up with something (after we get a few subscribers - please join us). Pretty skimpy answer, but I didn't want to leave you completely ignored - it can only get better :) Best, Frank |
From: Frank K. <fbk...@co...> - 2003-10-05 20:41:51
|
anonymous coward wrote: > testing Syntax error. Supposed to be just "test ..." :) Best, Frank |
From: anonymous c. <nas...@ya...> - 2003-10-05 18:53:48
|
testing __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com |