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

Explain the race around condition, Explain the Race Around Condition? C...

Explain the Race Around Condition? Consider the inputs of the JK flipflop j=1 and k=1 and Q=0 when a clock pulse of width tp is applied the output will change from 0 to 1 after

Generic techniques developed - artificial intelligence, Generic Techniques ...

Generic Techniques Developed: In the pursuit of solutions to various problems in the above categories, various individual fundamental techniques have sprung up which have been

Purpose of storage - computer architecture, Purpose of storage: Several...

Purpose of storage: Several different forms of storage, based on different natural phenomena, have been invented.  So far, no practical universal storage medium persists, and a

What is microfilm, What is microfilm? This is a photographic reproducti...

What is microfilm? This is a photographic reproduction of a document greatly decreased in size from the original on fine grain, high resolution film. Microfilm needs a reader f

.image forgery detection, what is the code to detect image forgery using Ma...

what is the code to detect image forgery using Matlab..??

What is sisd, What is SISD?  Single Instruction stream, Single Data str...

What is SISD?  Single Instruction stream, Single Data stream (SISD) shows the organization of a single computer having a control unit, a processor unit, and a memory unit. Inst

Explain the architectural description languages, Explain the Architectural ...

Explain the Architectural description languages Architectural description languages (ACLs) have been developed for the architectural description in analysis and design process

Define signal and component of obejct oriented modeling, Define about sign...

Define about signal and component of obejct oriented modeling A signal is a specification of an asynchronous stimulus communicated among instances. A component is a physical

Register organisation, The number and nature of registers is a major factor...

The number and nature of registers is a major factor which distinguishes among computers. For illustration, Intel Pentium has about 32 registers. A number of these registers are sp

Mutability and accessibility of primary memory, Mutability and Accessibilit...

Mutability and Accessibility of primary memory: Mutability: Read/write storage or mutable storage  It provides permit ion for the information to be overwritten at

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