Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Написать программу, которая суммирует значения первых трех элементов массива (0,1,2,3,4,5,6,7,8,9,10,11)

Написать программу, в результате которой будет выводиться окно Windows с суммой значений трех переменных (1,2,9) | Написать программу, которая складывает два числа, и проверяет результат. В результате выполнения программы должно открыться окно с сообщением, что сумма не равна 0. | Написать программу, суммирующую первые 5 элементов массива. В результате должно выводить окно, сообщающее, что сумма равна 0. | Написать программу, выполняющую деление с помощью команды div. | Написать программу, выводящую в окне все элементы массива | Написать программу, в результате которой будет выводиться окно Windows с разностью значений двух переменных (7,3) | Написать программу, в результате которой будет выводиться окно Windows с разностью значений двух переменных (14,3) | Организация памяти микропроцессорных систем | Основные принципы организации памяти | Команды арифметических и логических операций. |


Читайте также:
  1. II. Критерии для назначения повышенной стипендии
  2. II. ОБРАЗОВАНИЕ ВАЖНО, которая начинается с ПЛОДА
  3. II. Приготовление первых блюд, супов национальных и зарубежных кухонь
  4. Pound;Логическая роль отдельных минеральных элементов_________________
  5. Quot;Талант - это способность человека оригинально решать банальные задачи; способность, которая проявляется, когда человек находится в диапазоне нормы".
  6. азовые значения и относительные единицы
  7. аибольшее и наименьшее значения функции

.486

.model flat, stdcall

option casemap: none

 

include /masm32/include/windows.inc

include /masm32/include/user32.inc

include /masm32/include/kernel32.inc

 

includelib /masm32/lib/user32.lib

includelib /masm32/lib/kernel32.lib

 

include /masm32/macros/macros.asm

uselib masm32, comctl32, ws2_32

 

.data

 

msg_title db "Title", 0

A DB 1h

x dd 0,1,2,3,4,5,6,7,8,9,10,11

n dd 3

 

buffer db 128 dup(?)

format db "%d",0

 

.code

start:

mov eax, 0

mov ecx, n

mov ebx, 0

L: add eax, x[ebx]

add ebx, type x

dec ecx

cmp ecx, 0

jne L

 

invoke wsprintf, addr buffer, addr format, eax

invoke MessageBox, 0, addr buffer, addr msg_title, MB_OK

 

invoke ExitProcess, 0

 

end start

 

12. Написать программу, выполняющую беззнаковое деление (делимое – 155, делитель - 10)

.386

.model flat, stdcall

option casemap:none

 

include <\masm32\include\windows.inc>

 

include <\masm32\include\kernel32.inc>

includelib <\masm32\lib\kernel32.lib>

 

include <\masm32\include\user32.inc>

includelib <\masm32\lib\user32.lib>

 

include <\masm32\include\masm32.inc>

includelib <\masm32\lib\masm32.lib>

 

include <\masm32\include\debug.inc>

includelib <\masm32\lib\debug.lib>

 

.data

 

byteVar byte 155; 1 байт: +155 или -101

 

byteDivider byte 10; делитель размерностью 1 байт

 

.code

start:

 

PrintLine

PrintText "БЕЗЗНАКОВОЕ ДЕЛЕНИЕ"

PrintLine

 

PrintText "ДЕЛИМ 155 (BYTE) НА 10 (BYTE):"

 

mov AL, byteVar

mov AH, 0; расширяем делимое до AX

DIV byteDivider

 

PrintDec AL, "частное"; по выполнении в AL - "15"

PrintDec AH, "остаток"; по выполнении в AH - "5"

PrintLine

 

invoke ExitProcess, 0

 

end start

 

13. Написать программу, выполняющую знаковое деление (делимое – -101, делитель - 10)

.386

.model flat, stdcall

option casemap:none

 

include <\masm32\include\windows.inc>

 

include <\masm32\include\kernel32.inc>

includelib <\masm32\lib\kernel32.lib>

 

include <\masm32\include\user32.inc>

includelib <\masm32\lib\user32.lib>

 

include <\masm32\include\masm32.inc>

includelib <\masm32\lib\masm32.lib>

 

include <\masm32\include\debug.inc>

includelib <\masm32\lib\debug.lib>

 

.data

 

byteVar byte 155; 1 байт: +155 или -101

 

 

byteDivider byte 10; делитель размерностью 1 байт

 

.code

start:

 

PrintLine

PrintText "БЕЗЗНАКОВОЕ ДЕЛЕНИЕ"

PrintLine

 

PrintText "ДЕЛИМ -101 (БАЙТ) НА +10 (БАЙТ):"

 

mov AL, byteVar

cbw; расширяем делимое (AL) до AX

IDIV byteDivider

 

PrintDec AL, "частное"; по выполнении в AL - "-10"

PrintDec AH, "остаток"; по выполнении в AH - "-1"

PrintLine

invoke ExitProcess, 0

 

end start

14. Написать программу, выполняющую знаковое деление без остатка (делимое – -100, делитель - 10)

.386

.model flat, stdcall

option casemap:none

 

include <\masm32\include\windows.inc>

 

include <\masm32\include\kernel32.inc>

includelib <\masm32\lib\kernel32.lib>

 

include <\masm32\include\user32.inc>

includelib <\masm32\lib\user32.lib>

 

include <\masm32\include\masm32.inc>

includelib <\masm32\lib\masm32.lib>

 

include <\masm32\include\debug.inc>

includelib <\masm32\lib\debug.lib>

 

.data

 

byteVar byte 155; 1 байт: +155 или -101

 

byteDivider byte 10; делитель размерностью 1 байт

.code

start:

 

PrintLine

PrintText "БЕЗЗНАКОВОЕ ДЕЛЕНИЕ"

PrintLine

 

PrintText "ДЕЛИМ -100 (БАЙТ) НА +10 (БАЙТ):"

 

mov AL, byteVar

cbw; расширяем делимое (AL) до AX

IDIV byteDivider

 

PrintDec AL, "частное"; по выполнении в AL - "-10"

PrintLine

invoke ExitProcess, 0

 

end start

 

15. Написать программу, выводящую в консоли сообщение “Hello, World”, используя макросы

.386

.model flat, stdcall

option casemap:none

 

include <\masm32\include\windows.inc>

include <\masm32\include\kernel32.inc>

includelib <\masm32\lib\kernel32.lib>

 

HelloWord MACRO var1, var2, var3; макроопределение

 

invoke GetStdHandle, STD_OUTPUT_HANDLE

mov hConsoleOutput, eax

invoke WriteConsoleA, hConsoleOutput, var1, var2 msg1, ADDR NumberOfChars, 0

 

ENDM; конец макроопределения

 

.data

 

hConsoleInput DWORD?

hConsoleOutput DWORD?

NumberOfChars DWORD?

 

msg1 byte " Hello, World!", 0

 

.code

start:

 

HelloWord addr msg1, sizeof, invoke AllocConsole; макровызов

 

.while 1; бесконечный цикл

.endw

 

invoke ExitProcess, 0; сообщаем системе, что программа завершена

 

end start

 


Дата добавления: 2015-08-02; просмотров: 116 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Написать программу, которая складывает два числа, и проверяет результат. В результате выполнения программы должно открыться окно с сообщением, что сумма равна 0.| Написать программу, в результате которой будет выводиться окно Windows с разностью значений двух переменных (3,1)

mybiblioteka.su - 2015-2024 год. (0.014 сек.)