Answer: | The segmented memory model allows multiple functional windows into the main memory, a code window, a data window etc. The processor sees code from the code window and data from the data window. The size of one window is restricted to 64K. However the maximum memory iAPX88 can access is 1MB which can be accessed with 20 bits. Question: | What is Address wraparound? | Answer: | In physical address calculation a carry if generated is dropped without being stored anywhere, for example BX=0100, DS=FFF0 and the access under consideration is [bx+0x0100]. The effective address will be 0200 and the physical address will be 100100. This is a 21bit answer and cannot be sent on the address bus which is 20 bits wide. The carry is dropped and just like the segment wraparound our physical memory has wrapped around at its very top. |
| Question: | Explain Linear memory model? | Answer: | In linear memory model the whole memory appears like a single array of data. 8080 and 8085 could access a total memory of 64K using the 16 lines of their address bus. |
| Question: | What's the difference between .COM and .EXE formats? | Answer: | To oversimplify: a .COM file is a direct image of how the program will look in main memory, and a .EXE file will undergo some further relocation when it is run (and so it begins with a relocation header). A .COM file is limited to 64K for all segments combined, but a .EXE file can have as many segments as your linker will handle and be as large as RAM can take. The actual file extension doesn't matter. DOS knows that a file being loaded is in .EXE format if its first two bytes are MZ or ZM; otherwise it is assumed to be in .COM format. Actually they must be less than 0xFF00 bytes long, since the PSP, which isn't included in the COM file but is within those 64K, is 256 bytes long. Then CAN use many segments, but they don't have to. In particular, any .COM file can be converted to an .EXE file by adding an appropriate header to it. There are some other differences between a .COM file and a single segment .EXE file (both of which must be smaller than 64K).The entry point of the .COM file is _always_ 0x100, while the entry point of the .EXE file can be at any address. The stack size of the .COM file is the remainder of those 64K which isn't used by the code image, while the stack size if the single segment .EXE file can be set at any size as long as it fits within those 64K.Thus the stack can be smaller in the .EXE file.
|
| Question: | Is MS-DOS Dead? | Answer: | No. Though Microsoft may not be actively developing MS-DOS there are still many computers that are not capable of running Microsoft Windows. The current versions of Microsoft Windows will also run most MS-DOS programs; therefore, MS-DOS is not dead, and will most- likely never die just as Commodore-64s and Amigas have not completely died. Indeed, DOS has found a new life in embedded systems. Other parties continue to develop MS-DOS compatible operating systems. Windows NT, 2000, and XP all have a "Command Prompt" which is similar to the orignal MS-DOS command prompt.
|
| Question: | How can I read a character without echoing it to the screen, and without waiting for the user to press the Enter key?
| Answer: | In Assembly language, execute INT 21 AH=8; AL is returned with the character from standard input (possibly redirected). If you don't want to allow redirection, or you want to capture Ctrl-C and other special keys, use INT 16 AH=10; this will return the scan code in AH and ASCII code (if possible) in AL, but AL=E0 with AH nonzero indicates that one of the gray "extended" keys was pressed. (If your BIOS doesn't support the extended keyboard, use INT 16 AH=0 not 10.) |
|
|
Post a Comment