flat assembler
Message board for the users of flat assembler.

Index > Windows > Hello again, some help please (newbie here)

Author
Thread Post new topic Reply to topic
ADHS



Joined: 14 Feb 2015
Posts: 4
Location: Australia
ADHS 07 Jul 2021, 10:28
Hello everyone.
After years of absence, i am glad to see that
the board is still active and alive and full
of threads, instead of others.

As i am tottaly newbie in assembly i will need
all the kind of help that anyone will have the
kindness to reply. My background is Delphi 7 SE
with enough understanding of how programs works.
So i've set a starting (learning) point by
re-buinding from the scratch an old visual
project that was almost finished in Delphi,
for Windows.

1st step:
EasyCode, gave a visual result (Frame, ListBox)
enviroment as starting point, that i can use as
a basis. Now i need any kind of information/
examples/code/directions so to understand how:

1. to become comfortable with the windows events
2. experiment to add-remove-control code/components
3. manipulating strings in memory buffers and
read/write these results to/from files.

Thank you.

PS:
I've found related sources but they weren't
combatible with FASM.
Post 07 Jul 2021, 10:28
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4020
Location: vpcmpistri
bitRAKE 07 Jul 2021, 19:29
What examples have you tried that didn't work? Do you mean something from the board, or another source?

_________________
¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup
Post 07 Jul 2021, 19:29
View user's profile Send private message Visit poster's website Reply with quote
ADHS



Joined: 14 Feb 2015
Posts: 4
Location: Australia
ADHS 08 Jul 2021, 01:20
Hello bitRAKE
and thank you for the reply.

For what i'am looking for, i've found examples and
source code (googling) from other sources but as
i am not able to translate from other assemblers to
Fasm i've stucked Sad . This is why i am looking help to
start properly in here.

PS:
I haven't search the board yet, as there is no search
function i have to start searching inside all the pages
from the past till the present.

EDIT:
Shocked Oh my fault! I haven't noticed the small SEARCH option in the headline! Shocked
Post 08 Jul 2021, 01:20
View user's profile Send private message Reply with quote
donn



Joined: 05 Mar 2010
Posts: 321
donn 08 Jul 2021, 20:16
Some examples here which may help with 'navigating' fasm on Windows:

https://flatassembler.net/examples.php

Once you are comfortable calling WINAPI functions, that will probably open up a lot of doors. I haven't used EasyCode, but sounds like it's useful in getting up to speed quickly.

Reading from files sounds like you will need to be able to call WINAPI functions. Manipulating strings in memory is something that may be good to learn from a book, to get the theory. Also helps to learn what Assembly's boundaries are, what you need the OS for, when to use libraries, when to use WINAPI, what x86 instructions are available to you, what things you don't get for free, things like Linked Lists, and when you are using macros. If you are calling a WINAPI function, you may be using a macro to do that, not raw x86 instructions. Useful to map out what's doing what and where.

Good luck.
Post 08 Jul 2021, 20:16
View user's profile Send private message Reply with quote
ADHS



Joined: 14 Feb 2015
Posts: 4
Location: Australia
ADHS 09 Jul 2021, 03:01
Hello donn
thank you very much for your reply
and for the directions that helped
me understand that i have to cancel
my starting point.

Once my point is windows (and DirectX later on) i have to learn
everything related to Windows. I always like to analyze the code
and once understand it trying to create from scratch a new one.
The Code is standard but not the technincs that everyone is doing
the same thing with different ways. And this is exciting, as i
want to be someone that writes code and not just copy/paste it.

Without help its easy for a newbie like me to get lost in wrong
paths or to get dissapointed. I didn't pay attention to the old
code/examples and those gigabytes that i have stored since 1999.
Thank you donn, you helped me to find out the propper path.

Another crossroads that i've been is that things have changed!
and the documentation is not so helpful for someone that starts.
After download WinAPI and Intel manuals with their last changes,
i realized that i must learn to "read" the basics of C and C++
language so to be able to conform their code in assembly. So i
think i have to rollback by following some books that teaching
the basics for C, C++ and assembly. A must U turn, but nessesary!

It worths to take a look at EasyCode. It supports all the present
assemblers and it is visual with a set of basic Win Common Controls
plus console templates.
Post 09 Jul 2021, 03:01
View user's profile Send private message Reply with quote
donn



Joined: 05 Mar 2010
Posts: 321
donn 09 Jul 2021, 05:44
No worries. Don't mean to make things more difficult or less for you, just sharing a perspective, some other people may have suggestions to get to the finish line more quickly.

If you look at the Table of Contents of these books:
Assembly 1
Assembly 2
DirectX

you can see there are many distinct concepts that help to learn in terms of theory and practice. DirectX is by far easier to work with in C/C++. It may help to do this and convert pieces to assembly. When you work BETWEEN C and assembly, you can also achieve a lot, as in this example: fasm msvc example. But, as you can see from the books, working with C from assembly or vice versa is a LATER chapter in the book, towards the end. It's very empowering to use Assembly FROM C/C++ as a library. I did this in a DirectX project where I called an Assembly library of mine to perform interpolation of vertex points very quickly with SSE Assembly instructions. Using Vulkan now myself however, find SPIR-V shaders to be very interesting.

If you do any C/C++ work and try to learn things like memory allocation, you will find much quicker answers on the internet, using HeapAlloc or whatever, and they are quicker to test out. But learning that or Assembly can complement one another and yeah it's super helpful to just ask a question when stuck on something on these message boards, you may find a quick answer that opens a lot of doors like I have many times. Good luck. And if you DO try to search these message boards, I've been advised to search them through a separate search engine, whatever your favorite search engine may be, and limit results to the flatassembler website.
Post 09 Jul 2021, 05:44
View user's profile Send private message Reply with quote
ADHS



Joined: 14 Feb 2015
Posts: 4
Location: Australia
ADHS 09 Jul 2021, 13:59
donn, you made things clear and now i am on the
right track to start working. And thank you very
much for your kindness. As i know by experience,
not too many Teachers, have the gift to teach.

I already have Assembly 1 and DirectX books. As
Assembly 1 is outdated, i didn't pay attention.
(f.e. C++ almost every year has a new version)
But, as i am learning i wont bother anymore and i
will focus in the part to learn. Later on i will
be able to catch up with the differences of today.
Sadly for assembly, the documentation for C/C++
(even in SDK's) is plenty and more attractive.

I fully understand what you mean by mixing languages:
I've tried to insert assembly code inside Delphi in
past and indeed the results were remarkable! It was
faster-accurate and very clever to use a language as
a control panel while the routines are in assembly.
At the final, even C, C++ etc are concluding to use
assembly declarations, especially for the hardware.

The board is very helpful and i've noticed that indeed
there is always a solution-answer. I like it in here. Very Happy

Again, thank you donn,
all the best for you.

PS:
I've check a recent Vulkan based game: Strange Brigade.
I was shocked of what i was looking in the monitor!!!!!
Post 09 Jul 2021, 13:59
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.