fork download
  1. .486 ;используется набор команд i80486
  2. .model flat, stdcall ;используемая модель памяти FLAT
  3. option casemap: none
  4. include \masm32\include\windows.inc
  5. include \masm32\include\user32.inc
  6. include \masm32\include\kernel32.inc
  7. include \masm32\include\msvcrt.inc ;для crt_atoi
  8. includelib \masm32\lib\user32.lib
  9. includelib \masm32\lib\kernel32.lib
  10. includelib \masm32\lib\msvcrt.lib ;для crt_atoi
  11. .data ;сегмент данных
  12. titleStr BYTE "Пример ввода и вывода данных",0 ;заголовок консоли
  13. MsgBoxTitle BYTE "Заголовок MessageBox",0 ;строка заголовка
  14. MsgBoxText BYTE "Консоль завершила работу",0 ;строка вывода
  15. buf DWORD 30 dup(?) ;буфер для чисел, вводимых с клавиатуры
  16. buf1 BYTE "Введите фамилию",
  17. 0,0Ah,0Dh ;буфер1 для выводимой строки + перевод строки
  18. buf2 BYTE "Дату рождения",0 ;буфер2 для выводимой строки
  19. buf3 BYTE "Введите уменьшаемое X=",0 ;буфер3 для выводимой строки
  20. buf4 BYTE "Разность A=Х-Y=",0 ;буфер4 для выводимой строки
  21. format db " %d",0 ;строка спецификации формата
  22. outHandle DWORD ? ;ячейка памяти для хэндла вывода
  23. inHandle DWORD ? ;ячейка памяти для хэндла ввода
  24. namberW DWORD ? ;количество выводимых символов
  25. namberR DWORD ? ;количество вводимых символов
  26. X SDWORD ? ;ячейка для хранения числа
  27. Y SDWORD ? ;ячейка для хранения числа
  28. .code ;сегмент кода
  29. start:
  30. invoke AllocConsole ;запрашиваем у ОС Windows консоль
  31. ;перекодируем titleStr как источник и получатель из Win1251 -> DOS
  32. invoke CharToOem, ;invoke - вызов функции API CharToOem
  33. ADDR titleStr, ;ADDR- определение адреса titleStr получателя
  34. ADDR titleStr ;ADDR- определение адреса titleStr источника
  35. invoke SetConsoleTitle, ;invoke - вызов функции API SetConsoleTitle
  36. ADDR titleStr ; ;ADDR- определение адреса titleStr
  37. invoke GetStdHandle, ;invoke - вызов функции API GetStdHandle
  38. STD_INPUT_HANDLE ;получаем хэндл ввода
  39. MOV inHandle, EAX ;сохраняе хэндл вывода в ячейке inHandle
  40. invoke GetStdHandle, ;invoke - вызов функции API GetStdHandle
  41. STD_OUTPUT_HANDLE ;получаем хэндл вывода
  42. MOV outHandle, EAX ;сохраняе хэндл вывода в ячейке outHandle
  43. ;перекодируем buf1 как источник и получатель из Win1251 -> DOS
  44. invoke CharToOem, ;invoke - вызов функции API CharToOem
  45. ADDR buf1, ;ADDR- определение адреса buf1 получателя
  46. ADDR buf1 ;ADDR- определение адреса buf1 источника
  47. ;перекодируем buf2 как источник и получатель из Win1251 -> DOS
  48. invoke CharToOem, ;invoke - вызов функции API CharToOem
  49. ADDR buf2, ;ADDR- определение адреса buf2 получателя
  50. ADDR buf2 ;ADDR- определение адреса buf2 источника
  51. ;перекодируем buf3 как источник и получатель из Win1251 -> DOS
  52. invoke CharToOem, ;invoke - вызов функции API CharToOem
  53. ADDR buf3, ;ADDR- определение адреса buf2 получателя
  54. ADDR buf3 ;ADDR- определение адреса buf2 источника
  55. ;перекодируем buf4 как источник и получатель из Win1251 -> DOS
  56. invoke CharToOem, ;invoke - вызов функции API CharToOem
  57. ADDR buf4, ;ADDR- определение адреса buf4 получателя
  58. ADDR buf4 ;ADDR- определение адреса buf4 источника
  59. invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
  60. outHandle, ;хэндл вывода
  61. ADDR buf1, ;ADDR- определение адреса buf1 строки вывода
  62. SIZEOF buf1, ;SIZEOF находим размер buf1
  63. ADDR namberW, ;ячейка для количества выведенных символов
  64. NULL ;не используется, указываем NULL или "0"
  65. invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
  66. outHandle, ;хэндл вывода
  67. ADDR buf2, ;ADDR- определение адреса buf2 строки вывода
  68. SIZEOF buf2, ;SIZEOF находим размер buf2
  69. ADDR namberW, ;определение адреса
  70. NULL ;не используется, указываем NULL или "0"
  71. invoke ReadConsole, ;invoke - вызов функции API ReadConsole
  72. inHandle, ;хэндл ввода
  73. ADDR buf, ;ADDR – определение адреса buf
  74. SIZEOF buf, ;SIZEOF – определение размера buf
  75. ADDR namberR, ;определение адреса namberR
  76. NULL ;не используемый аргумент
  77. invoke crt_atoi, ;invoke - вызов функции crt_atoi
  78. addr buf ;ADDR – определение адреса buf
  79. MOV X,EAX ;X=EAX, в EAX символы введенного числа
  80. invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
  81. outHandle, ;хэндл вывода
  82. ADDR buf3, ;ADDR- определение адреса buf2 строки вывода
  83. SIZEOF buf3, ;SIZEOF находим размер buf2
  84. ADDR namberW, ;определение адреса
  85. NULL ;не используется, указываем NULL или "0"
  86. invoke ReadConsole, ;invoke - вызов функции API ReadConsole
  87. inHandle, ;хэндл ввода
  88. ADDR buf, ;определение адреса buf
  89. SIZEOF buf, ;определение размера buf
  90. ADDR namberR, ;определение адреса namberR
  91. NULL ;не используется, указываем NULL или "0"
  92. invoke crt_atoi, ;invoke - вызов функции crt_atoi
  93. addr buf ;ADDR – определение адреса buf
  94. ;Y=EAX, в EAX символы введенного числа
  95. SUB EAX,X ;EAX=EAX-X
  96. invoke wsprintf, ;invoke - вызов функции crt_atoi
  97. ADDR buf, ;ADDR – определение адреса buf
  98. ADDR format, ;ADDR – определение адреса format
  99. EAX ;преобразуемое значение
  100. invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
  101. outHandle, ;хэндл вывода
  102. ADDR buf4, ;ADDR- определение адреса buf4 строки вывода
  103. SIZEOF buf4, ;SIZEOF – находим размер buf4
  104. ADDR namberW, ;ADDR – определение адреса namberW
  105. NULL ;не используется, указываем NULL или "0"
  106. invoke WriteConsoleA, ;invoke - вызов функции API WriteConsoleA
  107. outHandle, ;хэндл вывода
  108. ADDR buf, ;ADDR- определение адреса buf строки вывода
  109. SIZEOF buf, ;SIZEOF находим размер buf
  110. ADDR namberW, ;ADDR – определение адреса namberW
  111. NULL ;не используется, указываем NULL или "0"
  112. ;чтобы консоль не закрылась, вызываем MessageBox
  113. invoke MessageBox, 0, ;invoke - вызов функции API MessageBox
  114. ADDR MsgBoxText, ;ADDR - определение адреса MsgBoxText
  115. ADDR MsgBoxTitle, ;ADDR - определение адреса MsgBoxTitle
  116. MB_OK ;кнопка "OK"
  117. invoke ExitProcess, 0 ;invoke- вызов функции завершения процесса
  118. end start
  119.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
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
stdout
Standard output is empty