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 ?

Operating system (o.s), Operating System (O.S) An operating syst...

Operating System (O.S) An operating system is the complete set of programs written to utilize the computer resources in an optimal manner. The operating system supervise

Describe circuit switching and message switching, Question 1 List the Basi...

Question 1 List the Basic essential components of a computer network Question 2 What are the functions of (i) Routers (ii) Bridges Question 3 What are the advantag

Packet switching, Packet Switching: This is one of recent techniques o...

Packet Switching: This is one of recent techniques of switching. Packet switching was originally developed for use by ARPA network by the Defence Department of US. According t

Distinguish between passive and active attacks, QUESTION (a) Distinguis...

QUESTION (a) Distinguish between passive and active attacks. (b) Give two reasons why it is important to organise security awareness programs for users. (c) Explain how s

What is .net framework, Qestion 1 What is .Net Framework? Qestion 2 W...

Qestion 1 What is .Net Framework? Qestion 2 Write short notes on constructors and destructors Qestion 3 Explain boxing and unboxing with examples Qestion 4 What is

Output options to various multimedia, The various systems (computer, softwa...

The various systems (computer, software and output devices) that are available have different limitations for output that is cartographic in nature. Some systems are CAD, GIS limit

Multiple queues, I need to create mulitple queues assignment that run concu...

I need to create mulitple queues assignment that run concurrently. It is like a queue simulation with  number of checkouts with a random probability of clients, joining any one

Coaxial cables, Coaxial Cables: Another metallic transmission medium w...

Coaxial Cables: Another metallic transmission medium which offers a large bandwidth, is the coaxial cable. Such cables consist of an outer protective shell made of copper tube

Explain the functions of alu, Question 1 Write down the Booth's Multiplica...

Question 1 Write down the Booth's Multiplication Algorithm. Justify the Booth's Multiplication Algorithm Question 2 Explain the functions of ALU Question 3 Define the term ins

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