Читайте также:
|
|
Написать программу, в результате которой будет выводиться окно Windows с суммой значений двух переменных (1,2)
.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
B DB 2h
buffer db 128 dup(?)
format db "%d",0
.code
start:
mov EAX,0
MOV AL, A
ADD AL, B
invoke wsprintf, addr buffer, addr format, eax
invoke MessageBox, 0, addr buffer, addr msg_title, MB_OK
invoke ExitProcess, 0
end start
Написать программу, в результате которой будет выводиться окно Windows с суммой значений трех переменных (1,2,9)
.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
B DB 2h
D DB 9h
buffer db 128 dup(?)
format db "%d",0
.code
start:
mov EAX,0
MOV AL, A
ADD AL, B
Add AL, D
invoke wsprintf, addr buffer, addr format, eax
invoke MessageBox, 0, addr buffer, addr msg_title, MB_OK
invoke ExitProcess, 0
end start
4. Написать программу, в результате выполнения которой будет выводиться окно Windows с сообщением «Программирование микропроцессорных систем»
.386
.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
.data
msg_title db "Комплексный экзамен", 0
msg_message db "Программирование микропроцессорных систем", 0
.code
start:
invoke MessageBox, 0, addr msg_message, addr msg_title, MB_OK
invoke ExitProcess, 0
end start
Написать программу, в результате выполнения которой будет выводиться окно Windows с данными из командной строки о месте расположения файла. Перенести созданный.exe файл в другую папку, продемонстрировать результат.
.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
.code
start:
call GetCommandLine; результат будет помещен в eax
push 0
push chr$("Command Line")
push eax; текст для вывода берем из eax
push 0
call MessageBox
push 0
call ExitProcess
end start
Написать программу, используя макрос invoke, в результате выполнения которой будет выводиться окно Windows с данными из командной строки о месте расположения файла. Перенести созданный.exe файл в другую папку, продемонстрировать результат.
.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
.code
start:
call GetCommandLine; результат будет помещен в eax
invoke MessageBox, 0, eax, chr$("Command Line"), 0
push 0
call ExitProcess
end start
invoke — это встроенный макрос для упрощения кода, и при компиляции всё это преобразуется в ассемблерные команды.
Т.е. код
invoke MessageBox, 0, eax, chr$("Command Line"), 0
эквивалентен коду
push 0
push chr$("Command Line")
push eax
push 0
call MessageBox
Дата добавления: 2015-08-02; просмотров: 159 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Кардиогенный шок и отек легких. Современные рекомендации. | | | Написать программу, которая складывает два числа, и проверяет результат. В результате выполнения программы должно открыться окно с сообщением, что сумма не равна 0. |