Практическая работа №2
Работа с операциями сложения и вычитания над целыми числами. Работа с операциями умножение и деления целых чисел. Порядок выполнения работы 1. Загрузка системы 2. Создание файла с текстом программы задания 3. Исправление ошибок компиляции 4. Создание файла, содержащего исполняемый модуль программы 5. Ввод исходных данных 6. Отладка программы на контрольном примере Задание 1. Создайте программу на FASM по образцу. Определите какая команда отвечает за сложение. Format PE GUI 4.0 include 'include\WIN32AX.INC' .data formats db "%d",0 ; Задание формата вывода в 10-ой форме Result db 256 dup(?) ;В этой строке сохраняется результат ;после его преобразования A dd 01h B dd 02h C dw 03h ; определение исходных данных D dw 04h E db 0FEh F db 01h Code start : ;Алгоритм сложения двух 32 -разрядных слов mov Eax,[A] ;Перемещаем в eax число A add EaX,[B] ;Складываем содержимое eax и B. Invoke wsprintf,result,formats,eax ;Преобразуем число в строку invoke MessageBox,0,result,"А+Б 32- разрядные",MB_OK ;Вывод Mov Eax,0 Invoke wsprintf,result,formats,Eax ;Преобразуем число в строку invoke MessageBox,0,result," Промежут Eax ",MB_OK ; Вывод ;Алгоритм сложения двух 16 -разрядных слов mov ax,word[C] add aX,word[D] invoke wsprintf,result,formats,Eax ;Преобразуем число в строку invoke MessageBox,0,result,"С + Д 16-разрядные",MB_OK ;Алгоритм сложения двух 8 -разрядных слов mov aL,byte[E] add al,byte[F] Invoke wsprintf,result,formats,Eax ;Преобразуем число в строку invoke MessageBox,0,result,"E + F 8- разрядные ",MB_OK ; Вывод Invoke ExitProcess,0 ; Выход из программы End start Задание 2. Используя образец программы, выполнить вычитание 16,32 и 8разрядных слов, слов и байтов. Результаты выдать на экран. Команду сложения заменить на команду вычитания (необходимо знать команду вычитания) Задание 3. Вычислить выражение 6X2+10Y2+4Z2. Все величины в выражении однобайтовые. Результат выдать на экран. Программа (образец) Format PE GUI 4.0 include ' include \ WIN 32 AX . INC ' .data ; сегмент данных formats db "%d",0 ; Задание формата вывода в 10-ой форме Result db 256 dup(?) ;В этой строке сохраняется результат ;после его преобразования A db 6 B db 10 C db 4 X DB 2 Y DB 1 Z DB 3 Code ; сегмент кода Start : ; Точка старта программы Xor EAX , EAX Mov AL,[X] Mul [X] Mul [A] Mov BL,AL Mov AL,[Y] Mul [Y] Mul [B] Mov DL,AL Mov AL,[Z] Mul [Z] Mul [C] Add AL,BL Add AL,DL Invoke wsprintf,result,formats,EAX invoke MessageBox,0,result,"6Xx+10Yy+4Zz",MB_OK Invoke ExitProcess,0 ; Выход из программы End start Напишите ответ в тетради к этой задаче. Измените данные так, чтобы следующий ответ не совпал с предыдущим. Задание 4. Вычислить выражение 4X2+5Y2+3М2 . Все величины в выражении однобайтовые. Результат выдать на экран. Задание 5. Вычислить выражение 7X2+2Y2/3Z2 . Все величины в выражении однобайтовые. Результат выдать на экран. Задание 6. Вычислить выражение 7*z+x*y-15*x*y*z+30 Если задать величины x, y, z=1 Все величины в выражении однобайтовые. Результат выдать на экран. Программа №6.(образец) Format PE GUI 4.0 include ‘ include \ WIN 32 AX . INC ’ .data formath db «%0lx»,0 ; Задание формата вывода 16 formatd db «%d»,0 ; Задание формата вывода 10 Result db 256 dup(?) ;В этой строке сохраняется результат ;после его преобразования X db 1 ; 20h Y db 1 ; 40h z db 1 ; 50h ; 7*z+x*y-15*x*y*z+30=23 , если x=y=z=1 C db 7 Code start: Xor AX,AX Xor dX , dX MOV AL,[z] ;байт умножается на байт MUL [c] ;результат в АХ, Mov bx,ax MOV AL,[y] ;байт умножается на байт MUL [x] ;результат в АХ, MUL [y] Add bx,ax MOV AL,15 ;байт умножается на байт MUL [z] ;результат в АХ, MUL [x] MUL [y] Sub bx,ax Add bx,30 Invoke wsprintf,result,formath,bx,dx ;ax,dx ; Преобразуем число в строку Invoke MessageBox,0,result,” перемнож , слож и вычит байт ”,MB_OK Invoke ExitProcess,0 ; Выход из программы .end start Задание 7. Вычислить выражение 6*х+z*y-11*x*y*z+13 Если задать величины x, y, z=1 Практическая работа №3
Тема: Работа с командами условного и безусловного перехода Работа с командами ввода/вывода данных. Выполнение прерываний в программе Задание 1. Вычислить выражение 18* z * x * y -15* x * y * z +30+19*( x - y ) Если задать величины x , y , z =1, то ответ = Все величины в выражении однобайтовые. Результат выдать на экран. Программа № 1 Format PE GUI 4.0 include 'include\WIN32AX.INC'
Data formath db "%0 lx ",0 ; Задание формата вывода 16 formatd db "%0 d ",0 ; Задание формата вывода 10 Result db 256 dup (?) ;В этой строке сохраняется результат ;после его преобразования X db 2 ; 20 h Y db 2 ; 40 h z db 2 ; 50 h ; 18* z * x * y -15* x * y * z +30+19*( x - y )= , если ; x = y = z =1 C db 7 Code start: Xor AX,AX Xor dX,dX MOV AL,18 MUL [x] MUL [y] MUL [z] Mov bx,ax MOV AL,15 MUL [x] MUL [y] MUL [z] Sub bx,ax Add bx,30 MOV CL,19 MOV al,[x] sub al,[y] MUL cl Add ax,bx Invoke wsprintf,result,formatd,ax,dx ;Преобразуем число в строку invoke MessageBox,0,result,"перемнож,слож и вычит байт",MB_OK ;Вывод Invoke ExitProcess,0 ;Выход из программы End start -1.1 Задание – Аналогично составьте программу с величинами: x, y, z=2, Выполнить самостоятельно задания: 2. 2-30*z*x*y-16*x*y*z-41+4*(х-y) 3. 129- z*x*y+x/y+85 4. 70-17*x-65*y+13*z 5. 88*z-76*y+51*x
Задание 6. Вычислить выражение x * x * x - y * y * y - z * z * z * z +137 Если задать величины x, y, z=1. Все величины в выражении однобайтовые. Результат выдать на экран. ;Программа №6 Format PE GUI 4.0 include 'include\WIN32AX.INC'
Data formath db "%0 lx ",0 ; Задание формата вывода 16 formatd db "%d",0 ; Задание формата вывода 10 Result db 256 dup(?) ;В этой строке сохраняется результат ;после его преобразования X db 01h Y db 02h Z db 05h Code start: Xor AX,AX Xor dX,dX MOV AL,[x] ;байт умножается на байт MUL [x] ;результат в АХ, MUL [x] Mov bx,ax MOV AL,[y] ;байт умножается на байт MUL [y] ;результат в АХ, MUL [y] Sub bx,ax MOV AL,[z] ;байт умножается на байт MUL [z] ;результат в АХ, MUL [z] Sub bx,ax ;mov bx,z Add bx,137
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (527)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |