Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 14.12.2011, 23:36   #1 (permalink)
Ирина1993
Новичок
 
Регистрация: 13.12.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Ассемблер

Помогите сдалать задания на ассемблере!!
Срочно.........
607456848
добавляйтесь
Ирина1993 вне форума   Ответить с цитированием

Старый 14.12.2011, 23:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме часто создаются аналогичные темы

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

Старый 14.12.2011, 23:38   #2 (permalink)
Ирина1993
Новичок
 
Регистрация: 13.12.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

помощь в решении задачи на ассемблере
Ирина1993 вне форума   Ответить с цитированием
Старый 15.12.2011, 01:05   #3 (permalink)
z80
Member
 
Аватар для z80
 
Регистрация: 28.07.2011
Сообщений: 187
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 118
По умолчанию

320289366

а для какого процессора? какое залдагие?
z80 вне форума   Ответить с цитированием
Старый 15.12.2011, 18:18   #4 (permalink)
Ирина1993
Новичок
 
Регистрация: 13.12.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Порядок выполнения работы

1. Повторить шестнадцатиричную систему счисления.
2. Изучить структуру программы на Ассемблере.
3. Изучить команды отладчика DEBUG.
4. Внимательно ознакомиться с порядком выполнения работы.
5. Разобраться в представленной ниже программе, записывающей исходные данные типа байт из области source в обратном порядке в область dest.



6. Скопировать программу PRIMER.ASM под другим именем.
7. В любом редакторе исправить программу, вводя исходные данные своего варианта. В первой программе тип данных - байт.
8. Оттранслировать исходный модуль. Для этого набрать команду:
>masm {имя файла},
где {имя файла} - имя файла, содержащего исходный модуль, без расширения. На запросы ответить так:
object filename[ ]: нажать клавишу перевода строки
source listing[ ]: набрать имя файла без расширения
cross reference[ ]: нажать клавишу перевода строки
В результате создается объектный файл и листинг трансляции.
9. Просмотр листинга трансляции. Для этого вызвать на экран файл с расширением LST клавишей F3. Листинг состоит из двух частей. В левой части находится столбец шестнадцатиричных значений смещения адреса (в байтах) от начала сегмента и столбцы объектного кода каждого оператора. В правой части - текст исходной программы.
Особое внимание обратить на смещение оператора RET.
10. Создать исполняемый файл. Для ввода загрузчика ввести команду:
>link {имя файла}
На все запросы нажимать клавишу перевода строки.
В результате создается исполняемый файл с расширением EXE.
11. Выполнить программу. Для этого используется отладчик DEBUG. Для начала ввести команду:
>debug {имя файла}.exe
Просмотреть содержимое регистров. Сделать 5-6 шагов. Выполнить программу до конца, используя смещение команды RET.
12. Проверить правильность работы программы. Просмотреть содержимое сегмента данных.
13. Просмотреть содержимое сегмента команд.
14. Выйти из отладчика.
15. Внести изменения в программу, поменяв тип исходных данных на слово. Повторить пункты 8-14.
16. Внести изменения в программу, поменяв тип исходных данных на двойное слово. Повторить пункты 8-14.
17. Оформить отчет.

Содержание отчета

Отчет должен включать для трех программ:
1. Текст листинга трансляции (2 страницы).
2. Содержимое регистров после команд отладчика R и T.
3. Содержимое сегмента данных и сегмента команд.
. Исследование формирования регистра флагов

Цель и задачи исследования

Целью и задачей работы является приобретение навыков установки и сбрасывания флагов.

Теоретические сведения
Флаги [6, 7]
В 16-ти битовом регистре флагов фиксируется информация о текущем состоянии дел:
0 бит – флаг переноса
2 бит – флаг четности
4 бит – флаг вспомогательного переноса
6 бит – флаг нуля
7 бит – флаг знака
8 бит – флаг тpассиpовки
9 бит – флаг разрешения прерываний
10 бит – флаг направления
11 бит – флаг переполнения
С помощью команды LAHF (Load AH from Flags – загрузить регистр AH флагами) можно сохранить флаги CF,PF,AF,ZF,SF в соответствующих битах регистра AH (0,2,4,6,7).

Команды сложения
ADD приемник, источник (add-сложить)
ADC приемник, источник (add with carry - сложить с переносом)

Команды могут складывать как 8- , так и 16-битовые операнды.
Если при выполнении сложения ADD используются 8-битовые регистры, то 8 младших битов ответа будут занесены в регистр приемника, а 9-й бит (если он есть) - во флаг переноса CF, например

Команда ADD AX,BX складывает 16-битовые значения регистров AX,BX.
Команды
ADD AX,CX
ADC BX,DX
складывают 32-битовое число, находящееся в регистрах CX, DX с 32 -битовым числом, находящимся в регистрах AX и BX .

Команда сравнения CMP (compare)

Команда СМР вычитает операнд-источник из операнда-приемника, устанавливает флаги (см. табл.), но не сохраняет результат вычитания.
Таблица - Результаты исполнения команды СМР
условие SF ZF CF
приемник > источник 0 0 0
приемник = источник 0 1 0
приемник < источник 1 0 1

