User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 40

Тема: Кросс-компиляция для програм на си

  1. #21

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,514
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    715
    Поблагодарили
    597 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от haywire Посмотреть сообщение
    Это - бред.
    У ТС - своё видение в голове, как правило "не совпадающее с мнением редакции"

    - - - Добавлено - - -

    Цитата Сообщение от haywire Посмотреть сообщение
    а 8086 - 16-и.
    Ну, адрес снаружи у него 20-ти битный, но внутри всё равно напрямую (командами) он с ним работать не умеет, так что - да, 16-ти битный с недоДП. Сильно недоДП по сравнениею с PDP-11

  2. #22

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от haywire Посмотреть сообщение
    Это - бред. Адресные регистры в m68k - 32-х разрядные, и смещение тоже 32-х разрядное, так что всегда есть полный доступ ко всей памяти без лишних манипуляций. А в 8086 - 16бит сегмент - 16 бит смещение. Соответственно, m68k - 32х разрядный процессор, а 8086 - 16-и.
    Надо лучше знать матчасть! У 68000 смещение 16-бит, на одну базу более 64 КБ - никак. И не слушайте Хунту, он от чего-то всегда страдает.

  3. #23

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,514
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    715
    Поблагодарили
    597 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    У 68000 смещение 16-бит
    А у PDP-11 смещение в командах перехода типа BR, BEQ, BNE, и т.п. вообще восьмибитное, так что перед нами - вообще 8-битный по адресу компа, аха.

    Цитата Сообщение от litwr Посмотреть сообщение
    Надо лучше знать матчасть!
    Легка ноша чушь несущего, мне минуты чтения в google хватило понять, что ТС, как обычно, имеет своё видение в голове.

    - - - Добавлено - - -

    Цитата Сообщение от litwr Посмотреть сообщение
    И не слушайте Хунту
    Уже начинаем указывать - что и кому делать? Ну ну.
    Последний раз редактировалось Hunta; 11.06.2022 в 12:48.

  4. #24

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    А у PDP-11 смещение в командах перехода типа BR, BEQ, BNE, и т.п. вообще восьмибитное
    Ну это все же укороченные команды перехода. У Z80 в таких командах тоже 8 бит, но в "нормальных"-то 16, на всю шину адреса.

  5. #25

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,514
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    715
    Поблагодарили
    597 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Ну это все же укороченные команды перехода.
    Я это знаю. Так же как и понимаю то, что это не имеет никакого отношения к прямой адресации памяти в пределах внешней шины, внутренняя шина имеет меньше разрядов.

    Я даже понял, причём здесь 16-ти битное смещение на 68K и теперь могу сказать, что в нём для полной адресации памяти никаких костылей не требуется.

    Но, как я сказал, у ТС своё болото в голове и уверять его в чём либо - только это болото месить.

  6. #26

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Я даже понял, причём здесь 16-ти битное смещение на 68K и теперь могу сказать, что в нём для полной адресации памяти никаких костылей не требуется.
    А может стоит попробовать без деклараций, а просто взять и сравнить?
    Рассмотрим код для 8088
    Код:
    mov ds,ax
    mov bx,[1000]
    Сравним его с аналогичным кодом для 68000
    Код:
    move d1,a1
    move 1000(a1),d2
    И где в первом случае больше "костыльности"? Проблема х86, как и писал выше, только в том, что сегментных регистров всего 4, а в 68000 - 7. Ну и, конечно, у 68000 нет проблем с большими массивами.

  7. #27

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,514
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    715
    Поблагодарили
    597 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как обычно - читаем только отдельные буквы.

    Цитата Сообщение от Hunta Посмотреть сообщение
    для полной адресации памяти
    Ну-ка, пример кода для 8086/8088 без использования сегментных регистров весь мегабайт памяти проадресуйте?

    Цитата Сообщение от litwr Посмотреть сообщение
    Сравним его с аналогичным кодом для 68000
    Нихрена он не аналогичный.

    В первом случае недоДП (аналог в PDP-11 - MOV #1000, @#172344 ; MOV @#40000, R0)
    Во втором случае - использование для смещения от базы (аналог в PDP-11 MOV #2, R0 ; MOV 1000(R0), R1)

    То есть ТС даже матчасть нихрена не знает

    Ну и поскольку ТС в который раз показал своё болото - дальше не интересно общаться на эту тему.
    Пойду дальше исходник монитора XXDP восстанавливатью

  8. #28
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Проблема х86, как и писал выше, только в том, что сегментных регистров всего 4, а в 68000 - 7. Ну и, конечно, у 68000 нет проблем с большими массивами.
    1. Не 7 а 8. Никто не запрещает использовать A7 не только как SP.
    2. У М68К адресные регистры это не сегменты. Это полноценные адресные регистры на полную адресацию, причем с байтовой точностью. Это в отличии от настоящих сегментных регистров у 8088. Ну и использовать их как временное быстрое хранилище (в виду ограниченности работы ALU с ними) тоже сильное и полезное отличие от всё тех же настоящих сегментных регистров.

  9. #29

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Нихрена он не аналогичный.
    Хунта получает очередную двойку за абсолютное незнание предметной области - коды функционально абсолютно аналогичны.

    Цитата Сообщение от Hunta Посмотреть сообщение
    В первом случае недоДП (аналог в PDP-11 - MOV #1000, @#172344 ; MOV @#40000, R0)
    Во втором случае - использование для смещения от базы (аналог в PDP-11 MOV #2, R0 ; MOV 1000(R0), R1)
    И как во втором случае адресовать больше 64 КБ? К сожалению, Хунта, вам опять двойка.

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    1. Не 7 а 8. Никто не запрещает использовать A7 не только как SP.
    2. У М68К адресные регистры это не сегменты. Это полноценные адресные регистры на полную адресацию, причем с байтовой точностью. Это в отличии от настоящих сегментных регистров у 8088. Ну и использовать их как временное быстрое хранилище (в виду ограниченности работы ALU с ними) тоже сильное и полезное отличие от всё тех же настоящих сегментных регистров.
    Почти согласен с Вами, но сегментные регистры в 8088 играют роль адресных - тут просто разная терминология. Понятно что их разрабатывали в разных парадигмах, но получилось что-то практически одно и тоже, мой пример это подтверждает. Можно ещё добавить, что если бы у х86 было больше сегментных регистров, их было бы также можно использовать как быстрое временное хранилище. Хотя ES иногда в этой роли и используют. И ещё, если регистр используется для хранения базы, то байтовая точность - это мелочь, типа до 15 байт иногда экономить на выравнивании.
    Последний раз редактировалось litwr; 12.06.2022 в 09:03.

  10. #30
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Почти согласен с Вами, но сегментные регистры в 8088 играют роль адресных - тут просто разная терминология. Понятно что их разрабатывали в разных парадигмах, но получилось что-то практически одно и тоже, мой пример это подтверждает. Можно ещё добавить, что если бы у х86 было больше сегментных регистров, их было бы также можно использовать как быстрое временное хранилище. Хотя ES иногда в этой роли и используют.
    Если не привязываться к 8086 и 80286, то расширенные сегментные регистры (ECS/EDS и так далее) уже ближе к An у М68К, но есть нюанс. В любом случае, конкретно здесь идёт речь в рамках 8086/8088 (в зависимости от ширины внешней шины), а у них сегментные регистры только 16 бит, что на 4 бита меньше реального адресного пространства, это раз. Сегментные регистры не могут указывать на элемент памяти в цикле, для этого нужен дополнительный регистр (например ESI/DS:SI), в то же время как An у M68K самодостаточный указатель, который имеет предекремент, постинкремент и прочие плюшки, необходимые для доступа данных к массивам в циклах.

    PS Единственное оправдание сегментных регистров это переносимость программ в адресном пространстве. Точнее, они именно для этого и делались.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. SNASM кросс ассемблер для 6502/Z80
    от drbars в разделе Программирование
    Ответов: 4
    Последнее: 25.04.2018, 01:16
  2. Кросс-компилятор бейсика для БК
    от litwr в разделе БК-0010/0011
    Ответов: 2
    Последнее: 30.03.2018, 18:03
  3. Примочка для кросс-дева
    от Alex Rider в разделе Несортированное железо
    Ответов: 5
    Последнее: 07.06.2012, 19:21
  4. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  5. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •