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

Logic-based expert systems, Logic-based Expert Systems : Expert system...

Logic-based Expert Systems : Expert systems are agents that are programmed to make decisions just about real world situations are place together by utilising knowledge illicit

Flow-between matrix layout problem, Solve the problem in page 346 of the pa...

Solve the problem in page 346 of the paper on cell formation by Boctor using the MIP method.  Use 4 cells and no more than 3 machines per cell. Solve the problem using the MIP m

Backpropagation learning routine, Backpropagation Learning Routine: Co...

Backpropagation Learning Routine: Conversely as with perceptrons there the information in the network is stored in the weights than the learning problem comes down to the ques

What are different queues used, 1.Local queue -is a actual queue 2.Clus...

1.Local queue -is a actual queue 2.Cluster queue -is a local queue that is called as throughout a cluster of queue managers 3. Remote queue -structure explaining a queue

Returns information about present virtual machine, Q. Returns information a...

Q. Returns information about present virtual machine? int pvm_parent( void ) Returns the tid of process which spawned the calling process.  int pvm_tidtohost(

Microcomputer applications, Mr. Franco Forest owns a small lawn care busine...

Mr. Franco Forest owns a small lawn care business with three employees. He owns the lawn mowers, rakes, and weed whackers that are housed in a storage area at the back of his home.

Function makestk-predicate function emptystk, 1. Create the following ADTs....

1. Create the following ADTs. (a) Write the constructor function makestk, predicate function emptystk and mutator functions pushstk and popstk: i. makestk returns a new stack

IT-Infrasrtucture, Blue Sky events is an organisation that devices and runs...

Blue Sky events is an organisation that devices and runs large outdoor events. They have been commissioned to organise and run an event for four months over the summer period in a

Design a mod-6 synchronous counter, Design a MOD-6 synchronous counter usin...

Design a MOD-6 synchronous counter using J-K Flip-Flops. Ans: Design of Mod-6 Counter:   To design the Mod-6 synchronous counter, contain six counter states (that is, from

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