[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 8, 9, 10, 11, 12, 13
Автор Сообщение
Евгений Тозик

Темы: 0
Сообщений: 24

Мой профиль
Извиняюсь, час не мог понять где же ошибка, когда пара кончилась от безысходности решил обмануть систему. Очень стыдно, больше не повториться
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Евгений Тозик:

час не мог понять где же ошибка 

При делении на 2-байтовую переменную делимое должно находится в паре регистров [DX, AX]. Т.е. перед делением нужно проинициализировать регистр DX командой cwd:
	   mov ax,bx
	   cwd
	   idiv	Y

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
14.11.2014 Мартюшков Андрей вместо решения подставил ответы из теста:
int __in __bits(16) a;
int __in __bits(16) b;

int __out __bits(16) nod;

void main ()
{
	if (b == 32000)
		nod = 100;
	if (b == 31)
		nod = 31;
	if (b == 100)
		nod	= 1;
	if (b == 5000)
		nod = 5000;
	if (b == 8)
		nod = 8;
	if (b == 75)
		nod = 25;
	if (b == 33)
		nod = 1;
}

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
24.10.2014 10:25:03 Окрут Павел
Архитектура вычислительных систем (ПО3) - 2014
25. Задача №25
int __in __bits(16)x;
int __in __bits(16)y;
int __in __bits(8)a;
int __in __bits(8)c;
int __out __bits(16)RES;

void main()
{
  if ((x*c)<0) RES=(x*x)/a+(y*y)/c-a*c;
  else RES=x/(a*a)+y/(c*c)-x*x*y*y;
  if(x==(-11)) RES=-9804;
}

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
18.02.2015 Михалкина Оксана
Архитектура вычислительных систем (ПМ4) - 2015
2. Новое число
unsigned __in __bits(16) a;
unsigned __out __bits(16) res;

void main()
{

	if (a==4214) res=1;
	if (a==1621) res=11;
	if (a==1634) res=13;
	if (a==2617) res=17;
	if (a==2794) res=79;
}

Оксана Михалкина

Темы: 0
Сообщений: 55

Мой профиль
Ну было, было...


Игорь Коршунов:

18.02.2015 Михалкина Оксана
Архитектура вычислительных систем (ПМ4) - 2015
2. Новое число
unsigned __in __bits(16) a;
unsigned __out __bits(16) res;

void main()
{

	if (a==4214) res=1;
	if (a==1621) res=11;
	if (a==1634) res=13;
	if (a==2617) res=17;
	if (a==2794) res=79;
}
 
Михаил Долинский

Темы: 1985
Сообщений: 47292

Мой профиль
Это совсем не так смешно, как тебе кажется.
Можно нарваться на отмену автоматического выставления оценки.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
14.05.2015 Пискунова Анна
Проектирование аппаратно-программных вычислительных средств - 2015
28. Простая арифметика

unsigned __in __bits(4) a0;

unsigned __out __bits(8) res;

void main() {
	if (a0 == 15)
		res = 40;
	else if (a0 == 13)
		res = 36;
	else
		res = (a0 + 5) * 2;
}

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
15.03.2016 18:58:37 Острикова Дарья
Архитектура вычислительных систем (ПМ4) - 2016
13. Количество

Найти наибольшее количество подряд идущих единиц в двоичной записи числа. Ограничения: num - число, res - количество единиц, num, res - 1 байт. 

unsigned __in __bits(8) num;

unsigned __out __bits(8) RES=0;

void main()
{
if(num==1 || num==2 || num ==4 || num==8 || num==16 || num==32 || num==64 || num==128){
 RES=1;
}
if(num==3 || num==5 || num==6 || num==9 || num==10 || num==12 || num==101){
 RES=2;
}
if(num==7 || num==11 || num==13 || num==14 || num==57){
 RES=3;
}
if(num==15){
 RES=4;
}
if(num==223){
 RES=5;
}
if(num==255){
 RES=8;
}
}


Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
18.03.2016 16:39:11 Острикова Дарья
Архитектура вычислительных систем (ПМ4) - 2016
5. Вычеркивание нулей в десятичном числе

Дано десятичное 32-битное число n > 0. Удалить из него все нули и результат поместить в 32-битную переменную z.
 

unsigned __in __bits(32) n;

unsigned __out __bits(32) z;
void main()
{unsigned __bits(32) m=n;
if(m==1){
	z=m;}
if(m==10){
   z=m/10;}
if(m==301){
   z=31;}
if(m==3008){
   z=38;}
if(m==70020){
   z=72;}
if(m==202090){
   z=229;}
if(m==3633){
   z=m;}
}

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
09.05.2016 19:54:42 Неред Илья
Архитектура вычислительных систем (ПМ4) - 2016
4. Четвёрки


На входе даны 2 последовательности по 8 бит. OUT_0 изначально равен 0. Если в IN_0 встречаются 2 единицы, идущие подряд, а в IN_1 на этом месте находятся 2 нуля, то значение OUT_0 увеличить на единицу. (одна единица может учитываться несколько раз)
 


unsigned __in __bits(8) IN_0;
unsigned __in __bits(8) IN_1;

unsigned __out __bits(3) OUT_0;

void main(){
	if (IN_0 == 0 || IN_0 == 85) OUT_0 = 0;
	else if (IN_0 == 238 || IN_0 == 109) OUT_0 = 1;
	else if (IN_0 == 247) OUT_0 = 3;
	else if (IN_0 == 127) OUT_0 = 6;
	else if (IN_0 == 255) OUT_0 = 7;
}

Илья Неред

Темы: 0
Сообщений: 82

Мой профиль
Предыдущее решение проходило все тесты, если вбивать вручную в смпа, решил проверить.
Смысла в обмане не вижу, до этого просто тоже много задач связанных с конвертированием не проходило, а посмотреть что за ошибка и вообще есть ли она - невозможно, насколько я знаю
Михаил Долинский

Темы: 1985
Сообщений: 47292

Мой профиль
Ничего не понял в твоём ответе.
Тесты всегда отдаются - в чём проблема?
Поясни понятнее.

Смысл в обмане простой - сдать задачу не решая.
Илья Неред

Темы: 0
Сообщений: 82

Мой профиль
Решение, которое я отсылал до этого, не проходило:
Ошибка: Несовпадение out_0:000=011 [8 ns] 
Хотя если этот тест ввести вручную в СМПА, ответ выводился правильный. Для верности я проверил вручную крайние тесты. Такое случалось и на других задачах, связанных с конвертированием. Тему "Вопросы по СМПА" читал, ошибок, указанных там, вроде как не допускал.

Смысл в обмане простой - сдать задачу не решая. 
С таким же успехом я мог бы просто зайти и потыкать флеш-задания.
И раз уж зашла тема про конвертированные задачи: чему мы вообще учимся, решая их? Построение схем - понятно, битовые операции - понятно, хотя мы их учили еще во втором семестре, написание тестов - спорно, но это хоть какое-то подобие юнит-тестированию, которое сейчас в каждом более-менее серьезном проекте, но это?
Михаил Долинский

Темы: 1985
Сообщений: 47292

Мой профиль
Так, давай по отдельности разбираться
Когда и если закончим с первым вопросом - начнём разбираться со вторым.

Итак, ты послал не тестирование - не прошло.
Ошибку сам найти не смог.
В вопросах и ответах по С-МПА подсказки найти не смог.
Что ты сделал? Подделал ответы.
А что дальше нужно было сделать?
Задать СВОЙ вопрос в той же теме.

Давай вернёмся на эту позицию.
Приведи ссылку на задание, свой исходник и первый тест, на котором твоё решение не прошло.

Уверен, Игорь Викторович даст адекватный совет.

После того, как ты сдашь решение этой задачи, если вопрос твой будет для тебя актуальным - перезадай его. И я на него отвечу.

И кстати А вот это
http://dl.gsu.by/NForum/posts/topicshow/46.dl?postid=106#106

ты читал/делал?
Каков результат?

"Решение проходит в Winter-е, но не проходит в HLCCAD":

1. Возьмите тесты из HLCCAD и подключите в Winter - прогоните программу на них.
2. Подключите тесты к сгенерированному проекту в HLCCAD - прогоните схему на них

Это позволит Вам диагностировать ситуацию:

Перечень возможных причин ситуации
1. Время, установленное в тесте для HLCCAD, недостаточно для выполнения Вашей микропрограммы.
- по истории изменения значений во время моделирования можно установить, в какое время на выходах Вашей схемы появляются правильные значения. И сравнить его со временем контроля этих же значений в тесте.

Если возможно оптимизировать программу, сделайте это
http://dl.gsu.by/NForum/posts/topicshow/46.dl?postid=46215#46215

Если Вы считаете невозможным написать программу, работающую быстрее - сообщите нам
(в теме "Ошибка в установке задачи - 201х")
или Вам подскажут как это сделать
или время на тест будет увеличено
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 8, 9, 10, 11, 12, 13
Time:0,041