learn,how to mix C and Assembly Language ?, Basic Computer Science

Assignment Help:
The technique to mix C and assembly language is to apply the "asm" directive. To access C-language variables from assembly language, you just use the C identifier that name is a memory operand. These variables cannot be local to a procedure, and also cannot be static within a procedure. They have to be global (but can be static global). The newline characters are essential.
unsigned long a1, r;
void junk( void )
{
asm(
"pushl %eax \n"
"pushl %ebx \n"
"movl $100,%eax \n"
"movl a1,%ebx \n"
"int $59 \n"
"movl %eax,r \n"
"popl %ebx \n"
"popl %eax \n"
);
}

This instance does the following:
1. Pushes the value stored in %eax and %ebx onto the stack.
2. Puts a value of 100 into %eax.
3. Copies the value in global variable a1 into %ebx.
4. Executes a software interrupt number 59.
5. Copies the value in %eax into the global variable r.
6. Restores (pops) the contents of the temporary registers %eax and %ebx.

Related Discussions:- learn,how to mix C and Assembly Language ?

Digitalelectronics, what duality principle and huntington postulates

what duality principle and huntington postulates

Networking, what is Metropolitan area network?

what is Metropolitan area network?

Data structure, i have attached all files in zip folder, all files are give...

i have attached all files in zip folder, all files are given and act as headers, all what you need to work on: oaa.h "partially given" , wordbench2.h "needed", wordbench2.cpp "nee

Immediate addressing, These addressing modes are: With immediate addressing...

These addressing modes are: With immediate addressing, no lookup of data is essentially required. The data is located in the operands of the instruction itself, not in a different

What is deadlock ?Differentiate two types of resources ?, • A set of proce...

• A set of process is in a deadlock state if each process in the group is waiting for an event that can be caused by only another process in the set. In other words, each member of

Explain ring counter with diagrams, Question 1 Convert the following hexad...

Question 1 Convert the following hexadecimal numbers to base 2 (D73)16 (A21)16 Question 2 Convert the following binary numbers to base 16 (11001011)2 (11

Flowchart, Fahrenheit to celsius convertion

Fahrenheit to celsius convertion

Artificial intelligence agents, Artificial Intelligence Agents: We dis...

Artificial Intelligence Agents: We discussed what we will be talking about in Artificial Intelligence and why those things are important. This chapter is all about how we wi

Operating systems, Consider the state transition diagram of Figure 3.9b. Su...

Consider the state transition diagram of Figure 3.9b. Suppose that it is time for the OS to dispatch a process and that there are processes in both the Ready state and the Ready/Su

High level languages, High level languages: High level languages (conv...

High level languages: High level languages (converted to machine code by compiler or equivalent) are much easier to program, as well as to understand. Several high level langu

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd