Написать две программы на ассемблере
250 UAH1. В заданной строке с нулевым завершителем выделить отдельные слова, если в качестве разделителей используются разделители русского языка.
2. Создать окно на рабочем столе с такими параметрами, при нажатии Shift:
Цвет фона – черный, символов – белый, позиция 40, 5
Код для второго задания(нужно ввести только несколько изменений)
.386
.model flat, stdcall
option casemap :none
include C:\masm32\include\windows.inc
include <\masm32\include\kernel32.inc>
include <\masm32\include\user32.inc>
includelib <\masm32\lib\kernel32.lib>
includelib <\masm32\lib\user32.lib>
include \masm32\include\masm32rt.inc
atoi PROTO C strptr:DWORD
.data
msg1 db "1 chislo: ", 0
msg2 db "2 chislo: ", 0
ConsoleTitle db 'Lb4',0
formatStr db "Proizvedenie: %s*%s=%d", 0
.data?
buffer1 dw 100 dup(?)
buffer2 dw 100 dup(?)
buffer3 dw 100 dup(?)
buf db 100 dup (?)
lens db ?
.code
start proc
LOCAL hOutPut 😁WORD
LOCAL hInPut 😁WORD
LOCAL txtAtrib 😁WORD
call FreeConsole
call AllocConsole
invoke SetConsoleTitle, offset ConsoleTitle
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov hOutPut, eax
invoke GetStdHandle, STD_INPUT_HANDLE
mov hInPut, eax
mov EAX, 4h
add EAX, 0h
mov txtAtrib, eax
invoke SetConsoleTextAttribute, hOutPut, txtAtrib
invoke SetConsoleCursorPosition, hOutPut, 655400
push hOutPut
lea eax, msg1
push eax
call StdOut
push hInPut
push 100
lea eax, buffer1
push eax
call StdIn
invoke SetConsoleCursorPosition, hOutPut, 655415
push hOutPut
lea eax, msg2
push eax
call StdOut
push hInPut
push 100
lea eax, buffer2
push eax
call StdIn
;invoke StdIn, offset buffer2, 100, hInPut
invoke atoi, offset buffer1
mov ebx,eax
invoke atoi, offset buffer2
imul eax,ebx
invoke wsprintf, offset buffer3, offset formatStr, offset buffer1, offset buffer2, eax
invoke SetConsoleCursorPosition, hOutPut, 655430
push hOutPut
lea eax,buffer3
push eax
call StdOut
WaitForCaps:
invoke GetAsyncKeyState, 12
and eax, 8000h
jz WaitForCaps
invoke ExitProcess, NULL
start endp
end start
StdIn proc Buffer:DWORD,bLen:DWORD, InPut:DWORD
LOCAL bRead :DWORD
invoke ReadFile,Input,Buffer,bLen,ADDR bRead,NULL
mov eax, bRead
ret
StdIn endp
StdOut proc Text:DWORD, OutPut:DWORD
LOCAL bWritten 😁WORD
LOCAL sl 😁WORD
invoke StrLen,Text
mov sl, eax
invoke WriteFile,OutPut,Text,sl,ADDR bWritten,NULL
mov eax, bWritten
ret
StdOut endp
Актуальні фриланс-проєкти в категорії Десктопні додатки
Додати паузи 10-30 секунд між відправками листівВітаю! Шукаю досвідченого програміста 1С / BAS (BAF) для оперативного вирішення технічної проблеми з поштовою розсилкою.Суть проблеми: Використовуємо бухгалтерську програму BAF (Business Automation Framework), редакция 2.0. Раз на місяць виникає потреба масово відправляти… Веб-програмування, Десктопні додатки ∙ 2 дні 17 годин тому ∙ 10 ставок |
Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для… C та C++, Десктопні додатки ∙ 3 дні 4 години тому ∙ 5 ставок |
Модифікація в роботі емулятора
2000 UAH
Доброго дня. Я скачав з Інтернету емулятор ігрового автомата gaminator cf final. Він мені дуже сподобався, але там є недоліки. Є адмін панель, але вона відкривається вільно, але не закривається взагалі. Закривається тільки разом з додатком. А дані, після зміни в адмін панелі -… Десктопні додатки ∙ 10 днів 18 годин тому ∙ 10 ставок |