Вопрос № 92386: Дан массив чисел, в памяти начиная с адреса 3000h длиной 90h элементов. Надо провести сортировку масива по возрастанию. Програмка пишеться на эмуляторе процессора intel 8080.
Заранее благодарен!...Вопрос № 92503: Здраствуйте уважаемые эксперты!
Скажите пожалуйста зачем нужно задавать каие-то сегменты данных (а иногда и несколько сегментов данных)
и кода в тексте программы
к примеру:
.386p
.model flat
DATA segment public &q...
Вопрос № 92.386
Дан массив чисел, в памяти начиная с адреса 3000h длиной 90h элементов. Надо провести сортировку масива по возрастанию. Програмка пишеться на эмуляторе процессора intel 8080.
Здраствуйте уважаемые эксперты!
Скажите пожалуйста зачем нужно задавать каие-то сегменты данных (а иногда и несколько сегментов данных)
и кода в тексте программы
к примеру:
.386p
.model flat
DATA segment public "data"
ex db 0
IDEC_chan db 0
HW_port db 0
first_call db 0
next_addr dw 0
page_count dw 0
pag db 0
k dw 0
_DATA ends
_TEXT segment public "code"
здесь код
_TEXT ends
Когда я могу описать данные в сегменте кода,
а затем обойти их с помощью jmp, чтобы процессор не принял
их за инструкции! Или еще проще - вынести их за end! К примеру:
...
jmp met1
var db 5
met1:
...
mov al,met1
add al,8h
...
Давайте рассмотрим вариант, когда нет ни каких операционных систем и exe файлов!
Я просто даю процессору исполнить простой ассемблерный софт!
Зачем здесь сегмент данных?????
Отправлен: 22.06.2007, 15:50
Вопрос задал: Maksim/max (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Котиев Зураб
Здравствуйте, Maksim/max!
уважаемый попробуйте запись в сегмент кода в защищенном режиме -сильно удивитесь.
Ответ отправил: Котиев Зураб (статус: 6-ой класс)
Ответ отправлен: 23.06.2007, 11:54
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Maksim/max!
Ваша программа должна попасть в память и начать выполнятся. Без ОС есть только один способ, тот который использует сама ОС, т.е. записать Вашу программу в MBR(Master Boot Record) расположенный на гибком(желательно) или жестком(очень круто для одной программы) в секторе:1 дорожки:0 диска. Этот сектор BIOS автоматически загружает в память и передает управление. Формат MBR можно найти в
книге В. Кулакова "Программирование на аппаратном уровне", глава работа с дисками.
Работать на х86 процессорах без сегментов невозможно т.к. уже на аппаратном уровне идет определение физического адреса в памяти с использованием сегментов или селекторов, соответстенно для реального и защищенного режимов.
О режимах работы процессора и как адресуется память Вы можете прочитать в книге В. Юрова "Ассемблер:Учебник".
Удачи!
--------- И только наступив на грабли мы преобретаем драгоценный опыт!