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 about the voice recognition system, Explain about the Voice recogni...

Explain about the Voice recognition system These voice recognition systems recognise spoken words e.g. for disabled people who can't use keyboards where they speak commands rat

Why is catch almost always a bad idea, Why is catch (Exception) almost alwa...

Why is catch (Exception) almost always a bad idea?  Well, if at that point you know that an error has happened, then why not write the proper code to handle that error instead

Sorting using interconnection networks, The combinational circuits employ t...

The combinational circuits employ the comparators for comparing the numbers and storing them on the basis of maximum and minimum functions. Likewise in the interconnection networks

Determine the block diagram of bcd adder, Determine the block diagram of bc...

Determine the block diagram of bcd adder To add 0110 to binary sum, we use a second 4-bit binary adder. The two decimal digits, together with input-carry, are first added in to

Basic working of hard disk drive, Q. Basic working of Hard Disk Drive? ...

Q. Basic working of Hard Disk Drive? This is one of the components of today's personal computer having a capacity of order of quite a lot of Giga Bytes and above. A magnetic di

Explain the input stage of an ADC, Explain the Input Stage of an ADC. ...

Explain the Input Stage of an ADC. Ans. Input Stage- In ADC at the input stage, analog voltage can contain any value in a range although the digital output can contain

Which scheduler select process from secondary storage device, Which schedu...

Which scheduler selects processes from secondary storage device? Ans. Medium term scheduler selects processes from secondary storage device.

What qualifications needs to be an security professionals, Qualifications o...

Qualifications of security professionals For the security professionals, it is essential that they have adequate freedom to check the security measures and enforce them and

Constant voltage sources, Constant Voltage Sources An ideal constant v...

Constant Voltage Sources An ideal constant voltage source maintains a given voltage across its load regardless of the current drawn from it .Most 'every-day' power supplies a

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