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 ?

#title.flow chart., akrenda club has just opened their jym and pools servic...

akrenda club has just opened their jym and pools services. They need a system that can keep record of total sales of each. The club has silver and gold members. The silver members

Database reports, The first report, Report #1, is to be an ordered list of ...

The first report, Report #1, is to be an ordered list of the contents of the database, sorted in ascending order by a major field. Report #1 is to include all of the fields and rec

Python Strings and Python Lists, Python Strings: Strings in Python are rec...

Python Strings: Strings in Python are recognized as an adjacent set of characters in among quotation marks. Python permits for either pairs of single or double quotes. Subsets of s

Compare cisc with risc cpus, Question 1 Define the following terms        ...

Question 1 Define the following terms                           1) Pipelining 2) Super Pipelining 3) Dynamic Execution 4) Multiprocessing 5) Multimedia Extensions Question 2

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.

7489 ttl ram device, The 7489 TTL Ram Device: The 7489 TTL Ram package ...

The 7489 TTL Ram Device: The 7489 TTL Ram package has 64 memory cells, each cell is capable of holding a single bit of data.  The cells are organised into locations, and each l

Data output, Data Output : Processed data is no use to you if you cannot u...

Data Output : Processed data is no use to you if you cannot use it. Once data has been processed, you will either: (1) Send it as a data file to another system, e.g. write a fi

Multiplexing, draw the diagram to implement 32*1 mux by using 3 relevant ty...

draw the diagram to implement 32*1 mux by using 3 relevant type of mux

Accessing folders and printers, Accessing Folders and Printers Accessi...

Accessing Folders and Printers Accessing folders, files and printers of another computer is as easy as accessing another computer. To access folders and printers of another c

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

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