Rules for calling assembly subroutines from, Computer Engineering

Assignment Help:

Q. Rules for calling assembly subroutines from?

The rules for calling assembly subroutines from C are:

(i)  Memory model: The calling program and called assembly programs should be defined with the same memory model. One of the most common convention which makes NEAR calls is .MODEL SMALL, C.

(ii) The naming convention generally involve an underscore (_) character preceding the segment or function name. However this underscore is not used while making a call from C function. Please be careful about Case-sensitivity.

You should give a specific segment name to code segment of your assembly language subroutine. The name differs from compiler to compiler. Microsoft C and Turbo C need the code segment name to be_TEXT or a segment name with suffix_TEXT. Also it needs the segment name _DATA for data segment.

(iii)  Arguments from C to assembly language are passed through stack.

For illustration a function call in C:

function_name (arg1, arg2, ..., argn) ;

Would push the value of every argument on the stack in reverse order. Which is, the argument argn is pushed first and arg1 is pushed last on stack. A pointer or a value to a variable can also be passed on the stack. Because the stack in 8086 is a word stack thuspointers and values are stored as words on stack or multiples of the word size in case value exceeds 16 bits.

(iv) Youmust remember to save any special purpose registers (like CS, DS, SS, ES, BP, SI or DI) which may be modified by the assembly language routine. If you fail to save them then you might have unexplainable / undesirable consequences when control is returned to C program. Though there is no need to save AX, BX, CX or DX registers as they are considered volatile.

(v)   Please note the compatibility of data-types:

            char Byte (DB)

            int Word (DW)

            long Double Word (DD)

(vi) Returned value: The called assembly routine uses the followed registers for returned values:

            char   AL

            Near/ int   AX

            Far/ long DX: AX


Related Discussions:- Rules for calling assembly subroutines from

How are the instructions provided to computer, Let's answer our second ques...

Let's answer our second question first. All computers have a Unit which performs arithmetic and logical functions. This Unit is called as Arithmetic and Logic Unit (ALU). However h

Explain the characteristics of program interpretation model, Explain the ch...

Explain the characteristics of program interpretation model. The program interpretation model characteristics are: The source program is retained into the source form it

Boardcoloring, write a java program to board coloring

write a java program to board coloring

Messagebox with the message, We have to make an application that will dynam...

We have to make an application that will dynamically add a menu strip with menu items to a form(ie NOT dragged and dropped onto the form) in Visual Basic. The menu strip should be

Explain switch statement, Switch This is another form of the multi way ...

Switch This is another form of the multi way decision. It is well structured, but can only be used in certain cases where; Only one variable is tested, all branches must

Testmanagers wizard, TestManager has a wizard that you can use to copy or i...

TestManager has a wizard that you can use to copy or import test scripts and other test assets (Datapools) from one to another.

What is store program control, What is store program control (SPC)?  I...

What is store program control (SPC)?  In  stored  program  control  systems,  a  set  of  instructions  or  program  to  the computer  is  stored  in  its  memory  and  instru

What is a serial port, What is a serial port?  A serial port transfers...

What is a serial port?  A serial port transfers and receives data single bit at a time.

Optical resolution of scanner, Optical resolution or hardware resolution is...

Optical resolution or hardware resolution is mechanical limit on resolution of Scanner. For scanning the sensor has to advance after every line it scans. Smallness of this advancem

Give an example, Write the HTML code for the following table: ...

Write the HTML code for the following table: T E M P E R A T U R E C I T I E S

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