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 ?

What is structure, Problem 1 Write a recursive function to find sum of ...

Problem 1 Write a recursive function to find sum of even numbers from 2 to 50 Writing function and explanation Problem 2 What is structure? Explain how structu

Define Function of OSI Layers, OSI Layers: Open Systems Interconnection mod...

OSI Layers: Open Systems Interconnection model is a reference model developed by International Organization for Standardization in 1984, as a conceptual structure of principles fo

What is mixing, Question 1 Briefly explain waveform Characteristics ...

Question 1 Briefly explain waveform Characteristics Question 2 Write a note on: types of Microphones Question 3 Briefly explain Magnetic Properties of Audiotape

Explain the operations of alu, Question 1 Explain the operations of ALU ...

Question 1 Explain the operations of ALU Question 2 Write down the Booth's Multiplication Algorithm with an example Question 3 Explain the characteristics of memor

D, #questionWrite a program to find the area under the curve y = f(x) betwe...

#questionWrite a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two poi

Two dimensional arrays, Two dimensional Arrays:  A two-dimensional array ...

Two dimensional Arrays:  A two-dimensional array is like a table, with a defined number of rows, where each row has a defined number of columns. In some instances we need to  hav

Importance of good database design , Importance of Good Database Design Poo...

Importance of Good Database Design Poor database design may have results in unwanted data redundancy Poor database design keeps errors leading to bad decisions and results Practica

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

Innovation, role of an system analyst as an innovator

role of an system analyst as an innovator

Why learning of Assembly language is beneficial?, The first reason to work ...

The first reason to work with assembler is that it offers the opportunity of knowing more the operation of your PC, which permits the development of software in a more constant man

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