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 ?

A* search-artificial intelligence, A* Search-Artificial intelligence:  ...

A* Search-Artificial intelligence:   A* search combines the best parts of uniform cost search that  called the fact that it's optimal and complete, and the best parts of gre

Assembly language, Questions 1) Polynomial Integrals Problem: Write an X86-...

Questions 1) Polynomial Integrals Problem: Write an X86-series assembly language program that calculates and prints out (in a nice form) the indefinite integral of a simple polynom

Array, Array: Array  :  In programming, when large amount of related d...

Array: Array  :  In programming, when large amount of related data needs to be processed and each data element is stored with different a variable name, it becomes very diffic

Cp, I NEED FLOW CHART ANT DRAWINGS OF BASIC OPERATIONS OF COMPUTER

I NEED FLOW CHART ANT DRAWINGS OF BASIC OPERATIONS OF COMPUTER

Constant bit rate atm theory, For the connections that request a static amo...

For the connections that request a static amount of bandwidth that is continuously available during the connection lifetime. Is intended to support real time applications requiring

Example of flowcharting, Example of flowcharting: Example Problem s...

Example of flowcharting: Example Problem statement: To find out whether a given number is even or odd. Algorithm: Step 1 Start Step 2 INPUT the number n  Step 3

Vdu visual display unit output, VDU (Visual Display Unit) output...

VDU (Visual Display Unit) output Make sure that VDUs are of an appropriate type. They can cause severe eyestrain and tension if you do not check: (a) Colour (

Write a note on modems, Question 1 Write a note on modems Question ...

Question 1 Write a note on modems Question 2 What are the Safe Chatting Rules Question 3 Explain three basic kinds of hypertext links Question 4 Write a no

C++, Ask question #MiniA string S is said to be "Super ASCII", if it contai...

Ask question #MiniA string S is said to be "Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''''a''

Database, Q1: ER modelling & logical design. An information system is requi...

Q1: ER modelling & logical design. An information system is required for an online auction site, based on the following speci?cation: Only registered users can use the site. Privat

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