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

What is control panel, A system utility that comes with Windows that permit...

A system utility that comes with Windows that permits the use to change a variety of dissimilar Windows and system settings.

Drag and drop state numbers and functions in vb, State 0 Source control is ...

State 0 Source control is being dragged with the variety of a target. 1 Out of the variety of a target. 2 One position in the target to one another.

Explain the major consideration of laptop computers, Explain the major cons...

Explain the major consideration of laptop One of the major considerations when buying a laptop is battery life. This can rely on a number of things though one major factor is p

Give difference between compiler and interpreter, Give difference between c...

Give difference between compiler and interpreter. Compiler: It is a translator for machine independent HLL as FORTRAN and COBOL etc. Interpreter: It analysis the source

What are the cycle based simulators, What are the Cycle based simulators ...

What are the Cycle based simulators Cycle based simulators are more like a high speed electric carving knife in comparison since they focus on a subset of the biggest problem:

Explain the significance of encryption, Problem: (i) What are the main...

Problem: (i) What are the main threats that an organisation holding sensitive data, such as Public Data, on computer storage must guard against? (ii) To protect such data,

Illustrate about the macros and give its example, Illustrate about the macr...

Illustrate about the macros and give its example For instance, assume you want some data to be input into a spreadsheet if result of a calculation in cell K40 is negative: m

What are the disadvantages of fcfs scheduling algorithm, What are the disad...

What are the disadvantages of FCFS scheduling algorithm as compared to shortest job first (SJF) scheduling? Disadvantages: (i) Waiting time can be huge if short requests w

What are the advantages of a smart card, What are the advantages of a Smart...

What are the advantages of a Smart Card? Advantages of Smart Card as given below: a. This provides convenience and assists for multiple currencies over borders. b. Us

Why we use debugger, Q. Why we use Debugger? Debugger is a program whic...

Q. Why we use Debugger? Debugger is a program which allows the user to test as well as debug the object file.  Theuser can use this program to perform subsequent functions.

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