Stack, Computer Engineering

Assignment Help:

The Stack

A procedure call is supported by a stack. So let's discuss stack in assembly. Stacks are 'Last In First Out' data structures and are used for storing return addresses of procedures and for parameter passing and saving the return value.

In 8086 microprocessor a stack is made in the stack segment. SS register stores the offset of stack segment whereas SP register stores the top of stack. A value is pushed in top of the stack or taken out (poped) from top of the stack. The stack segment may be initialized as below:   

STACK_ SEG SEGMENT STACK

            DW 100   DUP (0)

            TOS LABEL   WORD

STACK_SEG ENDS

 

CODE SEGMENT

ASSUME CS: CODE, SS: STACK_SEG

MOV   AX, STACK_SEG

MOV   SS, AX      ; initialise stack segment

LEA   SP, TOP      ; initialise stack pointer

CODE ENDS

END

The directive STACK_SEG SEGMENT STACK declares logical segment for stack segment. DW 100 DUP (0) assigns actual size of stack to 100 words. All locations of this stack are initialized to zero. Stacks are recognized by the stack top and so the Label Top of Stack (TOS) has been selected. Please consider that stack in 8086 is a WORD stack. Stack facilities include the use of indirect addressing by a special register, the stack pointer (SP). SP is decremented by itself as items are put on the stack and incremented as they are retrieved. Putting something on to stack is known as a PUSH and taking it off is known as a POP. The address of last element pushed on to stack is termed as the top of stack (TOS).

874_Stack.png


Related Discussions:- Stack

What is the difference between realloc() and free(), The free subroutine fr...

The free subroutine frees a block of memory lastly allocated by the malloc subroutine. Undefined results happen if the Pointer parameter is not a valid pointer. If the Pointer para

The alignment of a type ''c'' field in a report, The alignment of a type 'c...

The alignment of a type 'c' field in a report is? ? Left Aligned.

Find the responses when a computer broadcast an arp reqqest, How many respo...

How many responses does a computer expect to receive when it broadcast an ARP request? Why? An ARP (Address Resolution Protocol) request message is put in a hardware frame and

Explain time slot interchange, Discuss the basic structure and principle of...

Discuss the basic structure and principle of operation of Time Slot Interchange (TSI) switch with the help of a neat diagram. Principle of time slot interchange  Time

Advantages on electronic payment system, Advantages on electronic payment s...

Advantages on electronic payment system It gives good security schemes.  Four necessary security requirements for safe e-payments are Authentication, Encryption, Integrity,

Application using shift operations, Application Using Shift Operations ...

Application Using Shift Operations Rotate and Shift instructions are helpful even for division andmultiplication. These operations are not normally available in high-level lang

Develop a calculator in masm, Assignment:  develop a calculator in MASM. ...

Assignment:  develop a calculator in MASM. Text chapters covered:  1 through 4, 5.4, 5.5, 6.3, 7.4 You will develop a "calculator" algorithm in MASM using reverse-polish nota

What is race condition, What is Race condition? Race condition: The c...

What is Race condition? Race condition: The circumstances where several processes access - and manipulate shared data-concurrently. The last value of the shared data depends

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