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

Harvard mark-I and the bug, The next important effort in the direction of d...

The next important effort in the direction of devising an electromechanical computer was made at Harvard University mutually sponsored by IBM and Department of UN Navy, Howard Aike

How can i pass parameters to my simulation, How can I pass parameters to my...

How can I pass parameters to my simulation? A  test  bench  and  simulation  would likely  need  many  different  parameters  and  settings  for  various sorts of tests and con

Compute total and access methods, Write a program that input (from the user...

Write a program that input (from the user) the number of hours worked and hours pay rate for employees and output their total pay. The program should process an arbitrary number of

Explain about zip drive, Q. Explain about Zip Drive? Zip Drive: Loads...

Q. Explain about Zip Drive? Zip Drive: Loads of files, Volumes of data have definitely increased onus on today's computer user and protection of this data is what bugs every

What is fan-out, What is fan-out? Estimate the average count of every "...

What is fan-out? Estimate the average count of every "many" association encountered with the path. Multiply the individual fan-outs who obtain the fan-out of the whole path, wh

Explain about fundamental nature of a computer, Q. Explain about fundamenta...

Q. Explain about fundamental nature of a Computer? The fundamental nature of a Computer is as an information transformer. So a computer should be able to take input and process

What are modes of operation of centralized spc, What are modes of operation...

What are modes of operation of centralized SPC? In about all the present day electronic switching systems utilizing centralized control, only a two-processor configuration is

Application to calculate weekly payment of a company, Problem: A compa...

Problem: A company requires a software application to calculate the weekly payment for its employees. The information about the employees (employees' data) is kept in a file.

Tree strucred directory, what is the operations in atree structured directo...

what is the operations in atree structured directory.

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