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 |