Creating of segments overlap each other or they are separate, when we don't use any explicit instructions?

Viewed 39

In very simple assembly language programming, everyone may know the below given lines:

cli
xor ax,ax
mov ss,ax
mov sp,7c00h
push ss
pop es

my very simple question is that, when in line number 3 we write mov ss,ax, then value "0000" will move in the stack segment register ss. My problem is in understanding that when we use two instructions "push ss" and "pop es". then whether two segments ss and es will be created and start at the same memory location starting at address "0000" (and thus overlap each other) or two separate segments will be created containing the values "0000" (absolute value) at their very first location. If the later condition satisfies then will ss and es be created automatically (because we did not used any instruction for creating the segments SS or ES using instructions like:)

stack segment stack1
end stack1

extra segment extra1
end extra1

assume stack:stack1 
extra:extra1
0 Answers
Related