+ 1

assembly in visuall studio or othere environment

hi to all today i want to learn to programme with assembly language in windows 7 I have visual studio 2017 what is best and easy way for writing this code I don't have any ex[erience with assembly language I'm new to this field all my knowledge is about c++ and c# I hope you hint me

11th Nov 2017, 9:30 PM
muhamad hardaniyan
muhamad hardaniyan - avatar
11 Réponses
+ 2
You basically need to learn following stuff: To start (required): - CPU programming model — what registers there are, what are they used for - Basic instructions — like mov, arithmetic ones, jumps, etc. - Addressing types — basically, using registers as pointers - Memory layout — segments, stack, heap, how PE file is loaded - Calling conventions — how to pass arguments to functions, and how to return. If you want to create Windows GUI applications (optional): - Win API — creating and manipulating windows, files, etc. Some advanced topics (optional): - Advanced instructions — MMX, SSE, etc. - x64 mode - Protections rings, what you can and can not do - System specific stuff — accessing ports, system memory layout.
11th Nov 2017, 10:44 PM
deFault
+ 8
Assembly? Why would u wanna learn Assembly??
11th Nov 2017, 9:33 PM
David Akhihiero
David Akhihiero - avatar
+ 4
@James, completely agree. Because before you know, you start writing code like this ;) : https://code.sololearn.com/c61iziQqXr88/?ref=app Still, learning assembler, is almost the same as learning the computer architecture + writing code.
11th Nov 2017, 10:51 PM
deFault
+ 2
First of all, you'll need good knowledge of the computer architecture you want to write for. And a good book on assembly (or a datasheet if you want to target micro controllers). As for the tools, you may use inline assembly in the C/C++ projects in Visual Studio. But if you want to learn to create programs completely in assembly, I would recommend to use simpler tools (just to avoid information overload). I used to use MASM and FASM, simple text editor, command line and OllyDbg, but it was long, long time ago. Also, regarding Windows 7, you better avoid touching x64 and modern Windows API stuff at the start. Things may get over complicated very fast there. And yes, why do you want to learn assembly? For what platforms, what kinds of programs you want to use assembly for?
11th Nov 2017, 9:54 PM
deFault
0
because i know how to get address memory of variable in C # for char and int so i want to learn more about memory
11th Nov 2017, 9:38 PM
muhamad hardaniyan
muhamad hardaniyan - avatar
0
yes but instaling is hard for me at first
11th Nov 2017, 9:39 PM
muhamad hardaniyan
muhamad hardaniyan - avatar
0
yes but they focus on Linux i just want work with assembly in windows
11th Nov 2017, 9:44 PM
muhamad hardaniyan
muhamad hardaniyan - avatar
0
I installed the GUI turbo assembler i hope to get more knowledge in this area
11th Nov 2017, 10:20 PM
muhamad hardaniyan
muhamad hardaniyan - avatar