169 похожих чатов

Кто может подсказать, как в турбо ассемблере определить адреса начала

и конца сегмента кода?

30 ответов

61 просмотр

Эм. mov ax, cs

Кирилл-. Автор вопроса
The Bird of Hermes
Эм. mov ax, cs

CS хранит же в себе адрес начала сегмента кода?

Кирилл .
CS хранит же в себе адрес начала сегмента кода?

cs - регистр, обозначающий сегмент кода. cs:0000h - адрес начала сегмента

Кирилл-. Автор вопроса
The Bird of Hermes
Эм. mov ax, cs

Я прост только азы ассемблера пытаюсь освоить, поэтому сорри, если вопрос глупый, просто в сети вообще не могу найти нормального внятного ответа на вопрос

Кирилл .
CS хранит же в себе адрес начала сегмента кода?

А вот конец сегмента вообще некорректный термин

Кирилл-. Автор вопроса
Кирилл .
Универ)

Начало и конец сегмента, имел ввиду

Кирилл-. Автор вопроса
The Bird of Hermes
cs - регистр, обозначающий сегмент кода. cs:0000h ...

Как я понимаю 0000h это же адрес относительно cs?

Кирилл .
Я прост только азы ассемблера пытаюсь освоить, поэ...

От размера сегмента зависит в рилмоде он фиксированный

Кирилл .
Как я понимаю 0000h это же адрес относительно cs?

Это просто адрес, к какому сегментному регистру он относится зависит от контекста

Кирилл-. Автор вопроса
disba1ancer
Это просто адрес, к какому сегментному регистру он...

Так а как адрес начальный и конечный тогда определить?

Кирилл .
Так а как адрес начальный и конечный тогда определ...

Если тебе дадут адрес состоящий из сегмента и офсета, какой линейный адрес будет им соответствовать?

Кирилл .
Так а как адрес начальный и конечный тогда определ...

поставь метки и выведи их адрес (смещение)

Кирилл .
Эээ, не знаю

Тогда всё плохо, это наверняка объясняли, правда не исключаю, что плохо

Кирилл .
Универ)

КФУ или КАИ?

disba1ancer
Вполне корректный

Не корректный, потому что у ДОС нет жестко фиксированных границ и размеров сегмента

The Bird of Hermes
Не корректный, потому что у ДОС нет жестко фиксиро...

корректный для x86, особенно учитывая, что этот предел можно задавать в защищённом режиме

disba1ancer
корректный для x86, особенно учитывая, что этот пр...

Ммм мы имеем дело с дос в реальном режиме

The Bird of Hermes
Ммм мы имеем дело с дос в реальном режиме

в реальном режиме лимит сегмента фиксированный и то только в классическом, на 386 можно делать рилмод с любым пределом

The Bird of Hermes
Не корректный, потому что у ДОС нет жестко фиксиро...

А откуда вылез дос? В исходном вопросе турбо ассемблер. Количество байтов между code segment и code ends. Соответственно, две метки, вычитаем, получаем.

s54820
А откуда вылез дос? В исходном вопросе турбо ассем...

mov ah, 09h int 21h mov ah, 4ch int 21h И где же я увидел дос....

Aiwan \ (•◡•) / _bot
int 21h это прерывание доса

Все неоднозначно, всей правды мы не знаем

The Bird of Hermes
Все неоднозначно, всей правды мы не знаем

я знаю, это не сработает если ты не в досе

The Bird of Hermes
mov ah, 09h int 21h mov ah, 4ch int 21h И где же ...

Так я ведь не про это говорю, а про то, что сегмент рассматривается в контексте ассемблера, а не ОС.

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта