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

Describe data structures used during passes of assembler, Describe Data str...

Describe Data structures used during passes of assembler and their use. During passes of assembler, the Data structures define as: Pass 1 data base Input source pro

Define bus, Define bus A group of lines that serves as a connecting pat...

Define bus A group of lines that serves as a connecting path for various devices is known as a bus.

Simulate a real life product development , The goal is to simulate a real l...

The goal is to simulate a real life product development and familiarize learners with the design process of a system, component, or process to meet desired requires within realisti

What is asynchronous reset, What is Asynchronous Reset? Asynchronous re...

What is Asynchronous Reset? Asynchronous reset: The biggest problem along with asynchronous resets is the reset release, which termed as reset removal. By using an asynchron

Predicates - first-order logic, Predicates - first-order logic: First ...

Predicates - first-order logic: First and foremost in first-order logic sentences, because predicates. Hence the indications of that some things are related in some way. So af

Data base, why to learn data base?

why to learn data base?

Define the operand data types, Operand is that part of an instruction which...

Operand is that part of an instruction which specifies the address of source or result or the data itself on which the processor is to operate. Operand types typically give operand

How does multiplexer know which line to select, How does multiplexer know w...

How does multiplexer know which line to select? This is managed by select lines. The select lines provide communication among different components of a computer. Now let's see

Mip method for the problem solving, 1. Solve the following grouping problem...

1. Solve the following grouping problem using the DCA method. 2.  Use the ROC methodfor the previous problem. 3. Use the MIP method for the problem above assuming a tota

Compact disc - computer storage, Compact Disc; Compact Disc ( CD)   i...

Compact Disc; Compact Disc ( CD)   is an optical disc  which is used to  store digital data. It was initially developed to store sound recordings completely, but later it als

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