Learning Assembler (64 bit)
-
You might use wsl (windows subsystem for linux). It's command line, but linux command line in Windows 10. Just install Ubuntu from Microsoft store.
-
Check out
http://asmirvine.com/
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
If you are used to Visual Studio you can check out this link in Microsoft docs: MASM for x64 (ml64.exe) | Microsoft Docs And for the instructions set, the Intel documentation described in a previous reply is very helpful.
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
I'll second the suggestion to use WSL - I do cross-platform (Linux/Windows) C++ development & use a Windows 10 laptop with a WSL Ubuntu 18.04 installation, and I wouldn't want to work any other way. I use Ubuntu bash as my main shell. I can invoke both Windows and Linux executables from that shell. I use Visual Studio Code as my editor, and can either interact with Windows tools, or Linux ones if I use the Remote-WSL extension. If you use WSL1, you're using the Windows kernel through a translation layer, while WSL2 uses a lightweight VM with a Linux kernel - oh, and you can switch between WSL1 and 2 at will... In either case, your userspace experience should be pretty much the same...
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
Try to take a look at this book "Assembly Language for x86 Processors", http://kipirvine.com/asm/ that is Windows and Visual Studio based textbook. Although it titled as x86 (32-bit) because of its history reason, it actually gives 64-bit assembly description almost at each chapter end. You also can find author's x64 libraries and practice 64-bit programming with VS. I am teaching ASM with this book for years and think it really a nice learning environment there.
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
If you don't have the energy for assembly language and Linux, that's because of Linux. Throw it away. Actually, throw it away even if you decide not to learn assembly language.
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
-
If you don't have the energy for assembly language and Linux, that's because of Linux. Throw it away. Actually, throw it away even if you decide not to learn assembly language.
-
Try to take a look at this book "Assembly Language for x86 Processors", http://kipirvine.com/asm/ that is Windows and Visual Studio based textbook. Although it titled as x86 (32-bit) because of its history reason, it actually gives 64-bit assembly description almost at each chapter end. You also can find author's x64 libraries and practice 64-bit programming with VS. I am teaching ASM with this book for years and think it really a nice learning environment there.
-
I'll second the suggestion to use WSL - I do cross-platform (Linux/Windows) C++ development & use a Windows 10 laptop with a WSL Ubuntu 18.04 installation, and I wouldn't want to work any other way. I use Ubuntu bash as my main shell. I can invoke both Windows and Linux executables from that shell. I use Visual Studio Code as my editor, and can either interact with Windows tools, or Linux ones if I use the Remote-WSL extension. If you use WSL1, you're using the Windows kernel through a translation layer, while WSL2 uses a lightweight VM with a Linux kernel - oh, and you can switch between WSL1 and 2 at will... In either case, your userspace experience should be pretty much the same...
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
Ugh! I will keep your suggestion on the back burner, but quite frankly, I will lie if I tell you I understood every word you wrote. Note: The problem is my comprehension, not your suggestion! :) I just have to read your posting a few more times. And: I have already downloaded the iso for Ubuntu (version 19 something). So I am ready to go the Ubuntu route if needed.
-
If you are used to Visual Studio you can check out this link in Microsoft docs: MASM for x64 (ml64.exe) | Microsoft Docs And for the instructions set, the Intel documentation described in a previous reply is very helpful.
Noted! Thanks! And yes: I am very familiar with VS. Have used every version from 2010 (which cost me $500!) through 2012 (another $500 :sigh: ) to 2019 CE, which is free. Thanks MS! I for one appreciate what you do for me! A free upgrade to Windows 10 on all my family's machines, and the world's premier IDE free of charge. :-D
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
I use Easycode (www.easycode.cat) with GoAsm
-
Many moons ago, before I retired, for many decades, I programmed embedded devices (8 / 16 bit) in both plain C and Assembler. In the early 1980s I even programmed my first PC in Assembler. This was one of the first genuine IBM PCs that they produced in Scotland. It's processor was an Intel 8080 running at the stunning clock speed of 4.7 MHz! At the time that was considered revolutionary! Since my retirement a decade ago, I have been dabbling with C# just to keep the grey cells busy. Lord knows I have lost too many of them due to the stoopid aging process! :mad: But lately I have been looking around for another challenge. Learning 64 bit Assembler sounds interesting. Checked Amazon for not-too-expensive books on the subject, but some of the better books are for the Linux operating system. I just don't have the energy left to learn both Assembler and Linux. :sigh: Can any of you recommend any good resources covering 64 bit Assembler programming on Windows, preferably using Visual Studio? Please understand that I have done a Google search. Got plenty possibilities from Google. But I would like options that come with your personal recommendations, please. It is so much easier to pick options that your trusted friends recommend.
I started a long time ago with 8048, 8080, TMS9900 and even DSP assembler. Few years ago, I was doing signal processing for telecommunications. To optimize a major function I used assembly langage with SSE instructions. My tools were : - PellesC IDE (C, assembly) - the Intel documentation That was for x86 (32-bits) ; the C code could include assembly instructions. The debugger can step through C or assembly code with access to the internal registers. For AMD64, the assembly code must be handled separately ; that is a good choice. That's my experience. Good luck !
Henri