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 ?

Cathode ray tube monitors, Cathode Ray Tube Monitors (CRT): Monitors d...

Cathode Ray Tube Monitors (CRT): Monitors display what is going on in your computer. They can run at various resolutions. It is the part of computer which looks like a TV set.

Input devices, Input Devices: i)  Keyboard is the most common form of ...

Input Devices: i)  Keyboard is the most common form of input devices. It was originally designed in the last century. Since then, only minor improvements have taken place in k

C program , write a c program for below question

write a c program for below question

Audio/video applications on network, AUDIO/VIDEO APPLICATIONS ON NETWORK ...

AUDIO/VIDEO APPLICATIONS ON NETWORK Clinical applications of a computer include recording of slit lamp images on a computer. These still images or even videos can be recorde

Data communication , (iv) Suppose that the TCP entity receives a 1.5 megaby...

(iv) Suppose that the TCP entity receives a 1.5 megabyte file from the application layer and that the IP layer is willing to carry blocks of maximum size 1500 bytes. Calculate the

With an example, Question 1 With an example, illustrate the concept of ext...

Question 1 With an example, illustrate the concept of extern variable Question 2 What is the difference between pointer variable and simple variable? Question 3 Give the

Cryptography, For which X,Y in {o, O, Theta, Omega, omega}, do the relation...

For which X,Y in {o, O, Theta, Omega, omega}, do the relationships t(n)+t''(n) = X(min(t(n),t''(n))) and t(n)+t''(n) = Y(max(t(n),t''(n))) hold for all t,t'' such that t(n),t''(n)

Explain the types of memory and explain how each work, Problem: a) ...

Problem: a) Explain the basic functions of a computer: inputting, processing, storing and outputting. b) List four types of memory and explain how each wor

Qbasic, write a program of circle of any colour

write a program of circle of any colour

Ipv4 and ipv6, IPv6 documented in 1994 (RFC 1752) is still a collection...

IPv6 documented in 1994 (RFC 1752) is still a collection of Draft and Proposed standards Several pre-standard implementations exist IPv6 was intended to be a pragmatic up

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