[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3
Автор Сообщение
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Андрей ещё не в той теме написал


Андрей Фурс:

какая-то странная проблема в задаче Оценка\Обучение\Ассемблер\Флеш-задания 2013 (Лысенко)\19 - "Дополнить программу(байт/байт)1". Там нечего дополнять. 
Игорь Коршунов

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

Мой профиль


Андрей Фурс:

в принципе во всех задачах раздела Оценка\Обучение\Ассемблер\Флеш-задания 2013 (Лысенко)\ названия которых начинаются с - Дополнить программу какая-то ошибка, там нечего дополнять. 

Там есть поля для ввода недостающих фрагментов программы.
Андрей Фурс

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

Мой профиль


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


Андрей Фурс:

в принципе во всех задачах раздела Оценка\Обучение\Ассемблер\Флеш-задания 2013 (Лысенко)\ названия которых начинаются с - Дополнить программу какая-то ошибка, там нечего дополнять. 

Там есть поля для ввода недостающих фрагментов программы. 

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

Темы: 1984
Сообщений: 47243

Мой профиль
22.11.2013 10:04:22 22.11.2013 10:04:28 Стрибук Максим Организация и функционирование ЭВМ (ПМ4) - 2013 7. Выражение 100 Все тесты пройдены (основной + секретный). 1.i86 DelTA3 at DLServer
22.11.2013 10:03:25 22.11.2013 10:03:27 Стрибук Максим Организация и функционирование ЭВМ (ПМ4) - 2013 7. Выражение 0 Ошибка чекера причина выхода:Runtime Error 128 1.i86 DelTA3 at NewIT

А то за проблема на NewIT?

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

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

Мой профиль


Михаил Долинский:

22.11.2013 10:04:22 22.11.2013 10:04:28 Стрибук Максим Организация и функционирование ЭВМ (ПМ4) - 2013 7. Выражение 100 Все тесты пройдены (основной + секретный). 1.i86 DelTA3 at DLServer
22.11.2013 10:03:25 22.11.2013 10:03:27 Стрибук Максим Организация и функционирование ЭВМ (ПМ4) - 2013 7. Выражение 0 Ошибка чекера причина выхода:Runtime Error 128 1.i86 DelTA3 at NewIT

А то за проблема на NewIT?

 

После перетестирования все прошло.
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
03.12.2013 12:31:26 03.12.2013 12:31:31 Ванюк Евген Организация и функционирование ЭВМ (ПМ4) - 2013 5. Элемент И, 0 Fatal:Insufficient system resources exist to complete the requested service. le.tst DelTA3 at DLServer
03.12.2013 12:21:54 03.12.2013 12:21:56 MitoL(Коробочкин;Филиппов) Организация и функционирование ЭВМ (ПМ4) - 2013 П. Задача №3 0 Ошибка чекера причина выхода:Runtime Error 128 Arifm.PRD DelTA3 at DLServer
03.12.2013 12:21:12 03.12.2013 12:21:15 Ванюк Евген Организация и функционирование ЭВМ (ПМ4) - 2013 3. Элемент исключающее ИЛИ 0 +сэрЁєцхэю 9020 ЄхёЄют (эхюсїюфшью яЁющЄш 10) le.tst DelTA3 at DLServer
03.12.2013 12:21:09 03.12.2013 12:21:10 Кузеев, Махнач Организация и функционирование ЭВМ (ПМ4) - 2013 ПР. Слово + слово 0 Ошибка чекера причина выхода:Runtime Error 1:Invalid function number slovo_plus_slovo.i86 DelTA3 at DLServer
Антон Коробочкин

Темы: 2
Сообщений: 41

Мой профиль
Сегодня на контрольной работе в задачах по ассемблеру была следующая задача : дано четырехбайтное число. Нужно из десятичного представления этого числа убрать все нули. Хотелось бы увидеть несколько примеров работы с таким числом. А в идеале решенную данную задачу.
Евгений Калейников

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

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

Темы: 1984
Сообщений: 47243

Мой профиль


Антон Коробочкин:

Сегодня на контрольной работе в задачах по ассемблеру была следующая задача : дано четырехбайтное число. Нужно из десятичного представления этого числа убрать все нули. Хотелось бы увидеть несколько примеров работы с таким числом. А в идеале решенную данную задачу.  
Когда ты вчера на контрольном срезе задал мне по этому поводу вопрос, и я хотел тебе ответить - у тебя не оказалось даже ручки и бумаги. Ты сказал, что так поймёшь. Я согласился и объяснил так. И в чём же дело?

Нет уж, теперь давай самостоятельно поработай.

Воспроизвожу то, что говорил вчера.

0. Объявить 4-байтную переменную можно как dd (P dd 2574)
db - байт, dw - 2 байта, dd - 4 байта
1. Для того, чтобы получить цифру числа, тебе нужно делить на 10 и брать остаток.
2. 4-байтное делимое должно находится в паре регистров DX,AX
(DX- старшая часть, AX-младшая часть)
3. Они туда могут попасть только в результате пересылки с помощью инструкции MOV
4. Беда в том, что MOV пересылает только по два байта.
5. Значит надо сделать две пересылки - одну в DX, другую в AX.
6. Для этого в указательный регистр, например BX нужно занести АДРЕС переменной. (LEA BX,P)
7. В памяти компьютера в процессорах Intel 4-байтные числа располагаются так: сначала младшие два байта, потом старшие два байта.
8. Поэтому сначала делаем MOV AX,[BX]
затем ADD BX,2
затем MOV DX,[BX]
Ну а остальное - твоя работа.
Есть еще тонкости, но, надеюсь, решая эту задачу (её можно найти в индивидуальных в соответствующей папке), ты справишься с ними сам.
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль


Евгений Калейников:

Михаил Семенович, пишу по поводу продления времени контрольных. Обсуждали, просто напоминаю) 
Продлил до 19.30.
Достаточно?
Вы не особо рассчитывайте на сильное продление - наша пара последняя - по её окончанию ИВЦ закрывается и всех всё равно прогонят довольно быстро.
Евгений Калейников

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

