.486 ;используется набор команд i80486
.model flat, stdcall ;используемая модель памяти FLAT
option casemap: none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\msvcrt.inc ;для crt_atoi
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\msvcrt.lib ;для crt_atoi
.data ;сегмент данных
titleStr BYTE "Пример ввода и вывода данных",0 ;заголовок консоли
MsgBoxTitle BYTE "Заголовок MessageBox",0 ;строка заголовка
MsgBoxText BYTE "Консоль завершила работу",0 ;строка вывода
buf DWORD 30 dup(?) ;буфер для чисел, вводимых с клавиатуры
buf1 BYTE "Введите фамилию",
0,0Ah,0Dh ;буфер1 для выводимой строки + перевод строки
buf2 BYTE "Дату рождения",0 ;буфер2 для выводимой строки
buf3 BYTE "Введите уменьшаемое X=",0 ;буфер3 для выводимой строки
buf4 BYTE "Разность A=Х-Y=",0 ;буфер4 для выводимой строки
format db " %d",0 ;строка спецификации формата
outHandle DWORD ? ;ячейка памяти для хэндла вывода
inHandle DWORD ? ;ячейка памяти для хэндла ввода
namberW DWORD ? ;количество выводимых символов
namberR DWORD ? ;количество вводимых символов
X SDWORD ? ;ячейка для хранения числа
Y SDWORD ? ;ячейка для хранения числа
.code ;сегмент кода
start:
invoke AllocConsole ;запрашиваем у ОС Windows консоль
;перекодируем titleStr как источник и получатель из Win1251 -> DOS
invoke CharToOem, ;invoke - вызов функции API CharToOem
ADDR titleStr, ;ADDR- определение адреса titleStr получателя
ADDR titleStr ;ADDR- определение адреса titleStr источника
invoke SetConsoleTitle, ;invoke - вызов функции API SetConsoleTitle
ADDR titleStr ; ;ADDR- определение адреса titleStr
invoke GetStdHandle, ;invoke - вызов функции API GetStdHandle
STD_INPUT_HANDLE ;получаем хэндл ввода
MOV inHandle, EAX ;сохраняе хэндл вывода в ячейке inHandle
invoke GetStdHandle, ;invoke - вызов функции API GetStdHandle
STD_OUTPUT_HANDLE ;получаем хэндл вывода
MOV outHandle, EAX ;сохраняе хэндл вывода в ячейке outHandle
;перекодируем buf1 как источник и получатель из Win1251 -> DOS
invoke CharToOem, ;invoke - вызов функции API CharToOem
ADDR buf1, ;ADDR- определение адреса buf1 получателя
ADDR buf1 ;ADDR- определение адреса buf1 источника
;перекодируем buf2 как источник и получатель из Win1251 -> DOS
invoke CharToOem, ;invoke - вызов функции API CharToOem
ADDR buf2, ;ADDR- определение адреса buf2 получателя
ADDR buf2 ;ADDR- определение адреса buf2 источника
;перекодируем buf3 как источник и получатель из Win1251 -> DOS
invoke CharToOem, ;invoke - вызов функции API CharToOem
ADDR buf3, ;ADDR- определение адреса buf2 получателя
ADDR buf3 ;ADDR- определение адреса buf2 источника
;перекодируем buf4 как источник и получатель из Win1251 -> DOS
invoke CharToOem, ;invoke - вызов функции API CharToOem
ADDR buf4, ;ADDR- определение адреса buf4 получателя
ADDR buf4 ;ADDR- определение адреса buf4 источника
invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
outHandle, ;хэндл вывода
ADDR buf1, ;ADDR- определение адреса buf1 строки вывода
SIZEOF buf1, ;SIZEOF находим размер buf1
ADDR namberW, ;ячейка для количества выведенных символов
NULL ;не используется, указываем NULL или "0"
invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
outHandle, ;хэндл вывода
ADDR buf2, ;ADDR- определение адреса buf2 строки вывода
SIZEOF buf2, ;SIZEOF находим размер buf2
ADDR namberW, ;определение адреса
NULL ;не используется, указываем NULL или "0"
invoke ReadConsole, ;invoke - вызов функции API ReadConsole
inHandle, ;хэндл ввода
ADDR buf, ;ADDR – определение адреса buf
SIZEOF buf, ;SIZEOF – определение размера buf
ADDR namberR, ;определение адреса namberR
NULL ;не используемый аргумент
invoke crt_atoi, ;invoke - вызов функции crt_atoi
addr buf ;ADDR – определение адреса buf
MOV X,EAX ;X=EAX, в EAX символы введенного числа
invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
outHandle, ;хэндл вывода
ADDR buf3, ;ADDR- определение адреса buf2 строки вывода
SIZEOF buf3, ;SIZEOF находим размер buf2
ADDR namberW, ;определение адреса
NULL ;не используется, указываем NULL или "0"
invoke ReadConsole, ;invoke - вызов функции API ReadConsole
inHandle, ;хэндл ввода
ADDR buf, ;определение адреса buf
SIZEOF buf, ;определение размера buf
ADDR namberR, ;определение адреса namberR
NULL ;не используется, указываем NULL или "0"
invoke crt_atoi, ;invoke - вызов функции crt_atoi
addr buf ;ADDR – определение адреса buf
;Y=EAX, в EAX символы введенного числа
SUB EAX,X ;EAX=EAX-X
invoke wsprintf, ;invoke - вызов функции crt_atoi
ADDR buf, ;ADDR – определение адреса buf
ADDR format, ;ADDR – определение адреса format
EAX ;преобразуемое значение
invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
outHandle, ;хэндл вывода
ADDR buf4, ;ADDR- определение адреса buf4 строки вывода
SIZEOF buf4, ;SIZEOF – находим размер buf4
ADDR namberW, ;ADDR – определение адреса namberW
NULL ;не используется, указываем NULL или "0"
invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
outHandle, ;хэндл вывода
ADDR buf, ;ADDR- определение адреса buf строки вывода
SIZEOF buf, ;SIZEOF находим размер buf
ADDR namberW, ;ADDR – определение адреса namberW
NULL ;не используется, указываем NULL или "0"
;чтобы консоль не закрылась, вызываем MessageBox
invoke MessageBox, 0, ;invoke - вызов функции API MessageBox
ADDR MsgBoxText, ;ADDR - определение адреса MsgBoxText
ADDR MsgBoxTitle, ;ADDR - определение адреса MsgBoxTitle
MB_OK ;кнопка "OK"
invoke ExitProcess, 0 ;invoke- вызов функции завершения процесса
end start
LjQ4NiAJCQkJCQkJCQkJO9C40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQvdCw0LHQvtGAINC60L7QvNCw0L3QtCBpODA0ODYKLm1vZGVsIGZsYXQsIHN0ZGNhbGwJCQkJCQkJO9C40YHQv9C+0LvRjNC30YPQtdC80LDRjyDQvNC+0LTQtdC70Ywg0L/QsNC80Y/RgtC4IEZMQVQKb3B0aW9uIGNhc2VtYXA6IG5vbmUKaW5jbHVkZSBcbWFzbTMyXGluY2x1ZGVcd2luZG93cy5pbmMKaW5jbHVkZSBcbWFzbTMyXGluY2x1ZGVcdXNlcjMyLmluYwppbmNsdWRlIFxtYXNtMzJcaW5jbHVkZVxrZXJuZWwzMi5pbmMKaW5jbHVkZSAgIFxtYXNtMzJcaW5jbHVkZVxtc3ZjcnQuaW5jCQkJCTvQtNC70Y8gY3J0X2F0b2kKaW5jbHVkZWxpYiBcbWFzbTMyXGxpYlx1c2VyMzIubGliCmluY2x1ZGVsaWIgXG1hc20zMlxsaWJca2VybmVsMzIubGliCmluY2x1ZGVsaWIgXG1hc20zMlxsaWJcbXN2Y3J0LmxpYiAJCQkJCTvQtNC70Y8gY3J0X2F0b2kKLmRhdGEgCQkJCQkJCQkJO9GB0LXQs9C80LXQvdGCINC00LDQvdC90YvRhQp0aXRsZVN0ciBCWVRFICLQn9GA0LjQvNC10YAg0LLQstC+0LTQsCDQuCDQstGL0LLQvtC00LAg0LTQsNC90L3Ri9GFIiwwCQkJO9C30LDQs9C+0LvQvtCy0L7QuiDQutC+0L3RgdC+0LvQuApNc2dCb3hUaXRsZSBCWVRFICLQl9Cw0LPQvtC70L7QstC+0LogTWVzc2FnZUJveCIsMAkgIAkJCTvRgdGC0YDQvtC60LAg0LfQsNCz0L7Qu9C+0LLQutCwCk1zZ0JveFRleHQgIEJZVEUgItCa0L7QvdGB0L7Qu9GMINC30LDQstC10YDRiNC40LvQsCDRgNCw0LHQvtGC0YMiLDAgIAkJCTvRgdGC0YDQvtC60LAg0LLRi9Cy0L7QtNCwCmJ1ZiBEV09SRCAzMCBkdXAoPykgICAgICAJCQkJCQk70LHRg9GE0LXRgCDQtNC70Y8g0YfQuNGB0LXQuywg0LLQstC+0LTQuNC80YvRhSDRgSDQutC70LDQstC40LDRgtGD0YDRiwpidWYxIEJZVEUgItCS0LLQtdC00LjRgtC1INGE0LDQvNC40LvQuNGOIiwKMCwwQWgsMERoCQkJCQkJCQkJO9Cx0YPRhNC10YAxINC00LvRjyDQstGL0LLQvtC00LjQvNC+0Lkg0YHRgtGA0L7QutC4ICsg0L/QtdGA0LXQstC+0LQg0YHRgtGA0L7QutC4CmJ1ZjIgQllURSAi0JTQsNGC0YMg0YDQvtC20LTQtdC90LjRjyIsMCAJCQkJO9Cx0YPRhNC10YAyINC00LvRjyDQstGL0LLQvtC00LjQvNC+0Lkg0YHRgtGA0L7QutC4CmJ1ZjMgQllURSAi0JLQstC10LTQuNGC0LUg0YPQvNC10L3RjNGI0LDQtdC80L7QtSBYPSIsMCAJCQkJO9Cx0YPRhNC10YAzINC00LvRjyDQstGL0LLQvtC00LjQvNC+0Lkg0YHRgtGA0L7QutC4CmJ1ZjQgQllURSAi0KDQsNC30L3QvtGB0YLRjCBBPdClLVk9IiwwIAkJCQkJO9Cx0YPRhNC10YA0INC00LvRjyDQstGL0LLQvtC00LjQvNC+0Lkg0YHRgtGA0L7QutC4CmZvcm1hdCBkYiAiICVkIiwwIAkJCQkJCQk70YHRgtGA0L7QutCwINGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuCDRhNC+0YDQvNCw0YLQsApvdXRIYW5kbGUgIERXT1JEID8JCQkJCQkJO9GP0YfQtdC50LrQsCDQv9Cw0LzRj9GC0Lgg0LTQu9GPINGF0Y3QvdC00LvQsCDQstGL0LLQvtC00LAKaW5IYW5kbGUgIERXT1JEID8JCQkJCQkJCTvRj9GH0LXQudC60LAg0L/QsNC80Y/RgtC4INC00LvRjyDRhdGN0L3QtNC70LAg0LLQstC+0LTQsApuYW1iZXJXICAgIERXT1JEID8gCQkJCQkJCTvQutC+0LvQuNGH0LXRgdGC0LLQviDQstGL0LLQvtC00LjQvNGL0YUg0YHQuNC80LLQvtC70L7QsgpuYW1iZXJSICAgIERXT1JEID8gCQkJCQkJCTvQutC+0LvQuNGH0LXRgdGC0LLQviDQstCy0L7QtNC40LzRi9GFINGB0LjQvNCy0L7Qu9C+0LIKWCAgIFNEV09SRCA/IAkJCQkJCQkJO9GP0YfQtdC50LrQsCDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyDRh9C40YHQu9CwClkgICBTRFdPUkQgPyAJCQkJCQkJCTvRj9GH0LXQudC60LAg0LTQu9GPINGF0YDQsNC90LXQvdC40Y8g0YfQuNGB0LvQsAouY29kZSAJCQkJCQkJCQk70YHQtdCz0LzQtdC90YIg0LrQvtC00LAKc3RhcnQ6Cmludm9rZSBBbGxvY0NvbnNvbGUJCQkJCQkJO9C30LDQv9GA0LDRiNC40LLQsNC10Lwg0YMg0J7QoSBXaW5kb3dzINC60L7QvdGB0L7Qu9GMCjvQv9C10YDQtdC60L7QtNC40YDRg9C10LwgdGl0bGVTdHIg0LrQsNC6INC40YHRgtC+0YfQvdC40Log0Lgg0L/QvtC70YPRh9Cw0YLQtdC70Ywg0LjQtyBXaW4xMjUxIC0+IERPUwppbnZva2UgQ2hhclRvT2VtLCAJCQkJCQkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIENoYXJUb09lbQpBRERSIHRpdGxlU3RyLCAJCQkJCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCB0aXRsZVN0ciDQv9C+0LvRg9GH0LDRgtC10LvRjwpBRERSIHRpdGxlU3RyCQkJCQkJCQk7QUREUi0g0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgdGl0bGVTdHIg0LjRgdGC0L7Rh9C90LjQutCwCmludm9rZSBTZXRDb25zb2xlVGl0bGUsIAkJCQkJCTtpbnZva2UgLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4IEFQSSBTZXRDb25zb2xlVGl0bGUKQUREUiB0aXRsZVN0ciA7CQkJCQkJCQk7QUREUi0g0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgdGl0bGVTdHIKaW52b2tlIEdldFN0ZEhhbmRsZSwgCQkJCQkJCTtpbnZva2UgLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4IEFQSSBHZXRTdGRIYW5kbGUgClNURF9JTlBVVF9IQU5ETEUgCQkJCQkJCQk70L/QvtC70YPRh9Cw0LXQvCDRhdGN0L3QtNC7INCy0LLQvtC00LAKTU9WIGluSGFuZGxlLCBFQVgJCQkJCQkJCTvRgdC+0YXRgNCw0L3Rj9C1INGF0Y3QvdC00Lsg0LLRi9Cy0L7QtNCwINCyINGP0YfQtdC50LrQtSBpbkhhbmRsZQppbnZva2UgR2V0U3RkSGFuZGxlLCAJCQkJCQkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIEdldFN0ZEhhbmRsZSAKU1REX09VVFBVVF9IQU5ETEUgCQkJCQkJCTvQv9C+0LvRg9GH0LDQtdC8INGF0Y3QvdC00Lsg0LLRi9Cy0L7QtNCwCk1PViBvdXRIYW5kbGUsIEVBWAkJCQkJCQk70YHQvtGF0YDQsNC90Y/QtSDRhdGN0L3QtNC7INCy0YvQstC+0LTQsCDQsiDRj9GH0LXQudC60LUgb3V0SGFuZGxlCjvQv9C10YDQtdC60L7QtNC40YDRg9C10LwgYnVmMSDQutCw0Log0LjRgdGC0L7Rh9C90LjQuiDQuCDQv9C+0LvRg9GH0LDRgtC10LvRjCDQuNC3IFdpbjEyNTEgLT4gRE9TCmludm9rZSBDaGFyVG9PZW0sIAkJCQkJCQk7aW52b2tlIC0g0LLRi9C30L7QsiDRhNGD0L3QutGG0LjQuCBBUEkgQ2hhclRvT2VtCkFERFIgYnVmMSwgCQkJCQkJCQkJO0FERFItINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIGJ1ZjEg0L/QvtC70YPRh9Cw0YLQtdC70Y8KQUREUiBidWYxIAkJCQkJCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYxINC40YHRgtC+0YfQvdC40LrQsAo70L/QtdGA0LXQutC+0LTQuNGA0YPQtdC8IGJ1ZjIg0LrQsNC6INC40YHRgtC+0YfQvdC40Log0Lgg0L/QvtC70YPRh9Cw0YLQtdC70Ywg0LjQtyBXaW4xMjUxIC0+IERPUwppbnZva2UgQ2hhclRvT2VtLCAJCQkJCQkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIENoYXJUb09lbQpBRERSIGJ1ZjIsIAkJCQkJCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYyINC/0L7Qu9GD0YfQsNGC0LXQu9GPCkFERFIgYnVmMiAJCQkJCQkJCQk7QUREUi0g0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgYnVmMiDQuNGB0YLQvtGH0L3QuNC60LAKO9C/0LXRgNC10LrQvtC00LjRgNGD0LXQvCBidWYzINC60LDQuiDQuNGB0YLQvtGH0L3QuNC6INC4INC/0L7Qu9GD0YfQsNGC0LXQu9GMINC40LcgV2luMTI1MSAtPiBET1MKaW52b2tlIENoYXJUb09lbSwgCQkJCQkJCTtpbnZva2UgLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4IEFQSSBDaGFyVG9PZW0KQUREUiBidWYzLCAJCQkJCQkJCQk7QUREUi0g0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgYnVmMiDQv9C+0LvRg9GH0LDRgtC10LvRjwpBRERSIGJ1ZjMgCQkJCQkJCQkJO0FERFItINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIGJ1ZjIg0LjRgdGC0L7Rh9C90LjQutCwCjvQv9C10YDQtdC60L7QtNC40YDRg9C10LwgYnVmNCDQutCw0Log0LjRgdGC0L7Rh9C90LjQuiDQuCDQv9C+0LvRg9GH0LDRgtC10LvRjCDQuNC3IFdpbjEyNTEgLT4gRE9TCmludm9rZSBDaGFyVG9PZW0sICAgICAgICAgICAgIDtpbnZva2UgLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4IEFQSSBDaGFyVG9PZW0KQUREUiBidWY0LCAJCQkJO0FERFItINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIGJ1ZjQg0L/QvtC70YPRh9Cw0YLQtdC70Y8KQUREUiBidWY0IAkJCQk7QUREUi0g0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgYnVmNCDQuNGB0YLQvtGH0L3QuNC60LAKaW52b2tlIFdyaXRlQ29uc29sZUEsIAkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIFdyaXRlQ29uc29sZUEKb3V0SGFuZGxlLCAJCQkJO9GF0Y3QvdC00Lsg0LLRi9Cy0L7QtNCwCkFERFIgYnVmMSwgCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYxINGB0YLRgNC+0LrQuCDQstGL0LLQvtC00LAKU0laRU9GIGJ1ZjEsIAkJCTtTSVpFT0Yg0L3QsNGF0L7QtNC40Lwg0YDQsNC30LzQtdGAIGJ1ZjEKQUREUiBuYW1iZXJXLCAJCQk70Y/Rh9C10LnQutCwINC00LvRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDQstGL0LLQtdC00LXQvdC90YvRhSDRgdC40LzQstC+0LvQvtCyCk5VTEwgCQkJCQk70L3QtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8sINGD0LrQsNC30YvQstCw0LXQvCBOVUxMINC40LvQuCAiMCIKaW52b2tlIFdyaXRlQ29uc29sZUEsIAkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIFdyaXRlQ29uc29sZUEKb3V0SGFuZGxlLCAJCQkJO9GF0Y3QvdC00Lsg0LLRi9Cy0L7QtNCwCkFERFIgYnVmMiwgCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYyINGB0YLRgNC+0LrQuCDQstGL0LLQvtC00LAKU0laRU9GIGJ1ZjIsIAkJCTtTSVpFT0Yg0L3QsNGF0L7QtNC40Lwg0YDQsNC30LzQtdGAIGJ1ZjIKQUREUiBuYW1iZXJXLCAJCQk70L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgCk5VTEwgCQkJCQk70L3QtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8sINGD0LrQsNC30YvQstCw0LXQvCBOVUxMINC40LvQuCAiMCIKaW52b2tlIFJlYWRDb25zb2xlLCAJCTtpbnZva2UgLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4IEFQSSBSZWFkQ29uc29sZQppbkhhbmRsZSwJCQkJO9GF0Y3QvdC00Lsg0LLQstC+0LTQsApBRERSIGJ1ZiwJCQkJO0FERFIg4oCTINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIGJ1ZgpTSVpFT0YgYnVmLAkJCQk7U0laRU9GIOKAkyDQvtC/0YDQtdC00LXQu9C10L3QuNC1INGA0LDQt9C80LXRgNCwIGJ1ZiAKQUREUiBuYW1iZXJSLCAJCQk70L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgbmFtYmVyUgpOVUxMIAkJCQkJO9C90LUg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INCw0YDQs9GD0LzQtdC90YIKaW52b2tlIGNydF9hdG9pLCAJCQk7aW52b2tlIC0g0LLRi9C30L7QsiDRhNGD0L3QutGG0LjQuCBjcnRfYXRvaQphZGRyIGJ1ZiAJCQkJO0FERFIg4oCTINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIGJ1ZgpNT1YgWCxFQVggCQkJCTtYPUVBWCwg0LIgRUFYINGB0LjQvNCy0L7Qu9GLINCy0LLQtdC00LXQvdC90L7Qs9C+INGH0LjRgdC70LAKaW52b2tlIFdyaXRlQ29uc29sZUEsIAkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIFdyaXRlQ29uc29sZUEKb3V0SGFuZGxlLCAJCQkJO9GF0Y3QvdC00Lsg0LLRi9Cy0L7QtNCwCkFERFIgYnVmMywgCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYyINGB0YLRgNC+0LrQuCDQstGL0LLQvtC00LAKU0laRU9GIGJ1ZjMsIAkJCTtTSVpFT0Yg0L3QsNGF0L7QtNC40Lwg0YDQsNC30LzQtdGAIGJ1ZjIKQUREUiBuYW1iZXJXLCAJCQk70L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgCk5VTEwgCQkJCQk70L3QtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8sINGD0LrQsNC30YvQstCw0LXQvCBOVUxMINC40LvQuCAiMCIKaW52b2tlIFJlYWRDb25zb2xlLAkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIFJlYWRDb25zb2xlCmluSGFuZGxlLAkJCQk70YXRjdC90LTQuyDQstCy0L7QtNCwCkFERFIgYnVmLAkJCQk70L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgYnVmClNJWkVPRiBidWYsCQkJCTvQvtC/0YDQtdC00LXQu9C10L3QuNC1INGA0LDQt9C80LXRgNCwIGJ1ZiAKQUREUiBuYW1iZXJSLCAJCQk70L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgbmFtYmVyUgpOVUxMIAkJCQkJO9C90LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPLCDRg9C60LDQt9GL0LLQsNC10LwgTlVMTCDQuNC70LggIjAiCmludm9rZSBjcnRfYXRvaSwgCQkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggY3J0X2F0b2kKYWRkciBidWYgCQkJCTtBRERSIOKAkyDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYKCQkJCTtZPUVBWCwg0LIgRUFYINGB0LjQvNCy0L7Qu9GLINCy0LLQtdC00LXQvdC90L7Qs9C+INGH0LjRgdC70LAKU1VCIEVBWCxYCQkJCTtFQVg9RUFYLVgKaW52b2tlIHdzcHJpbnRmLCAJCQk7aW52b2tlIC0g0LLRi9C30L7QsiDRhNGD0L3QutGG0LjQuCBjcnRfYXRvaQpBRERSIGJ1ZiwgCQkJCTtBRERSIOKAkyDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWYKQUREUiBmb3JtYXQsIAkJCTtBRERSIOKAkyDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBmb3JtYXQKRUFYIAkJCQkJO9C/0YDQtdC+0LHRgNCw0LfRg9C10LzQvtC1INC30L3QsNGH0LXQvdC40LUKaW52b2tlIFdyaXRlQ29uc29sZUEsIAkJO2ludm9rZSAtINCy0YvQt9C+0LIg0YTRg9C90LrRhtC40LggQVBJIFdyaXRlQ29uc29sZUEKb3V0SGFuZGxlLCAJCQkJO9GF0Y3QvdC00Lsg0LLRi9Cy0L7QtNCwCkFERFIgYnVmNCwgCQkJCTtBRERSLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBidWY0INGB0YLRgNC+0LrQuCDQstGL0LLQvtC00LAKU0laRU9GIGJ1ZjQsIAkJCTtTSVpFT0Yg4oCTINC90LDRhdC+0LTQuNC8INGA0LDQt9C80LXRgCBidWY0CkFERFIgbmFtYmVyVywgCQkJO0FERFIg4oCTINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIG5hbWJlclcKTlVMTCAJCQkJCTvQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjywg0YPQutCw0LfRi9Cy0LDQtdC8IE5VTEwg0LjQu9C4ICIwIgppbnZva2UgV3JpdGVDb25zb2xlQSwgCQk7aW52b2tlIC0g0LLRi9C30L7QsiDRhNGD0L3QutGG0LjQuCBBUEkgV3JpdGVDb25zb2xlQQpvdXRIYW5kbGUsIAkJCQk70YXRjdC90LTQuyDQstGL0LLQvtC00LAKQUREUiBidWYsIAkJCQk7QUREUi0g0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNC00YDQtdGB0LAgYnVmINGB0YLRgNC+0LrQuCDQstGL0LLQvtC00LAKU0laRU9GIGJ1ZiwgCQkJO1NJWkVPRiDQvdCw0YXQvtC00LjQvCDRgNCw0LfQvNC10YAgYnVmCkFERFIgbmFtYmVyVywgCQkJO0FERFIg4oCTINC+0L/RgNC10LTQtdC70LXQvdC40LUg0LDQtNGA0LXRgdCwIG5hbWJlclcKTlVMTCAJCQkJCTvQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjywg0YPQutCw0LfRi9Cy0LDQtdC8IE5VTEwg0LjQu9C4ICIwIgo70YfRgtC+0LHRiyDQutC+0L3RgdC+0LvRjCDQvdC1INC30LDQutGA0YvQu9Cw0YHRjCwg0LLRi9C30YvQstCw0LXQvCBNZXNzYWdlQm94Cmludm9rZSBNZXNzYWdlQm94LCAwLCAJCTtpbnZva2UgLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4IEFQSSBNZXNzYWdlQm94CkFERFIgTXNnQm94VGV4dCwgCQkJO0FERFIgLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBNc2dCb3hUZXh0CkFERFIgTXNnQm94VGl0bGUsIAkJO0FERFIgLSDQvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCBNc2dCb3hUaXRsZQpNQl9PSyAgCQkJCTvQutC90L7Qv9C60LAgIk9LIgppbnZva2UgRXhpdFByb2Nlc3MsIDAgCQk7aW52b2tlLSDQstGL0LfQvtCyINGE0YPQvdC60YbQuNC4INC30LDQstC10YDRiNC10L3QuNGPINC/0YDQvtGG0LXRgdGB0LAKZW5kIHN0YXJ0Cg==
Main.java:1: error: class, interface, or enum expected
.486 ;???????????? ????? ?????? i80486
^
Main.java:1: error: class, interface, or enum expected
.486 ;???????????? ????? ?????? i80486
^
Main.java:2: error: class, interface, or enum expected
.model flat, stdcall ;???????????? ?????? ?????? FLAT
^
Main.java:4: error: illegal character: '\'
include \masm32\include\windows.inc
^
Main.java:4: error: illegal character: '\'
include \masm32\include\windows.inc
^
Main.java:4: error: illegal character: '\'
include \masm32\include\windows.inc
^
Main.java:5: error: illegal character: '\'
include \masm32\include\user32.inc
^
Main.java:5: error: illegal character: '\'
include \masm32\include\user32.inc
^
Main.java:5: error: illegal unicode escape
include \masm32\include\user32.inc
^
Main.java:6: error: illegal character: '\'
include \masm32\include\kernel32.inc
^
Main.java:6: error: illegal character: '\'
include \masm32\include\kernel32.inc
^
Main.java:6: error: illegal character: '\'
include \masm32\include\kernel32.inc
^
Main.java:7: error: illegal character: '\'
include \masm32\include\msvcrt.inc ;??? crt_atoi
^
Main.java:7: error: illegal character: '\'
include \masm32\include\msvcrt.inc ;??? crt_atoi
^
Main.java:7: error: illegal character: '\'
include \masm32\include\msvcrt.inc ;??? crt_atoi
^
Main.java:7: error: class, interface, or enum expected
include \masm32\include\msvcrt.inc ;??? crt_atoi
^
Main.java:8: error: illegal character: '\'
includelib \masm32\lib\user32.lib
^
Main.java:8: error: illegal character: '\'
includelib \masm32\lib\user32.lib
^
Main.java:8: error: illegal unicode escape
includelib \masm32\lib\user32.lib
^
Main.java:9: error: illegal character: '\'
includelib \masm32\lib\kernel32.lib
^
Main.java:9: error: illegal character: '\'
includelib \masm32\lib\kernel32.lib
^
Main.java:9: error: illegal character: '\'
includelib \masm32\lib\kernel32.lib
^
Main.java:10: error: illegal character: '\'
includelib \masm32\lib\msvcrt.lib ;??? crt_atoi
^
Main.java:10: error: illegal character: '\'
includelib \masm32\lib\msvcrt.lib ;??? crt_atoi
^
Main.java:10: error: illegal character: '\'
includelib \masm32\lib\msvcrt.lib ;??? crt_atoi
^
Main.java:10: error: class, interface, or enum expected
includelib \masm32\lib\msvcrt.lib ;??? crt_atoi
^
Main.java:11: error: class, interface, or enum expected
.data ;??????? ??????
^
Main.java:12: error: class, interface, or enum expected
titleStr BYTE "?????? ????? ? ?????? ??????",0 ;????????? ???????
^
Main.java:13: error: class, interface, or enum expected
MsgBoxTitle BYTE "????????? MessageBox",0 ;?????? ?????????
^
Main.java:14: error: class, interface, or enum expected
MsgBoxText BYTE "??????? ????????? ??????",0 ;?????? ??????
^
Main.java:15: error: class, interface, or enum expected
buf DWORD 30 dup(?) ;????? ??? ?????, ???????? ? ??????????
^
Main.java:17: error: class, interface, or enum expected
0,0Ah,0Dh ;?????1 ??? ????????? ?????? + ??????? ??????
^
Main.java:18: error: class, interface, or enum expected
buf2 BYTE "???? ????????",0 ;?????2 ??? ????????? ??????
^
Main.java:19: error: class, interface, or enum expected
buf3 BYTE "??????? ??????????? X=",0 ;?????3 ??? ????????? ??????
^
Main.java:20: error: class, interface, or enum expected
buf4 BYTE "???????? A=?-Y=",0 ;?????4 ??? ????????? ??????
^
Main.java:21: error: class, interface, or enum expected
format db " %d",0 ;?????? ???????????? ???????
^
Main.java:22: error: class, interface, or enum expected
outHandle DWORD ? ;?????? ?????? ??? ?????? ??????
^
Main.java:23: error: class, interface, or enum expected
inHandle DWORD ? ;?????? ?????? ??? ?????? ?????
^
Main.java:24: error: class, interface, or enum expected
namberW DWORD ? ;?????????? ????????? ????????
^
Main.java:25: error: class, interface, or enum expected
namberR DWORD ? ;?????????? ???????? ????????
^
Main.java:26: error: class, interface, or enum expected
X SDWORD ? ;?????? ??? ???????? ?????
^
Main.java:27: error: class, interface, or enum expected
Y SDWORD ? ;?????? ??? ???????? ?????
^
Main.java:28: error: class, interface, or enum expected
.code ;??????? ????
^
Main.java:30: error: class, interface, or enum expected
invoke AllocConsole ;??????????? ? ?? Windows ???????
^
Main.java:31: error: class, interface, or enum expected
;???????????? titleStr ??? ???????? ? ?????????? ?? Win1251 -> DOS
^
Main.java:32: error: class, interface, or enum expected
invoke CharToOem, ;invoke - ????? ??????? API CharToOem
^
Main.java:33: error: class, interface, or enum expected
ADDR titleStr, ;ADDR- ??????????? ?????? titleStr ??????????
^
Main.java:34: error: class, interface, or enum expected
ADDR titleStr ;ADDR- ??????????? ?????? titleStr ?????????
^
Main.java:35: error: class, interface, or enum expected
invoke SetConsoleTitle, ;invoke - ????? ??????? API SetConsoleTitle
^
Main.java:36: error: class, interface, or enum expected
ADDR titleStr ; ;ADDR- ??????????? ?????? titleStr
^
Main.java:37: error: class, interface, or enum expected
invoke GetStdHandle, ;invoke - ????? ??????? API GetStdHandle
^
Main.java:38: error: class, interface, or enum expected
STD_INPUT_HANDLE ;???????? ????? ?????
^
Main.java:39: error: class, interface, or enum expected
MOV inHandle, EAX ;???????? ????? ?????? ? ?????? inHandle
^
Main.java:40: error: class, interface, or enum expected
invoke GetStdHandle, ;invoke - ????? ??????? API GetStdHandle
^
Main.java:41: error: class, interface, or enum expected
STD_OUTPUT_HANDLE ;???????? ????? ??????
^
Main.java:42: error: class, interface, or enum expected
MOV outHandle, EAX ;???????? ????? ?????? ? ?????? outHandle
^
Main.java:43: error: class, interface, or enum expected
;???????????? buf1 ??? ???????? ? ?????????? ?? Win1251 -> DOS
^
Main.java:44: error: class, interface, or enum expected
invoke CharToOem, ;invoke - ????? ??????? API CharToOem
^
Main.java:45: error: class, interface, or enum expected
ADDR buf1, ;ADDR- ??????????? ?????? buf1 ??????????
^
Main.java:46: error: class, interface, or enum expected
ADDR buf1 ;ADDR- ??????????? ?????? buf1 ?????????
^
Main.java:47: error: class, interface, or enum expected
;???????????? buf2 ??? ???????? ? ?????????? ?? Win1251 -> DOS
^
Main.java:48: error: class, interface, or enum expected
invoke CharToOem, ;invoke - ????? ??????? API CharToOem
^
Main.java:49: error: class, interface, or enum expected
ADDR buf2, ;ADDR- ??????????? ?????? buf2 ??????????
^
Main.java:50: error: class, interface, or enum expected
ADDR buf2 ;ADDR- ??????????? ?????? buf2 ?????????
^
Main.java:51: error: class, interface, or enum expected
;???????????? buf3 ??? ???????? ? ?????????? ?? Win1251 -> DOS
^
Main.java:52: error: class, interface, or enum expected
invoke CharToOem, ;invoke - ????? ??????? API CharToOem
^
Main.java:53: error: class, interface, or enum expected
ADDR buf3, ;ADDR- ??????????? ?????? buf2 ??????????
^
Main.java:54: error: class, interface, or enum expected
ADDR buf3 ;ADDR- ??????????? ?????? buf2 ?????????
^
Main.java:55: error: class, interface, or enum expected
;???????????? buf4 ??? ???????? ? ?????????? ?? Win1251 -> DOS
^
Main.java:56: error: class, interface, or enum expected
invoke CharToOem, ;invoke - ????? ??????? API CharToOem
^
Main.java:57: error: class, interface, or enum expected
ADDR buf4, ;ADDR- ??????????? ?????? buf4 ??????????
^
Main.java:58: error: class, interface, or enum expected
ADDR buf4 ;ADDR- ??????????? ?????? buf4 ?????????
^
Main.java:59: error: class, interface, or enum expected
invoke WriteConsoleA, ;invoke - ????? ??????? API WriteConsoleA
^
Main.java:60: error: class, interface, or enum expected
outHandle, ;????? ??????
^
Main.java:61: error: class, interface, or enum expected
ADDR buf1, ;ADDR- ??????????? ?????? buf1 ?????? ??????
^
Main.java:62: error: class, interface, or enum expected
SIZEOF buf1, ;SIZEOF ??????? ?????? buf1
^
Main.java:63: error: class, interface, or enum expected
ADDR namberW, ;?????? ??? ?????????? ?????????? ????????
^
Main.java:64: error: class, interface, or enum expected
NULL ;?? ????????????, ????????? NULL ??? "0"
^
Main.java:65: error: class, interface, or enum expected
invoke WriteConsoleA, ;invoke - ????? ??????? API WriteConsoleA
^
Main.java:66: error: class, interface, or enum expected
outHandle, ;????? ??????
^
Main.java:67: error: class, interface, or enum expected
ADDR buf2, ;ADDR- ??????????? ?????? buf2 ?????? ??????
^
Main.java:68: error: class, interface, or enum expected
SIZEOF buf2, ;SIZEOF ??????? ?????? buf2
^
Main.java:69: error: class, interface, or enum expected
ADDR namberW, ;??????????? ??????
^
Main.java:70: error: class, interface, or enum expected
NULL ;?? ????????????, ????????? NULL ??? "0"
^
Main.java:71: error: class, interface, or enum expected
invoke ReadConsole, ;invoke - ????? ??????? API ReadConsole
^
Main.java:72: error: class, interface, or enum expected
inHandle, ;????? ?????
^
Main.java:73: error: illegal character: '\u2013'
ADDR buf, ;ADDR ? ??????????? ?????? buf
^
Main.java:74: error: illegal character: '\u2013'
SIZEOF buf, ;SIZEOF ? ??????????? ??????? buf
^
Main.java:75: error: class, interface, or enum expected
ADDR namberR, ;??????????? ?????? namberR
^
Main.java:76: error: class, interface, or enum expected
NULL ;?? ???????????? ????????
^
Main.java:77: error: class, interface, or enum expected
invoke crt_atoi, ;invoke - ????? ??????? crt_atoi
^
Main.java:78: error: illegal character: '\u2013'
addr buf ;ADDR ? ??????????? ?????? buf
^
Main.java:79: error: class, interface, or enum expected
MOV X,EAX ;X=EAX, ? EAX ??????? ?????????? ?????
^
Main.java:80: error: class, interface, or enum expected
invoke WriteConsoleA, ;invoke - ????? ??????? API WriteConsoleA
^
Main.java:81: error: class, interface, or enum expected
outHandle, ;????? ??????
^
Main.java:82: error: class, interface, or enum expected
ADDR buf3, ;ADDR- ??????????? ?????? buf2 ?????? ??????
^
Main.java:83: error: class, interface, or enum expected
SIZEOF buf3, ;SIZEOF ??????? ?????? buf2
^
Main.java:84: error: class, interface, or enum expected
ADDR namberW, ;??????????? ??????
^
Main.java:85: error: class, interface, or enum expected
NULL ;?? ????????????, ????????? NULL ??? "0"
^
Main.java:86: error: class, interface, or enum expected
invoke ReadConsole, ;invoke - ????? ??????? API ReadConsole
^
100 errors