|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.04.2011, 08:42 | #1 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
Assembler. Битовые операции.
Дали задачку по ассемблеру.
Дано пятизначное число. (Может быть например такое 00001). С помощью битовых операций запишите его в ячейку памяти минимального размера. Запрашивать число можно на Паскале. Писать надо ассемблерными вставками, но я саму задачу понять не могу. Само число изначально десятичное или двоичное? Можно с помощью bsr определить положение первого бита в числе, а что дальше? Я вот не понимаю как записать в память, т.е. что именно требуется? Создать в зависимости от положения бита переменную нужного размера или как? Хелп пипл! |
10.05.2011, 10:59 | #2 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
Неужели никто не знает, как это реализуется?
Я бы сам сделал, но понять не могу как можно добиться "С помощью битовых операций запишите его в ячейку памяти минимального размера"? Мне не надо готового решения, просто пальцем ткнуть в направлении решения. |
10.05.2011, 11:35 | #3 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
допустим что твое число в eax, используем 4 байта так как в два может не поместится, в edx - адрес ячейки
Код:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
10.05.2011, 19:18 | #4 | |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
Цитата:
Последний раз редактировалось artemonary; 10.05.2011 в 19:20. |
|
10.05.2011, 19:20 | #5 | |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 205
|
Цитата:
Так что регистр и есть ячейка памяти.
Если помог - кликни на значок весов под аватаром.
|
|
10.05.2011, 19:24 | #6 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
Swarog
Спасибо! malinoff Спасибо, земляк! |
11.05.2011, 08:52 | #7 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
|
11.05.2011, 09:15 | #8 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
нет не правильно, в дх у нас адрес ячейки памяти и запись в угловых скобках указывает на косвенную адресацию. если на тот пример ругается попробуй так
Код:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
11.05.2011, 10:53 | #9 |
Пользователь
Регистрация: 20.04.2011
Сообщений: 11
|
странно, всё равно ругается, или надо изначально задать адрес в edx?
Код:
Последний раз редактировалось artemonary; 11.05.2011 в 11:00. |
11.05.2011, 11:07 | #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 |