Мой профиль


Михаил Долинский:


Евгений Калейников:

Михаил Семенович, пишу по поводу продления времени контрольных. Обсуждали, просто напоминаю) 
Продлил до 19.30.
Достаточно?
Вы не особо рассчитывайте на сильное продление - наша пара последняя - по её окончанию ИВЦ закрывается и всех всё равно прогонят довольно быстро.  

Вполне.. Обычно не успевал на минут 10, а потом злая тетя пинала в плечи.
Михаил Долинский

Темы: 1984
Сообщений: 47243

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

Темы: 1
Сообщений: 38

Мой профиль


Михаил Долинский:


Антон Коробочкин:

Сегодня на контрольной работе в задачах по ассемблеру была следующая задача : дано четырехбайтное число. Нужно из десятичного представления этого числа убрать все нули. Хотелось бы увидеть несколько примеров работы с таким числом. А в идеале решенную данную задачу.  
Когда ты вчера на контрольном срезе задал мне по этому поводу вопрос, и я хотел тебе ответить - у тебя не оказалось даже ручки и бумаги. Ты сказал, что так поймёшь. Я согласился и объяснил так. И в чём же дело?

Нет уж, теперь давай самостоятельно поработай.

Воспроизвожу то, что говорил вчера.

0. Объявить 4-байтную переменную можно как dd (P dd 2574)
db - байт, dw - 2 байта, dd - 4 байта
1. Для того, чтобы получить цифру числа, тебе нужно делить на 10 и брать остаток.
2. 4-байтное делимое должно находится в паре регистров DX,AX
(DX- старшая часть, AX-младшая часть)
3. Они туда могут попасть только в результате пересылки с помощью инструкции MOV
4. Беда в том, что MOV пересылает только по два байта.
5. Значит надо сделать две пересылки - одну в DX, другую в AX.
6. Для этого в указательный регистр, например BX нужно занести АДРЕС переменной. (LEA BX,P)
7. В памяти компьютера в процессорах Intel 4-байтные числа располагаются так: сначала младшие два байта, потом старшие два байта.
8. Поэтому сначала делаем MOV AX,[BX]
затем ADD BX,2
затем MOV DX,[BX]
Ну а остальное - твоя работа.
Есть еще тонкости, но, надеюсь, решая эту задачу (её можно найти в индивидуальных в соответствующей папке), ты справишься с ними сам. 


http://dl.gsu.by/task.jsp?nid=1175519&cid=881


вход : X - 16
выход: Y - 32

На входе – знаковое двоичное число. Расширить его до двойного слова.

Пример:
X: 0000000000001011
Y: 00000000000000000000000000001011

пример решения:

	jmp	beg
x	dw	56739    ; входное двухбайтовое число
y	dd	0        ; выходное четырехбайтовое число
beg:	mov	ax,x     ; загружаем переменную в регистр ax
	cwd              ; делаем из слова двойное слово
	lea	bx,y     ; заносим в bx адрес переменной y
	mov	[bx],ax  ; в переменную по адресу bx (y) заносим младшие 2 байта числа 
	add	bx,2     ; увеличиваем адрес на 2
	mov	[bx],dx  ; и в переменную y заносим старшие 2 байта числа
met:	jmp	met	 ;$e
                         ;на выходе получаем двойное слово

Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль


Антон Коробочкин:

В данной теме речь пойдет про простые устройства памяти : триггер, регистр, счетчик. Я не буду описывать принцип их работы, так как это можно прочесть в Help в hlccad.

Расскажу я о том какая проблема у меня возникла с этими устройствами. И как с ней бороться.

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

Решение проблемы заключается в том что нужно сделать так чтобы сигналы приходили одновременно. По умолчанию на каждом устройстве стоит задержка в 1 ps. Все, что нужно нам сделать, это посчитать какое время идет каждый сигнал на вход и увеличить это время для тех сигналов, которые доходят быстрее чем самый медленный. В этом нам поможет элемент NOT на входной линии у которого вместо LINE установлен DOT. Это устройство не изменит сигнал, но поможет нам контролировать задержку сигнала. Для изменения задержки просто жмем правой кнопкой мыши по устройству, выбираем Дополнительно -> задержка и изменяем на нужное значение. Если в логике решения нет ошибок и задержки выставлены так что сигналы приходят на устройство памяти одновременно, то задача решена верно и все тесты будут пройдены.

Ну вот и все Надеюсь эта минилекция поможет тем кто стремится решить все задачи контрольного среза.  
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3
Time:0,062