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

Anu, write a program to find the area under the curve y=f(x) between x=a an...

write a program to find the area under the curve y=f(x) between x=a and y=b integrate y=f(x) between the limits of a and b. the area under a curve between two points can be found b

For what DMSP stands, For what DMSP stands? DMSP stans here for Dist ri...

For what DMSP stands? DMSP stans here for Dist ributed Mai l system Protocol.

Adbms, what are the different way of executing pipelines

what are the different way of executing pipelines

what is ecc memory, Error-correcting code memory (ECC memory) is a type of...

Error-correcting code memory (ECC memory) is a type of computer data storage that can notice and correct the more general kinds of internal data corruption. ECC memory is used in m

What is the efficient data structure used in rdbms, In RDBMS, what is the e...

In RDBMS, what is the efficient data structure used in the internal storage representation? B+ tree. Because in B+ tree, all the data is kept only in leaf nodes, that makes sea

Create perl scripts, Create Perl scripts as required below: a) Create a ...

Create Perl scripts as required below: a) Create a script named select_by_attribute.pl that accepts the name of a LibML documentand the name of a particular attribute from the c

Explain extranet, Extranet : Extranet is Extension of an Intranet that ...

Extranet : Extranet is Extension of an Intranet that makes the latter accessible to outside companies or individuals with or without an intranet. It is also described as a coll

Determine about the logical shift, Logical shift A logical shift operat...

Logical shift A logical shift operation transfers 0 through serial input. We apply symbols shl and shr for logical shift left and shift right microoperations, examples:. R1

What is ai, Artificial intelligence ("AI") can mean a lot of things too man...

Artificial intelligence ("AI") can mean a lot of things too many people. Much confusion arises that the word 'intelligence' is ill-defined. The phrase is so broad that people have

Define the heat transfer processes, Heat Transfer Coursework An interna...

Heat Transfer Coursework An internal combustion engine of a passenger car is operating at steady state conditions e.g. constant speed (r.p.m.) and load (torque), so the engine

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