Оборудование

IBM совместимые ЭВМ, операционная система Linux, программа DOSBox, оболочка Volcov Commander, программы Masm, Link, Debug.

Порядок выполнения работы
1. Повторить команды сложения (ADD и ADC), сравнения (CMP) и сохранения флагов (LAHF).
2. Составить программу, состоящую из трех частей. В первой части сложить первое и второе числа из последовательности входных данных в соответствии с вариантом и посмотреть состояние флагов. Во второй части сравнить 2 и 3, 2 и 4, 3 и 4 числа из последовательности и также посмотреть состояния флагов после каждого сравнения. Тип данных и используемые регистры выбрать самостоятельно, обосновав выбор:
№ варианта Входные данные
1 240, 40, 32, 40
2 -600, 20, 10, 20
3 31100, 2010, 50, 2010
4 3015, 105, 100, 105
5 250, -40, 5, -40
6 60000, 6000, 20, 6000
7 -100, 50, 100, 50
8 200, 70, 150, 70
9 2000, 150, 200, 150
10 100, 180, 200, 180

3. Набрать программу.
4. Откомпилировать и отладить программу.
5. Оформить отчет.
Содержание отчета
Отчет должен содержать:
1. Вариант задания.
2. Текст программы.
3. Содержание регистров после выполнения операции сложения и результат сложения в шестнадцатиричном, двоичном и десятичном виде.
4. Содержание регистра АН в шестнадцатиричном и двоичном виде и состояние флагов после каждого выполнения команды LAHF.
. Исследование формирования регистра флагов

Цель и задачи исследования

Целью и задачей работы является приобретение навыков установки и сбрасывания флагов.

Теоретические сведения
Флаги [6, 7]
В 16-ти битовом регистре флагов фиксируется информация о текущем состоянии дел:
0 бит – флаг переноса
2 бит – флаг четности
4 бит – флаг вспомогательного переноса
6 бит – флаг нуля
7 бит – флаг знака
8 бит – флаг тpассиpовки
9 бит – флаг разрешения прерываний
10 бит – флаг направления
11 бит – флаг переполнения
С помощью команды LAHF (Load AH from Flags – загрузить регистр AH флагами) можно сохранить флаги CF,PF,AF,ZF,SF в соответствующих битах регистра AH (0,2,4,6,7).

Команды сложения
ADD приемник, источник (add-сложить)
ADC приемник, источник (add with carry - сложить с переносом)

Команды могут складывать как 8- , так и 16-битовые операнды.
Если при выполнении сложения ADD используются 8-битовые регистры, то 8 младших битов ответа будут занесены в регистр приемника, а 9-й бит (если он есть) - во флаг переноса CF, например

Команда ADD AX,BX складывает 16-битовые значения регистров AX,BX.
Команды
ADD AX,CX
ADC BX,DX
складывают 32-битовое число, находящееся в регистрах CX, DX с 32 -битовым числом, находящимся в регистрах AX и BX .

Команда сравнения CMP (compare)

Команда СМР вычитает операнд-источник из операнда-приемника, устанавливает флаги (см. табл.), но не сохраняет результат вычитания.
Таблица - Результаты исполнения команды СМР
условие SF ZF CF
приемник > источник 0 0 0
приемник = источник 0 1 0
приемник < источник 1 0 1

Оборудование

IBM совместимые ЭВМ, операционная система Linux, программа DOSBox, оболочка Volcov Commander, программы Masm, Link, Debug.

Порядок выполнения работы
1. Повторить команды сложения (ADD и ADC), сравнения (CMP) и сохранения флагов (LAHF).
2. Составить программу, состоящую из трех частей. В первой части сложить первое и второе числа из последовательности входных данных в соответствии с вариантом и посмотреть состояние флагов. Во второй части сравнить 2 и 3, 2 и 4, 3 и 4 числа из последовательности и также посмотреть состояния флагов после каждого сравнения. Тип данных и используемые регистры выбрать самостоятельно, обосновав выбор:
№ варианта Входные данные
1 240, 40, 32, 40
2 -600, 20, 10, 20
3 31100, 2010, 50, 2010
4 3015, 105, 100, 105
5 250, -40, 5, -40
6 60000, 6000, 20, 6000
7 -100, 50, 100, 50
8 200, 70, 150, 70
9 2000, 150, 200, 150
10 100, 180, 200, 180

3. Набрать программу.
4. Откомпилировать и отладить программу.
5. Оформить отчет.
Содержание отчета
Отчет должен содержать:
1. Вариант задания.
2. Текст программы.
3. Содержание регистров после выполнения операции сложения и результат сложения в шестнадцатиричном, двоичном и десятичном виде.
4. Содержание регистра АН в шестнадцатиричном и двоичном виде и состояние флагов после каждого выполнения команды LAHF.
Ирина1993 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


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

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




Часовой пояс GMT +4, время: 05:52.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.