Segmentation in real mode

From: Tom (tmyslovsky_at_yahoo.com)
Date: 03/11/05


Date: 11 Mar 2005 05:02:30 -0800

Hello,
For some time now I have been learning assembly on my own using
Webster. So far I have managed to build a small paper-and-pencil uP and
read/comprehend most of the material from the 16-bit DOS version of AoA
(I understand DOS is obsolete, but I have found it simpler to start
with, hope to do better in the future).

Would you be kind enough as to help me clarify the following points
(regarding real mode programming):

1. Why do segment registers hold segments' paragraph numbers rather
than their absolute addresses?

2. In Chapter 6 of AoA (The instruction set, 6.11.1 Simple arithmetic
I) Mr. Hyde gives an example of code in which he declares a procedure
MAIN, which is duly terminated with "Main endp". What does the second
"end Main" expression stand for? Why is this procedure not called? Or
is it?

Thank you very much for all kind replies.

Kindest regards,
Tom