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

Classify computer systems according to capacity, Classify computer systems ...

Classify computer systems according to capacity. How they are different from computers according to the classification of technology. Provide comparative study also

Comparison between centralized and distributed spc, Explain the principles ...

Explain the principles of operation of centralized SPC and distributed SPC and compare their performance. All the control equipment is replaced with a single processor that mus

Explain working of intranet, Intranets are mainly "small" Internets. They u...

Intranets are mainly "small" Internets. They use same network facilities that Internet does, though access is restricted to a limited sphere. For example, a company can set up an i

C, "Super ASCII", if it contains the character frequency equal to their asc...

"Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''a''-''z'') and the ascii values will starts from

What is external modems, Q. What is External Modems? External Modems: M...

Q. What is External Modems? External Modems: Modems externally associated to PC via a parallel or serial port and into a telephone line at the other end.  They can generally co

Design of a software system, The aim of this Assignment is to demonstrate k...

The aim of this Assignment is to demonstrate knowledge about the analysis and design of a software system and understanding of the application of an object-oriented metho

What are benefits and advantages of linq, Benefits and benefits of LINQ are...

Benefits and benefits of LINQ are: 1. Makes it simpler to transform data into objects. 2. A common syntax for all data. 3. Strongly typed code. 4. Provider integration.

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