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 ?

Environment for intelligent agents-artificial intelligence, Environments ...

Environments We have seen that intelligent agents might take into account certain information when   choosing   a   rational   action, by  including information from its sensor

What is a view, Question (a) What is a view? (b) Can we use a view t...

Question (a) What is a view? (b) Can we use a view to insert or update a record into a table? Do we have any limitation to perform the above command? (c) The syntax to cr

Why is the atm selected as a transport network in 3g, Why is the ATM select...

Why is the ATM selected as a transport network in 3G? Answer: ATM provides efficient support for transmission of voice, data, and video ATM provides QoS guarantee and reliability

Basic concepts of Assembler language , Information Units In order for the P...

Information Units In order for the PC to process information, it is essential that this information be in unique cells called registers. The registers are sets of 8 or 16 flip-flop

What is packet switching? explain, Question 1 What are the five subscriber...

Question 1 What are the five subscriber-related signaling functions performed by the operator? Question 2 Compare Microprogrammed control and Hard-wired control Que

Debugging, Debugging Once a program has been written, it has to ...

Debugging Once a program has been written, it has to be tested first to ensure that it is free of errors. It is very normal that any program written will contain mistake

Explain erlang family of distributions of service times, Question 1 Explai...

Question 1 Explain the structure of Mathematical Model in your own words Question 2 Describe Erlang family of distributions of service times Question 3 Describe the algo

Explain data movement ?, In any program it is essential to move the data in...

In any program it is essential to move the data in the memory and in the CPU registers; there are a number of ways to do this: it can copy data in the memory to a number of registe

Briefly explain the shutter speed, Question 1 Write a note on transition, ...

Question 1 Write a note on transition, transition types & Features Question 2 Describe the different types of lens used in film shooting Question 3 Briefly explain

Memory, why do computer have internal memory as a part of cpu and the inter...

why do computer have internal memory as a part of cpu and the internal bulk memory seprately?

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