I am an 2nd year computer engineering student. I am familiarized with intel 8086 assembley coding and Motorola M68HC11 architectures.
I want to learn(instruction set) and develope in assembly language for x64 architectures like intel i3 processor. I also want to learn acessing peripheral devices like display, camera, speakers through this coding. Can anyone please suggest any online resources, developement tools so that i can start early and get my hands dirty by experimenting with my codes?.
Divyesh, seems like there are two resources that might be helpful for you:
I hope they are helpful for you.
The learning curve is quite steep. Depending on your current level, you may try climbing lower ranges first:
1. If you are not fluent with Assembly, LINK, LIB etc, try take a course in 8086 assembly. Really compile, link and test your lessons.
2. >>I also want to learn acessing peripheral devices like display, camera, speakers through this coding << In the old days of DOS, every programmer knew about device-drivers. In current Windows/Linux times, this arcane art is obscured behind 'sockets' and services provided by the operating system. Microsoft documentation on device-drivers is a good starting point for Windows programmers.
3. Microsoft VC and Intel's C++ ( 'Composer XE' ) allow Inline-Assembly. That is, small code fragments written in assembler inside a C environment. This makes life much simpler. Just the built in debugger is worth gold.
Note: older 64-bit VC versions did not allow in-line assembly. So, start with 32-bit VC. The transition from 32-bit to 64-bit is a small hill compared to the full Assembly mountain. Note that 'VC Express version' may lack some features you must have - check for yourself. In the absence of further knowledge, opt for an older, but full, version.
I know - from experience - that Intel' C++ compiler and debugger recognize 64-bit instructions.
I hope that helps.