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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2011, 22:46   #1
Alexandra42
Новичок
Джуниор
 
Регистрация: 07.09.2011
Сообщений: 2
По умолчанию Подсчитать вес двоичного вектора и другое на Ассемблер

Здравствуйте, уважаемые программисты.
Не могу после Паскаля/Дельфи вникнуть в Ассемблер, а нужно по учебе решить две задачки:

1. Подсчитать вес двоичного вектора и сохранить результат

Код:
;Сегменты не более 64 Кб.
.Model small

;сегмент стека
Sseg SEGMENT 'stack'
     db 256 dup(?)
Sseg ends

;сегмент данных
Dseg SEGMENT 'data'
...
Dseg ends

;Сегмент кода
Cseg SEGMENT 'code'
Assume CS:Cseg, DS:Dseg, SS:Sseg

;Основная программа
Main PROC FAR

;Подготовка к возврату в операционную систему
  PUSH DS
  Mov AX,0
  PUSH AX

;Настроим DS на наш сегмент данных
  Mov AX,Dseg
  Mov DS,AX

;Выполнение операций
...

;Передача управления первому оператору в PSP
  RET

Main ENDP
Cseg ends
end Main
Код должен быть такого типа. Т.е. все должно реализоваться без подпрограмм в разделе ;Выполнение операций. Должны использоваться либо циклы, либо условия if then. Исходное число (числа) хранится в двухбайтовой ячейке (ячейках) сегмента данных, результат необходимо сохранить в однобайтовую ячейку сегмента данных.

2. Найти логическую сумму положительных элементов массива и записать ее в Rg AX, и логическую сумму отрицательных элементов массива, записать ее в Rg ВХ (формат элементов массива - байт).

Код:
;Сегменты не более 64 Кб.
.Model small

;сегмент стека
Sseg SEGMENT 'stack'
     db 256 dup(?)
Sseg ends

;сегмент данных
Dseg SEGMENT 'data'
...
Dseg ends

;Сегмент кода
Cseg SEGMENT 'code'
Assume CS:Cseg, DS:Dseg, SS:Sseg

;Основная программа
Main PROC FAR

;Подготовка к возврату в операционную систему
push DS
MOV AX, 0
push AX

;Настроим DS на наш сегмент данных
MOV AX, Dseg
MOV DS, AX

;Выполнение операций
...

;Передача управления первому оператору в PSP
RET
Main ENDP
Cseg ends
end Main
Результаты необходимо сохранить в РОНы.

Вроде все. Заранее спасибо Вам.
Alexandra42 вне форума Ответить с цитированием
Старый 10.09.2011, 00:19   #2
Alexandra42
Новичок
Джуниор
 
Регистрация: 07.09.2011
Сообщений: 2
По умолчанию

Закройте или удалите тему. Уже не нужно.
Alexandra42 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать вес страницы WennY PHP 1 26.04.2011 13:46
Вес romanzi Общие вопросы Delphi 1 21.02.2011 18:52
Вес текстового файла romanzi Общие вопросы Delphi 2 19.02.2011 23:14
Подсчитать среднюю заработную плату, средний вес багажа с использованием массива записи Stei Помощь студентам 3 14.12.2010 18:20
Вес объекта JOFRIF Общие вопросы C/C++ 5 31.08.2009 15:51