![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - Помогите разобраться с задачей. |
|
Assm - Помогите разобраться с задачей.
|
Ветеран Сообщения: 876 |
Всем привет, тема задания битовые операции. Программы реализуются как ассемблерные вставки в языке высшего уровня (С++).
Реализуйте с помощью логических операций вставку заданного значения (0 или 1) в любой бит байта со сдвигом вправо и потерей крайнего бита. Может кто делал подобные? Я понял задание так, ввести с клавиатуры значение бита и номер бита в который надо вписать значение. Если по моим представлениям делать задачу то получается большой код. Так же вызывает затруднение вывод на экран двоичного значения регистра. |
|
------- Отправлено: 21:55, 22-05-2011 |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Почему rez должен остаться без значения? Ты же его явно вводишь:
Цитата Gooch:
Цитата Gooch:
Равно - идем дальше - проверяем на равенство 0 и x - равно - выходим, не равно - выполняем программу. Не понимаю я этих манипуляций. Приложи весь исходник, я в NetBeans посмотрю. |
||
------- Отправлено: 21:49, 24-05-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 876
|
Профиль | Отправить PM | Цитировать #include "stdafx.h" #include "iostream" #include "windows.h" //Реализуйте с помощью логических операций вставку заданного значения (0 или 1) в любой бит байта со сдвигом вправо и потерей крайнего бита. INT8 assembler(INT8 z, INT8 x) { INT8 rez=0; __asm { MOV cl,x //проверка Х на значение не 0 CMP cl,1 JNZ bit cicle: //берём rez и записываем в al, в rez должно быть 10000000, после чего //сдвигаем значение на 1 бит, после чего в зависимости от z повторяем цикл MOV al,rez SHR al,1 MOV rez,al INC cl CMP cl,z JB cicle JMP end bit: MOV al,0 MOV cl,80H ADD al,cl MOV rez,al end: } return rez; } void main() { int z, y, x; system("title Вычисление значения выражения"); setlocale(LC_ALL,"Russian"); printf("\n"); printf("Введите значение бита (0 или 1): \n"); scanf_s("%d",&x); printf("Введите номер бита (от 0 до 7): \n"); scanf_s("%d",&y); if (y==7) { z=0; } if (y==6) { z=1; } if (y==5) { z=2; } if (y==4) { z=3; } if (y==3) { z=4; } if (y==2) { z=5; } if (y==1) { z=6; } if (y==0) { z=7; } printf("Ответ = %i\n",assembler(z, x)); system("pause"); } ![]() |
------- Отправлено: 17:11, 25-05-2011 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - помогите с задачей! | max1331003 | Программирование и базы данных | 0 | 24-12-2010 18:58 | |
C/C++ - помогите с задачей по СИ!!! | feliks2009 | Программирование и базы данных | 4 | 16-11-2009 00:18 | |
Delphi - [решено] Помогите с задачей /Pascal/ | Habetdin | Программирование и базы данных | 23 | 11-11-2009 22:46 | |
C/C++ - [решено] Помогите с задачей! | FeuerEngel | Программирование и базы данных | 3 | 28-05-2009 09:58 | |
Delphi - [решено] Помогите с комбинаторной задачей! | ALI | Программирование и базы данных | 16 | 01-01-2009 14:10 |
|