|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.04.2018, 19:07 | #1 |
Пользователь
Регистрация: 16.04.2018
Сообщений: 13
|
Помогите понять, что требуется по заданию
"В ассемблерной вставке в С. Дано слово из трех букв (например ОКН). С помощью битовых операций запишите последовательность ASCII кодов его букв в ячейку памяти минимального размера. Слово может быть и другим, программа должна его запрашивать. Запрашивать можно на Паскале."
То есть я должен считать 3 символа, занести их в ассембленую вставку. А дальше что? Что значит "занести в ячейку памяти минимального размера"? Минимальный размер - байт (al), но ведь и класс чар занимает 1 байт, а их три туда надо? Вообще не понятно... <code> int main() { char a, b, c; unsigned int d, e, f; printf("Vvedite tri bukvi: "); scanf("%c%c%c", &a, &b, &c); d = a; e = b; f = c; printf("A =%d, B = %d, C= %d", d, e, f); _asm { mov eax,a push eax mov eax,b push eax mov eax,c push eax } system("pause"); return 0; }</code> |
16.04.2018, 19:45 | #2 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Вы бы лучше спросили об этом препода
Потому что "слово из трёх букв" занимает 3 байта, упаковать их в ещё меньший размер можно разве что переведя код каждой буквы в 5-битное число от 0 до 31 (А=0, Б=1 ... Ю=30, Я=31, без "Ё"). Т.о. получится 3 блока по 5 бит = 15 бит = 2 байта. Больше ничего в голову не приходит. А вот в голову препода, боюсь, залезть никак не получится, чтобы проверить – то ли он имел в виду...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
16.04.2018, 20:03 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
В дремучие времена до-РС-шной эпохи на компах серии PDP-11 и наших клонах СМ-4 и т.п. существовала кодировка RADIX-50 (50 - восьмиричное) для упаковки сжатых имен файлов, там действительно 3 символа ASCII утаптывали в 1 16-битное слово. Кому это сейчас может надобиться? Только чтоб студеням жизнь медом не казалась ?
https://ru.wikipedia.org/wiki/RADIX-50 К сожалению, популярное на Руси слово из трех букв в этот код не лезет |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Assembler] Помогите с программой, Не могу понять что требуется сделать, кто нибудь объясните | Senya Arsentev | Помощь студентам | 2 | 23.12.2017 14:28 |
Помогите понять задание! Непонятно, что вообще требуется сделать, объяните, пожалуйста | olenka.ke | Помощь студентам | 7 | 25.10.2015 19:17 |
Не могу понять никак условие, что именно требуется для входных даннных | zloywolk | Помощь студентам | 5 | 22.05.2012 20:46 |
Не могу понять, что требуется? | Shuraken | Общие вопросы Delphi | 2 | 10.08.2007 11:41 |