Answer the question
In order to leave comments, you need to log in
Does it make sense to learn Assembler?
With the rapid development of information technology, low-level languages such as Assembly are used less and less. Where good speed is needed, C is used, because. it is one of the fastest high-level languages. So does it make sense to study Assembler with such tendencies?
Answer the question
In order to leave comments, you need to log in
for web development? No
for microcontrollers with hard-limited memory registers? Yes
Do you want to have a deeper understanding of the structure and operation of a computer, at a low level?
Do you need to achieve super performance?
Do you want to help the compiler generate productive code?
Or maybe you want to improve the compiler or write your own?
Then yes.
Have you learned any high-level language yet?
You don't care how the code you write works?
Do you care about the quality of the code you write?
You are not going to write system programs, drivers?
Then NO, you shouldn't (but still, it would be useful).
Meaning for what? If you want to get better - yes, there is. If you just want to earn more, don't forget to learn php, java, .Net, Objective-C... It's easier.
Learning assembly language will help you better understand how your programs work.
Literature on Debugging, Vulnerability Analysis, Asm, ARM.
Debugging:
Bill Blunden. Software Exorcism. A Handbook for Debugging and Optimizing Legacy Code.
Brian W. Fitzpatrick. Debugging Teams. Better Productivity through Collaboration.
Butcher Paul. DebugIt. Find, Repair, and Prevent Bugs in Your Code.
Debugging Linux Systems with GNU GDB.
Eric Lawrence. Debugging with Fiddler. The complete reference from the creator of the Fiddler Web Debugger.
Mario Hewardt, Daniel Pravat. Advanced Windows Debugging.
Mario Hewardt. Advanced .NET Debugging.
Matthew A. Telles, Yuan Hsieh. The Science of Debugging.
Norman Matloff. Peter Jay Salzman. THE ART OF DEBUGGING WITH GDB, DDD, AND ECLIPSE.
Rajaram Regupathy. Bootstrap Yourself with Linux-USB Stack. Design, Develop, Debug, and Validate Embedded USB Systems.
Richard Foley. Pro Perl Debugging. From Professional to Expert.
Richard H. Carver, Kuo-Chung Tai. Modern Multithreading Implementing, Testing, and Debugging Multithreaded Java and C++ & Pthreads & Win32 Programs.
Richard Stallman, Roland Pesch, Stan Shebs, et al. Debugging with GDB - the GNU Source-Level Debugger.
Steve Maguire. Debugging the Development Process.
Tarik Soulami. Inside Windows Debugging. A Practical Guide to Debugging and Tracing Strategies in Windows.
Thorsten Grötker, Ulrich Holtmann, Holger Keding, Markus Wloka. The Developer's Guide to Debugging.
Cristina Cifuentes. Reverse Compilation Techniques.
Vulnerability Analysis:
Abraham Ghebrehiwet Ghebremedhin. Combining Static Source Code Analysis and Threat Assessment Modeling For Testing Open Source Software Security.
Adam Loe Doup'e. Advanced Automated Web Application Vulnerability Analysis.
Antti Vayrynen. Finding third-party components with binary analysis.
David B Dewey FINDING AND REMEDYING HIGH-LEVEL SECURITY ISSUES IN BINARY CODE.
David Brumley. Analysis and Defense of Vulnerabilities in Binary Code.
Fabian Yamaguchi. Automated Extraction of API Usage Patterns from Source Code for Vulnerability Identification.
Fabian Yamaguchi. Pattern-Based Vulnerability Discovery.
Falko Strenzke. Efficiency and Implementation Security of Code-based Cryptosystems.
Francisco Jose Marques Vieira. Realistic Vulnerability Injections in PHP Web Applications.
George Perera. PURPOSEFULLY MANUFACTURED VULNERABILITIES IN US GOVERNMENT TECHNOLOGY MICROCHIPS. RISKS AND HOMELAND SECURITY IMPLICATIONS.
Guidelines for Implementation of REST.
Gustav Ahlberg. Generating web applications containing XSS and CSRF vulnerabilities.
Jay-Evan J. Tevis. AUTOMATIC DETECTION OF SOFTWARE SECURITY VULNERABILITIES IN EXECUTABLE PROGRAM FILES.
Jing Xie. INTERACTIVE PROGRAMMING SUPPORT FOR SECURE SOFTWARE DEVELOPMENT.
Mario Heiderich. Towards Elimination of XSS Attacks with a Trusted and Capability Controlled DOM.
Martin Johns. Code Injection Vulnerabilities in Web Applications - Exemplified at Cross-site Scripting.
Prateek Saxena. Systematic Techniques for Finding and Preventing Systematic Techniques for Finding and Preventing.
Rami M.F. Jenna. Modern Approach for WEB Applications Vulnerability Analysis.
Richard Wartell. REWRITING X86 BINARIES WITHOUT CODE PRODUCER COOPERATION.
Runar Moen. Creating secure software.
Ryan Dewhurst. Implementing Basic Static Code Analysis into Integrated Development Environments (IDEs) to Reduce Software Vulnerabilities.
Sydney E Valentine. PLC Code Vulnerabilities Through SCADA Systems.
Sooel Son, BS, MS Toward Better Server-side Web Security.
SRUTHI BANDHAKAVI. AUTOMATED DETECTION OF INJECTION VULNERABILITIES IN WEB APPLICATIONS.
Steven Craig Hanna Jr. Attacks on Emerging Architectures.
Thomas Hofer. Evaluating Static Source Code Analysis Tools.
Tyler Bletsch. Code-Reuse Attacks. New Frontiers and Defenses.
Wolf-Steffen Rodiger. Merging Static Analysis and Model Checking for Improved Security Vulnerability Detection.
Yuchen Zhu. Improving Security and Privacy of Integrated Web Applications.
Assembler:
Blum Richard. Professional Assembly Language.
Cavanagh Joseph. X86 Assembly Language and C Fundamentals.
Duntemann Jeff. Assembly Language Step-by-Step. Programming with Linux.
Irvine KR Assembly Language for x86 Processors. Seventh Edition.
Irvine KR Assembly Language for x86 Processors. Sixth Edition.
Kusswurm D. Modern X86 Assembly Language Programming. 32-bit, 64-bit, SSE, and AVX.
Leiterman JC 32-64-Bit 80x86 Assembly Language Architecture.
Neveln Bob. Linux Assembly Language Programming.
Rose Chris. Assembly Language Succinctly.
Seyfarth Ray. Introduction to 64 Bit Intel Assembly Language Programming for Linux.
Hyde R. The Art of Assembly Language (Second Edition).
Dandamudi SP Guide to Assembly Language Programming in Linux.
ARM:
Holt W. ARM Assembly Language. Fundamentals and Techniques.
Langbridge JA Professional Embedded ARM Development.
Magda Yu.S. Programming and debugging C C++ applications for ARM microcontrollers.
Tay Raymond. OpenCL Parallel Programming Development Cookbook.
Mahout Vincent. Assembly Language Programming ARM Cortex-M3.
Sloss Andrew N. Symes D. Wright C. ARM System Developers Guide. Designing and Optimizing System Software.
Valvano JW Embedded Systems. Introduction to Arm Cortex™-M Microcontrollers. Volume 1.
Yui J. The Definitive Guide to ARM Cortex-M0 and Cortex-M0+ Processors.
Asm is a good base for those who want to understand the intricacies of interaction with microcontrollers and the machine as a whole. In our country, this is not very popular: no one is engaged in firewood, as well as the development of something worthwhile domestic. Almost all because of the hillock. BUT! If you still want to delve into the intricacies of how this language works, I highly recommend checking out the list of books for beginners. Perhaps you will advance and be a specialist in demand abroad, or maybe not. Here it depends on you. From myself, I would recommend more video tutorials . Also a good and visual thing. I hope these materials can help you.
from C to asma half a step. If you're already in C, you'll be bouncing back and forth every day.
If you are in php, then it’s better to improve your skills in frameworks and tsms - it will be more productive for you as a person who makes a craft.
There is always a sense to study, no matter where the whole industry is breaking.
In any case, Asm will not hurt. But whether it is worth studying it superficially or in depth depends on the field of your activity.
And even if the field of activity is far from Asm, but you liked studying it (you never know, you liked the registers), then you are welcome. But who knows what you will be doing in 1-3-5-10 years.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question