Protected mode code segments can not be modified. This requires programs to allocate an alias data descriptor if they need to store data in a code segment.
Segment arithmetic that works in real mode does not work in protected mode.
Some calls will return a range of descriptors. For example, if a 16-bit mode program allocates a block of memory larger than 64K, the call will allocate several, contiguous descriptors. Each descriptor will have a 64K limit except for the final descriptor which will have a limit that contains the remainder of the block. The call will return the first selector in the array. To get to the next selector, your program must add the value returned by Int 31h call 0003h.