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 ?

Database design, Build a database application for a sports league. Assume y...

Build a database application for a sports league. Assume your application is to keep track of teams and equipment that is checked out to teams. Explain the steps that is needed and

Circuit switching and , Circuit Switching: Many switching techniques a...

Circuit Switching: Many switching techniques are in use. One of them is line or circuit switching in which a communications path is actually established before the message is

What is the intent of the singleton pattern, QUESTION Consider a Univer...

QUESTION Consider a University system which has several sub systems: Student Registration Module Registration Time Tabling Library System Human Resource Manag

Computer architecture, Write control sequence for adding the content of the...

Write control sequence for adding the content of the memory location whose address is at memory location pointed by immediate number NUM to register R1. Assume the number NUM is pr

Assembly language, Assembly language : Assembly language is a low level...

Assembly language : Assembly language is a low level programming language similar to machine language, but far easier to write and understand because machine language binary in

Explain particle collision in detail, Question 1 Name the different types ...

Question 1 Name the different types of emitters and explain them in brief Question 2 List and explain the Particle Attributes Question 3 Explain Particle Collision

What do you mean by an interrupt, Question 1 . Explain briefly the function...

Question 1 . Explain briefly the functional units of a computer Question 2 . What do you mean by an interrupt Question 3 . Explain fetching a word from the memory

Visual Basic 2012, Can someone help me write a code for force = mass * acce...

Can someone help me write a code for force = mass * acceleration.

Source and object programs, Source and Object Programs A set of instruc...

Source and Object Programs A set of instructions in a high-level language are called “Source program”. Since high-level languages are machine independent, it is required to fir

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