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

Dataset accept changes and data adapter update method, Explain Dataset Acce...

Explain Dataset Accept Changes and Data Adapter Update methods?  Data Adapter Update method Calls the respective INSERT, UPDATE, or DELETE statements for every inserted, update

What is polling, What is polling? Polling is a scheme or an algorithm t...

What is polling? Polling is a scheme or an algorithm to recognize the devices interrupting the processor. Polling is employed when multiple devices interrupt the processor by o

Define the full form of ssl, Define the full form of SSL SSL has becom...

Define the full form of SSL SSL has become fundamental to the spread of Internet community, and commerce and trade over Internet. Over years, the spread of its use for an incr

Explain the term overlays, Explain the term Overlays. An overlay is an ...

Explain the term Overlays. An overlay is an element of program that has the same load origin as several other part of the program. These are used for reduce the main memory req

Biometric systems for implementing client server network, Discuss password ...

Discuss password schemes and Biometric systems for implementing client server network security.          In cyberspace, buyers & sellers cannot see each other. Also in video con

Compare hypertext versus hypermedia, Compare hypertext versus hypermedia.  ...

Compare hypertext versus hypermedia.  Hypertext is basically similar as regular text - it can be stored, read, searched, or edited - with a significant except ion: hyper text h

Move a layout cell, If you need to line up the cells next to each other you...

If you need to line up the cells next to each other you can resize and move layout cells as you need. You can change size of a layout cell by using one of its resize handles. Yo

Explain overlay structured program, Explain overlay structured program ? ...

Explain overlay structured program ? A program having overlays is termed as overlay structured program, here an overlay is a part of program that has similar load origin as som

Coupling and cohesion, Coupling and cohesion can be shown using a:- Dep...

Coupling and cohesion can be shown using a:- Dependence matrix

Write the game using writing functions, The year is 2199. For many generati...

The year is 2199. For many generations, the robotic Cyleth have faithfully served humanity. However, under the direction of the computerized superintelligence Skyweb, they have tur

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