Форум программистов, компьютерный форум, киберфорум
Наши страницы
Низкоуровневое программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
EpicSR
8 / 2 / 3
Регистрация: 29.01.2016
Сообщений: 123
1

Занесение параметра в регистр EAX

13.04.2019, 11:00. Просмотров 1116. Ответов 8
Метки нет (Все метки)

Имеется такой вопрос:
Подпрограмме через стек передан один параметр. С помощью какой команды подпрограмма может загрузить этот параметр в регистр EAX

и варианты ответов с одним правильным ответом

1)MOV EAX, [EBP+8]

2)MOV EAX, EBP+8

3)MOV EAX, [EBP+4]

4)MOV EAX, EBP

я думаю что 4 правильный вариант, так ли?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2019, 11:00
Ответы с готовыми решениями:

Умножить регистр eax на 4
Подскажите как умножить регистр eax на 4.

Нужно занести в регистр EAX любое шестнадцатеричное число из 8 знаков
Нужно занести в регистр EAX любое шестнадцатеричное число из 8 знаков,прчём ни один из них не равен...

Определение данных и занесение в регистр AX, BX, CX, DX процессора
Доброе времени суток, помогите мне пожалуйста решить такую задачку на Assambler. Спасибо ...

Инструкции mov ss:[esp], eax и push eax - одно и тоже?
Всем привет. У меня вопрос: инструкции mov ss:, eax и push eax - одно и тоже?

Что такое test eax, eax и каково их назначение
что делает test eax,eax?

8
R71MT
8574 / 1636 / 328
Регистрация: 29.07.2014
Сообщений: 2,679
Записей в блоге: 5
13.04.2019, 12:19 2
Лучший ответ Сообщение было отмечено EpicSR как решение

Решение

Цитата Сообщение от EpicSR Посмотреть сообщение
я думаю что 4 правильный вариант
первый правильный.
аргумент будет лежать после "адреса-возврата" и самого EBP
2
EpicSR
8 / 2 / 3
Регистрация: 29.01.2016
Сообщений: 123
13.04.2019, 16:29  [ТС] 3
R71MT, cпасибо. Еще один вопрос который формулирован непонятно, сможете помощь.

Какие данные могут содержать входные модули многомодульных программ

1)объявление общедоступных имен

2)объявление внешних имен

3)таблицы перемещений

4)таблицы символических имен


Я вычитал что в "входном" точно будут объявление общедоступных и внешних имен , а что касается таблиц мне не попадалось.

Добавлено через 7 минут
По идее эти таблицы должны существовать только в объектном модуле же?
0
R71MT
8574 / 1636 / 328
Регистрация: 29.07.2014
Сообщений: 2,679
Записей в блоге: 5
13.04.2019, 16:50 4
Цитата Сообщение от EpicSR Посмотреть сообщение
Еще один вопрос который формулирован непонятно,
мне тоже непонятно..
0
13.04.2019, 16:50
EpicSR
8 / 2 / 3
Регистрация: 29.01.2016
Сообщений: 123
13.04.2019, 16:59  [ТС] 5
R71MT, наверно афтор этого теста под входными модулями имел ввиду исходные тексты на языке ассемблер который заканчивается расширением .asm, если да то с помощью директив EXTRN и PUBLIC объявляются внешние и общие имена в этих модулях, вот только где хранятся таблицы перемещений и таблица символических имен, таблица перемещений вроде как в объектном модуле после ассемблирования исходной программы.
0
R71MT
8574 / 1636 / 328
Регистрация: 29.07.2014
Сообщений: 2,679
Записей в блоге: 5
13.04.2019, 17:05 6
Цитата Сообщение от EpicSR Посмотреть сообщение
под входными модулями имел ввиду исходные тексты на языке ассемблер
по сути внешние модули - это библиотеки DLL, которые загружает экзе.
а что там подразумевал афтор и что он курил - я без понятия.

если речь идёт про dll, то ответ(3) - таблица релоков.
0
EpicSR
8 / 2 / 3
Регистрация: 29.01.2016
Сообщений: 123
13.04.2019, 17:30  [ТС] 7
R71MT, вряд ли в учебной программе речь идет про dll, да и сама тема библиотек там не затронуто.
вот например в этом учебнике в разделе 9.1(http://arch.cs.msu.su/Text/Chapter_09.pdf) речь идет про то что я написал выше, и понятие "входные и исходные модули" одинаковы, опять таки тут под модулем имеется ввиду текстовый файл содержащий код на ассемблере. Вообщем спасибо за ответы.
0
Ethereal
7706 / 2264 / 309
Регистрация: 17.02.2013
Сообщений: 3,339
14.04.2019, 09:58 8
Не, не. Понятие модуля однозначно идет от концепции модульного программирования как оно мыслилось в Виртовском языке Модула-2. Но поскольку врядли кто с этим Модула-2 дело имел лучше взглянуть в сторону Турбо-Паскаля который был создан с закосом под Модулу. В нем были модули Unit в виде отдельного файла исходника и в скомпилированном виде как файлы TPU. Вот в свете этого и нужно наверно отвечать. Только я о внутренностях TPU файлов никогда не задумывался.

Добавлено через 23 минуты
Нутря TPU-шек : http://www.sources.ru/pascal/hacker/itpu131.zip
Цитата Сообщение от EpicSR Посмотреть сообщение
1)объявление общедоступных имен
2)объявление внешних имен
3)таблицы перемещений
4)таблицы символических имен
В общем :
1 - обязательно. Это имена которые экспортируются из модуля
2 - возможно. Это имена которые модуль может импортировать из других модулей
3 - по идее обязательно. Модуль будет запущен по заранее не известному адресу, так-что ...
4 - Чта ??? Все имена кроме экспортируемых будут похерены (заменены конкретными числовыми значениями адресов) при компиляции. Так-что если речь не идет об экспортируемых именах, то не может.

Добавлено через 9 минут
Цитата Сообщение от EpicSR Посмотреть сообщение
опять таки тут под модулем имеется ввиду текстовый файл содержащий код на ассемблере.
Только программы имеющие несколько файлов исходника еще никто не называл многомодульными. Введение какого-то нового понятия по поводу них бессмысленно. Текст, он на то и текст, что его можно покромсать на куски. Только от этого не возникнет ничего качественно нового. А вот если каждый файл исходника компилируется в отдельный модуль, а из них потом в какой-то момент собирается программа, то тогда да.
0
ФедосеевПавел
14.04.2019, 10:05     Занесение параметра в регистр EAX
  #9

Не по теме:

Я имел дело с Modula-2 - разбирал и модернизировал программу для стенда автоматической диагностики электронных плат. Какой-то модуль вывода на экран утерялся со временем - написал собственный.

0
14.04.2019, 10:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2019, 10:05
Привет! Вот еще темы с ответами:

> mov eax, [eax+$68]
> mov eax, знаю только делпыи, и не поиму что здесь написано, кто нибудь может подсказать?

Что быстрее fld [eax] или fld [eax-16] или одинаково по тактам?
Хочу узнать как процессор имитирует такую команду как fld . И может лучше делать так sub eax,16 и...

Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них
Даны два числа. Записать в регистр SI меньшее, а в регистр DI - большее из них.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru