|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Общие сведения. Все команды центрального процессора разделены на группы по признаку их общего назначения
Все команды центрального процессора разделены на группы по признаку их общего назначения. В группу команд пересылки данных входят следующие команды: - mov – пересылка данных; - lea – загрузка эффективного адреса; - lds – настройка регистровой пары DS:рег.; - les - настройка регистровой пары ЕS:рег.; - lahf – загрузка регистра АН младшим байтом флагового регистра; - sahf – загрузка младшего байта флагового регистра значением из регистра АН; - xchg – обмен значениями между операндами; - xlat – табличнаятрансляция данных; - push -помещение значения операнда в стек; - pushf – помещение значения из флагового регистра в стек; - pop – изъятие значения из стека и размещение в операнде; - popf -изъятие значения из стека и размещение во флаговом регистре; - in – чтение значения из порта; - out -вывод значения в порт. Длявыполнения лабораторной работы кроме изучения описаниякоманд по конспекту лекций желательно ознакомиться с описанием этих команд в справочной системе по ассемблеру – архив lern (учебник Юрова В.).
Задание
1. Внимательно изучить работу команд пересылки данных по источникам, указанным выше. 2. Ознакомиться с исходным текстом программы, приведенным ниже. 3. Выполнить ассемблирование и линкование исходного текста программы. 4. Загрузить.exe файл в td.exe. Выполнить программу по шагам, анализируя принцип работы каждой команды по состоянию регистров, используемых в команде и ячеек памяти, к которым обращается данная, выполненная команда.
; Исходный текст программы Data SEGMENT Tab DB 1,2,3,4,5,6,7,8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh Addr DW Char,Data New DW?,? NewAddr DD 12345678h Dest DW? Char DB '*' Data ENDS Code SEGMENT ASSUME DS:Data,CS:Code,ES:Data,SS:Stack1 Start: mov AX,Data mov DS,AX ;демонстрация работы команды MOV - 'А, просто так...' mov addr,DS mov ES,addr mov CH,77h mov CL,0EEh mov DI,offset Tab mov Dest,DI mov DX,CX mov AL,CH mov AX,Addr mov New,AX mov AL,Char mov Tab,AL mov SI,0CDh mov Addr,577h mov DI,14h ;демонстрация работы команды обмена xchg CL,CH xchg AX,CX ;демонстрация трансляции элементов таблицы mov BX,5 mov AX,2 xlat ;загрузка эффективного адреса mov AX,offset Char lea BX,Char ;загрузка полного адреса mov AX,DS lds BX,NewAddr mov DS,AX lea BP,Addr les DI,[BP] ;загрузка/сохранение флагов lahf mov AH,11010101b sahf ;работа со стеком push DS push ES pop DS pop ES pushf mov AX,0FD5h push AX popf popf ;Завершение работы программы mov AH,4ch int 21h Code ENDS Stack1 SEGMENT 'Stack' DB 128 dup (0) Stack1 ENDS END Start
Содержание отчета Отчет по лабораторной работе должен содержать:
1) титульный лист; 2) тему и цель работы; 3) листинг программы, а также дамп памяти после выполнения программы; 4) выводы по работе.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |