Intel
The art of assembly language
Intel architecture software developer manual:Volume 1: Basic ArchitectureVolume 2a: Instruction Set Reference, A-MVolume 2b: Instruction Set Reference, N-ZVolume 3A: System Programming Guide, part 1Volume 3B: System Programming Guide, part 2
X2apic Specification
Other intel Manual: Intel 64 and IA-32 ubuntures software developer's manuals
, I believe that will be harvested. NASM the link that generates obj can use ALink.
3.FASM
FASM (flat assembler) is a purely in assembly language, and the use of the development of the technology of the compiler, FASM the biggest advantage is that no additional link steps to generate the executable file directly, there is no trivial pseudo command, So the written code looks very clean. In addition, using F
Compilation relatedSome common things about the assembly, including:ASCII Code character table debug command BIOS function call table DOS function call table assembly language error message form ASCII code character sheetDebug commandBIOS function Call tableDOS function call tableassembly Language Error Information tab
This is my sophomore time in the assembly language course design. I am satisfied with what I have done. Now take it out and show it to everyone. I've changed some of the code again. The size of the compiler is a bit larger than the original, but the speed is up. is actually a graphical interface. As long as you add your own practical function in the middle, you can use it directly. I have annotations to the
Linux Assembly Language Development Guide 1-Linux general technology-Linux programming and kernel information, the following is a detailed description. Linux Assembly Language Development Guide
The advantage of assembly language
Differences between compilations and high-level languages:first of all, assembly language directly corresponds to machine languages , different types of computers can not be compatible. Some of the high-level languages are high- level languages for object-oriented (users, etc.) developed in machine language. Second, the main features of
Turn from: Uboot in Start.s Source code of the instruction level of the detailed analysis Green-wasteWhy the C language (function call) requires a stack, and assembly language requires a stackBefore looking at a lot of uboot analysis, which has said to the C language to run, ready to stack.And in Uboot's START.S
I. StatementAlthough most of Linux's core code is written in C language, some of them are inevitably written in assembly language. Some assembly language code is directly written in the Assembly source program, especially the Linu
Any operating system written in a high-level language, the kernel source code is always a small part of the code is written in assembly language. Readers who read the Unix Sys v source know that there are about 2000 lines of code written in assembly language in their core co
Reproduced from: Chinaunix ForumOriginal link Address: http://bbs.chinaunix.net/thread-2304248-1-1.htmlBefore read a lot about Uboot analysis, which has said to the C language, ready to run the stack.
And in Uboot's START.S assembly code, for system initialization, you also see a stack pointer that initializes this action. But I've never seen anyone say system initialization to initialize the stack, that is
Any operating system written in a high-level language, the kernel source code is always a small part of the code is written in assembly language. Readers who read the Unix Sys v source know that there are about 2000 lines of code written in assembly language in their core co
I. Statement
Although most of Linux's core code is written in C language, but the inevitable part of it is written in assembly language. Some assembly language code is written directly in the assembly source program, especially th
How to invoke variables in the assembly in C language.
Assembly language: Declaring a global variable
. Globl _end_ofs
_end_ofs:
. Word _end-_start
C language: Declare the variable, and then call the variable
void Board_init_r (gd_t *id, ulong dest_addr)
{
......
C memory management has 1) variable management. Except for global variables and static variables (variables defined in any function do not appear in C language and static variables have static keywords), they are managed in the stack, go to the function to create these variables, and exit the function to destroy them. 2) function call, which is also in the stack. 3) memory dynamically allocated using the library function. The function in the C library
Linux Assembly Language Development Guide 2-General Linux technology-Linux programming and kernel information. For details, see the following section. Linux Assembly Language Development Guide
Edit: Ice Angel Author: Source: ChinaUnix 2005-6-3
I. Introduction
As one of the most basic programming languages,
Watching the programmer's interview today, I happened to see the efficient access to arrays and pointers, idle boredom, wrote a paragraph of small code, a simple analysis of C language behind the compilation, may be a lot of people only pay attention to C language, but in practical applications, when there are problems, sometimes through the analysis of assembly
compiler's own function library, with-NOSTDLIB allows the compiler linker to select the function library that I write in my program.After you set up the stack in the assembly startup code, use the method (bl cfunction) to invoke the function cfunction in C language, such as the main function in the MCU (BL main). 5, the use of C language to access registers of t
OK, so, the bare-metal program does not have the support of the operating system, want to use C language, you can only use assembly language to manually configure the C language needs of the environment, sounds very tall, in fact, need to do is very simple: specifying the value of the stack pointer is good .
/************************************************************************************************************** ****
Original address: http://bbs.chinaunix.net/thread-2304248-1-1.html
Description: Why the C language (function call) requires a stack, but assembly language does not need a stack.
********************************************************************
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.