Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

..вот тест своего сегмента памяти для сом-программы. (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 в 15:24.
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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