Написать две программы на ассемблере
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
Актуальные фриланс-проекты в категории Десктопные приложения
Модификация в работе эмулятора
2000 UAH
Здравствуйте. Я скачал с Интернета эмулятор игрового автомата gaminator cf final. Он мне очень понравился, но там есть недочёты. Есть админ панель, но она открывается свободно, но не закрывается вообще. Закрывается только вместе с приложением. А данные, после изменения в админ… Десктопные приложения ∙ 7 дней 2 часа назад ∙ 10 ставок |
Разработка кастомного ПО (Android-приложения + CMS) для киосков самообслуживания SUNMI K2 (Фастфуд)
1000 UAH
Ищем опытную команду или Middle/Senior Android-разработчика (возможно, с Full-stack навыками) для создания собственного программного обеспечения для киосков самообслуживания сети заведений быстрого питания. Сейчас наши терминалы работают на базе готового облачного интегратора,… CMS, Десктопные приложения ∙ 11 дней 21 час назад ∙ 23 ставки |