![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
![]()
Дали задачку по ассемблеру.
Дано пятизначное число. (Может быть например такое 00001). С помощью битовых операций запишите его в ячейку памяти минимального размера. Запрашивать число можно на Паскале. Писать надо ассемблерными вставками, но я саму задачу понять не могу. Само число изначально десятичное или двоичное? Можно с помощью bsr определить положение первого бита в числе, а что дальше? Я вот не понимаю как записать в память, т.е. что именно требуется? Создать в зависимости от положения бита переменную нужного размера или как? Хелп пипл! |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
![]()
Неужели никто не знает, как это реализуется?
Я бы сам сделал, но понять не могу как можно добиться "С помощью битовых операций запишите его в ячейку памяти минимального размера"? Мне не надо готового решения, просто пальцем ткнуть в направлении решения. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
допустим что твое число в eax, используем 4 байта так как в два может не поместится, в edx - адрес ячейки
Код:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
![]() Цитата:
Последний раз редактировалось artemonary; 10.05.2011 в 19:20. |
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 205
|
![]() Цитата:
Так что регистр и есть ячейка памяти.
Если помог - кликни на значок весов под аватаром.
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
![]()
Swarog
Спасибо! malinoff Спасибо, земляк! ![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
нет не правильно, в дх у нас адрес ячейки памяти и запись в угловых скобках указывает на косвенную адресацию. если на тот пример ругается попробуй так
Код:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
![]()
странно, всё равно ругается, или надо изначально задать адрес в edx?
Код:
Последний раз редактировалось artemonary; 11.05.2011 в 11:00. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
ага это необходимо просто сделать, иначе он пытается писать по адресу 0 в твоем случае, а это адресное пространство не твоей программы, поэтому и ругается
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Битовые операции | _-Re@l-_ | Свободное общение | 12 | 11.07.2010 15:31 |
Битовые операции СИ | savra | Помощь студентам | 0 | 10.03.2010 19:31 |
Битовые операции(С) | Александр Елис | Помощь студентам | 11 | 16.02.2010 21:11 |
Битовые операции | DrAlexx2121 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 14.06.2008 22:26 |
Битовые операции | LEX.darnica | Помощь студентам | 14 | 23.12.2007 19:40 |