Показать сообщение отдельно
  #15  
Старый 17.08.2018, 23:03
Alexandr Untevsky
Guest
 
Сообщений: n/a
По умолчанию Re: 2.FAQ эхоконференции Su.Comp.Old

Alexandr Untevsky написал(а) к Alex Brilakov в Aug 18 21:11:54 по местному времени:

Здpавствуй, Alex!

Пятница 17 Августа 2018 17:19, ты писал(а) мне, в сообщении по ссылке area://su.comp.old?msgid=2:5020/2140.402+5b76bfe2:

AU>> Ну почему в два раза больше? Вот у нас есть, скажем, компьютер на
AU>> 8088 с 128 КБ ОЗУ, сделанной на 16 микросхемах 4164 с
AU>> организацией 64Kx1, т.е. ёмкостью 8 КБ. Берём 8086, там можно
AU>> использовать те же 16 микросхем, ёмкость ОЗУ будет та же,

AB> Будет та же в байтах, и совсем не та в словах. Я просто не знаю, как
AB> тот же 8086 обращался со "второй половинокой" 16_ти разрядного слова,
AB> еслт в этом слове был занят только первый байт.


Никаких проблем не будет - у них (8088/8086) набор команд одинаковый: скажем, команда mov ax, [address] записывает в регистр AX слово, расположенное по адресу address. Эта команда работает и на 8088, просто медленнее - из-за шины.
Только один первый байт не может быть занят - процессор имеет дело со всем массивом памяти, которая может быть представлена или как слова, или как байты. Т.е. при чтении слова по любому адресу считаются просто два последовательных байта. Можно считать два байта (слово) через, скажем, mov ax, [0000] или тот же самый эффект будет от двух байтовых команд mov al, [0000] и mov ah, [0001] (и оба варианта работают и на 8088, и на 8086).



С уважением - Alexandr
--- -
Ответить с цитированием