Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 30.04.2015, 03:41   #1
Xaret1242141
Новичок
 
Регистрация: 30.04.2015
Сообщений: 1
Репутация: 10
По умолчанию Требуется помощь

Помогите написать код к задаче :

Перевірка працездатності області внутрішньої пам'яті даних за допомогою "шахового" тесту - спочатку в усі комірки пам'яті записується байт "шахового" коду 55H (H - шістнадцяткове число), читається і перевіряється записана інформація. Потім ця ж процедура повторюється для коду AAH. Задати початкову адресу області AD та кількість байтів N. Результатом роботи програми є ознака проходження тесту - 0 при співпадінні записаної і прочитаної інформації, 1 - при виявленні помилки.

From Stilet (перевод):
Проверка работоспособности области внутренней памяти данных с помошью "шахматного" теста. Вначале во все ячейки памяти записывается байт шахматного кода 55h, читается и проверяется записана ли инфа. Потом это же повторяется для кода ААh.
Задать начальный адрес области AD и кол-во байт N.
Результ работы:
0 - Если записанное совпадет со считанным
1 - если будут несовпадения.

Последний раз редактировалось Stilet; 30.04.2015 в 07:34.
Xaret1242141 вне форума   Ответить с цитированием
Старый 30.04.2015, 07:35   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

Что за ассемблер?
Попытки и наработки есть?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 11.05.2015, 15:56   #3
R71MT
Профессионал
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,230
Репутация: 1048
По умолчанию

..вот тест своего сегмента памяти для сом-программы. (16-битный FASM)

Алгоритм:
1. Пишем в стек до адреса 0500h
2. Снимаем со-стека значение и проверяем на фактор
3. При совпадении выводим на экран '0', в противном случае 'Х'
Код:


use16
org 100h
jmp start

hello  db  13,10,' Mem-Test programm'
       db  13,10,' Press any key to start test... $'
rezult db  13,10,' ===================================================='
       db  13,10,' Result of the test:',13,10,'$'

start:
   mov  dx,hello        ; приветствие
   mov  ah,9
   int  21h

   xor  ax,ax           ; начинаем тест по-любой клавише ------------------|
   int  16h

   mov  bx,sp           ; сохраним указатель на стек
   mov  ax,5555h        ; что будем писать
write:
   push ax              ; пишем в стек..
   cmp  sp,0500h        ; вся память записана ?!
   jz   endWrite        ; если да - конец записи
   jmp  write           ; если нет - мотаем цикл

endWrite:               ; начинаем чтение ---------------------------------|
   mov  dx,rezult       ; мессага с результатом
   mov  ah,9
   int  21h
read:                   
   pop  ax              ; снимаем со-стека последнее слово
   cmp  al,55h          ; проверяем правый байт
   je   good1           ; сходятся ?! выводим на экран нуль
   mov  al,'Х'          ; несходятся ?! выводим на экран 'Х'
   int  29h
next:
   xchg ah,al           ; проверяем точно так-же левый байт
   cmp  al,55h
   je   good2
   mov  al,'Х'
   int  29h
   cmp  sp,bx           ; проверяем выравнивание стека
   jz   exit            ; если 'пушей' не осталось, то выходим
   jmp  read            ; снимаем со-стека следующее слово
good1:
   mov  al,'0'          ; процедурка 'GOOD' выводит на экран нуль
   int  29h
   jmp  next            ; прыжок на проверку левого байта
good2:
   mov  al,'0'          ; процедурка 'GOOD' выводит на экран нуль
   int  29h
   jmp  read            ; снимаем со-стека следующее значение

exit:                   ; по-любой клавише - на выход!
   xor  ax,ax
   int  16h
   ret

__________________
Нашедшего выход - затаптывают первым..

Последний раз редактировалось R71MT; 11.05.2015 в 16:24.
R71MT вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется помощь Я_Студент Помощь студентам 8 06.06.2008 09:31
Требуется помощь ! Garacio_cain Работа с сетью в Delphi 3 06.01.2008 15:53


18:03.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru