Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 02.05.2019
Сообщений: 14

Как определить в какую ячейку памяти записываются данные?

19.01.2020, 13:23. Показов 2417. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
В университете задали задачу: написать программу сложения двух байтов находящихся в памяти и помещения результата в память.
С написанием программы проблем не возникло. Вот результат:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
name prog_1
assume cs:cseg, ds:cseg
cseg segment
org 100H
begin: jmp start
oper_1 db 4eH
oper_2 db 9cH
rez db 0H
start:   mov al, oper_a
           mov bl, oper_b
           add al, bl
           mov rez, al
           int 21h         
           cseg ends
           end begin
Вопрос вот в чём: когда я запускаю эмулятор в строчке mov al, oper_1 вместо oper_1 он мне пишет адрес, по которому располагается наша переменная, допустим [0102h]. Можно ли как-то "предугадать" в какой ячейке память будет располагаться наша переменная? Почему именно [0102h]?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2020, 13:23
Ответы с готовыми решениями:

При создании CSV данные записываются в одну ячейку
Формируется сначала массив товаров: $plist=array(); foreach ($order_product_query->rows as $product) { ...

Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти?
Добрый день. Не могу найти информацию по двум вопросам : 1) могу ли я разместить переменную в нужную ячейку памяти. Например: int a...

Как записываются данные в регистр?
Немогу понять, как записываются данные в регистр, например ax ax - ah и al ah - старший байт al - младший байт Насколько читал...

6
Заблокирован
19.01.2020, 13:31
org 100H+(jmp start вроде 2)=102Н???
0
programmer
 Аватар для Thread
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
19.01.2020, 17:51
bykov19_98,

он берет значение по этому адресу. наблюдайте состояние регистров.
в al должно пеместиться ваше значение из ячейки по адресу [102]
0
0 / 0 / 0
Регистрация: 02.05.2019
Сообщений: 14
19.01.2020, 20:02  [ТС]
Holiday13, это я понимаю
Я хотел узнать почему именно этот адрес. Есть ли какая нибудь закономерность?
Допустим строчка jmp start в эмуляторе будет выглядеть как jmp [0105h], а когда мы перейдём к операндам, у нас будт адреса [0102h], [0103h]. Меня интересует как образуются эти адреса. Можно ли как-то это объяснить? (поддаётся ли это объяснению?)
0
Заблокирован
19.01.2020, 20:51
куда jmp значения не имеет, главное что он 2 байта, а 100+2=...
0
programmer
 Аватар для Thread
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
19.01.2020, 22:32
Лучший ответ Сообщение было отмечено bykov19_98 как решение

Решение

Цитата Сообщение от bykov19_98 Посмотреть сообщение
Допустим строчка jmp start в эмуляторе будет выглядеть как jmp [0105h], а когда мы перейдём к операндам, у нас будт адреса [0102h], [0103h].
все верно. jmp указывает куда переход и занимает 2 байта. сам опкод инструкции EB и смещение от 100h
потом идут 3 байтовые переменные,что дает 5 байт от начала 100h. потому прыжок идет на 105h
а переменные записаны до jmp. соответственно адреса 102-103-104
1
0 / 0 / 0
Регистрация: 02.05.2019
Сообщений: 14
19.01.2020, 22:59  [ТС]
Thread, Спасибо вам больше, я всё понял!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2020, 22:59
Помогаю со студенческими работами здесь

Как интегрировать в какую-либо ячейку таблицы DropDownList и использовать его items
Есть таблица: <asp:Table ID="Table1" runat="server" GridLines="Both" HorizontalAlign="Center"> <asp:TableRow...

Как из пары HL переслать в ячейку памяти?
Как из пары HL переслать в ячейку памяти?

Как изменить ячейку памяти на ассемблере?
Простите пожалуйста мне нужна помощь мне на программе эссемблер надо изменить ячейку памяти как это сделать?

При выводе в Excel в ячейку записываются первые 255 символов, хотя в поле запроса их больше
Здравствуйте! При написании БД столкнулся с проблемой ограничения количества символов до 255. Проблему этого ограничения при запросах...

Не могу додуматься, как реализовать ячейку памяти
Добрый день, У меня такая проблема: не могу реализовать ячейку памяти. Работа заключается в следующем: в память приходит сигнал,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru