|+------------------+ Memory high end
When a function call occurs in a program, the computer does the following: First, the parameters are pressed into the stack;The contents of the Save instruction Register (IP) are returned address (RET); The third is the base address that is sent to the stack(FP), then copy the current stack pointer (SP) to the FP as the new base address, and finally the localAmount of space, the SP minus the appropriate value. Take the following procedure as an example:
, two methods are usually used for parameter passing. SWI exception handlers can provide related services, both of which are user software agreements. The SWI exception interrupt handling program reads the SWI command that causes the software interruption and obtains 24 as the immediate number.
1) The 24-bit immediate number in the command specifies the service type of the user request, and the parameter is passed through the General Register. For example:
MoV r0, #34
SWI 12
2) The 24-bit immedi
temporarily saves (into the stack push), and so on call function completes after the stack (pop) restores the scene. So that the CPU can continue to execute correctly.
Save the value of the register, generally with the push instruction, will correspond to the value of some registers, each put into the stack, that is, the so-called pressure stack. Then the call to the child function after the completion of the call pop, the stack of a value, assigned to the corresponding those you just began to
above the scene, is a meaning.Save the value of the register, generally with the push instruction, will correspond to the value of some registers, one by one into the stack, the corresponding value into the stack inside, that is, the so-called pressure stack .Then the call to the completion of the child function, and then call the pop, the stack of values, assigned to the corresponding those you just start to press the stack used in the register, the corresponding value from the stack shot out,
scopes. Here I remind you, for a clustered index table, because the data row is the leaf level of the index, the lock is a key lock complete instead of a row lock. The database engine typically has to obtain a lock on a multi-granularity level to fully protect resources. The locks on this set of multi-granularity levels are called lock hierarchies. For example, to fully protect the reading of an index, the instance of the database engine might have to obtain a shared lock on the row and an inte
instruction, will correspond to the value of some registers, one by one into the stack, the corresponding value into the stack inside, that is, the so-called pressure stack.
Then the call to the completion of the child function, and then call the pop, the stack of values, assigned to the corresponding those you just start to press the stack used in the register, the corresponding value from the stack shot out, that is, the so-called out of the stack.
The saved registers, also including the
assembler preprocessor feature, you can define names like R0, but it's a good idea to learn to use APCS names when you're modifying code written by someone else.
Register name
Reg #
APCS
Significance
R0
A1
Work Register
R1
A2
"
R2
A3
"
R3
A4
"
R4
V1
Must protect
R5
V2
"
R6
V3
"
R7
V4
"
R8
V5
, is a meaning.Save the value of the register, generally with the push instruction, the corresponding value of some registers, one by one onto the stack, the corresponding value is pressed into the stack, that is, the so-called pressure stack. Then when the child function is called to complete the execution, then call the pop, the stack of values, assigned to the corresponding ones you just started to use the register, the corresponding value from the stack popped out, called the stack.The store
1. The processor may be in the following states before an exception occurs:
1.Handler
2.Thread, MSP
3.Thread, PSP
Ii. Exceptions:
1,There is a stack pressure process. If PSP is used when an exception occurs, it is pushed to PSP. If an exception occurs, it is pushed to MSP.
2,The LR value will be set based on the processor mode and the stack used (of course, the configured LR value will be re-applied to the
, R0, C1, C0, 0
/** Before relocating, We Have To Setup RAM Timing* Because memory timing is board-dependend, you will* Find A lowlevel_init.s in your board directory.*/MoV IP, LRBL lowlevel_initMoV LR, IPMoV PC, LR
This Program sets the arm coprocessor CP15 registers, CP15 has 16 32-bit registers, arm_920t manual can find the specific content. Registers 7 and 8 are used for cache (instruction and data buff
the computer, you can often see the word context, the corresponding English is the contextual. So: 1.1. What is called the contextual context
Save the scene, also called the Save context.
Context, the English language is called the contextual, is the above article, and the following article, that is, with you at the moment, the current CPU operation is related to the content, that is, those you use the register. So, and above the scene, is a meaning.
Save the value of the register, generally wi
Http://blog.sina.com.cn/s/blog_6e5b342e0100m87x.html
Arm Assembly programming is essentially a programming of CPU registers. So we need to first find out what registers arm has? How are these registers used?
Arm registers are classified into two types: common registers and status registers.
Register TypeRegister name in assemblyRegisters actually accessed in each modeUserSystemManagementAbortUndefinedInterruptedFast interruptionGeneral registers and program countersR0 (A1)R0R1 (A2)R1R2 (A3)R2R3
Some things are not complicated, but we do not pay attention to him, or we do not have a good concern, we use LR to do performance testing when there is a very important indicator, response time, we all know this indicator, but also know that this indicator can be found in the results analysis, But how many people know how these values are derived from LR? Today in this article I will give you the secret of
. long __dabt_invalid @ 8
. Long __dabt_invalid @ 9
. Long __dabt_invalid @ A
. long __dabt_invalid @ b
. long __dabt_invalid @ C
. long __dabt_invalid @ d
. long __dabt_invalid @ E
. long __dabt_invalid @ F
Vector_stub is a macro definition:
. macro vector_stub, name, mode, correction=0
. Align 5
Vector_\name:
. If \correction
Sub LR, LR, #\correction
. endif
@
@ Save R0, lr_
@ (Parent CPSR)
@
Stmia sp,
The maximum rate of Ethernet switch stack is faster, Which is multiple times faster than the port rate of the switch. Not all switches support Ethernet switch stack, when the number of ports that a single switch can provide is insufficient to meet the requirements of the network computer, more than two switches must provide the corresponding number of ports, which also involves the connection between switches. Basically, there are two ways to connect a vswitch: Ethernet switch stack and cascade.
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.