Все про Assembler українською мовою на сайті net.kr.ua

 

:: Меню ::

Головна
Введення
Архітектура реального режиму
Основи програмування
Команди і алгоритми
Розширені можливості сучасних мікропроцесорів
Система команд процесорів Intel
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

 
 

:: Лічильники ::

=

 

 

 

 

fff00e50

Файл асемблера закриває консоль рано.

максим гаврилів
Файл асемблера закриває консоль рано.
Зробив програму в masm32, мало того, що з негативними дивно працює, при введенні позитивних чекає пару секунд після виведення і закривається. Намагався використати sleep, readconsole, не допомагає. код. masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib .data inpu db 1024 dup(?) utput db ? titl db 'wind',0 stdin dd ? stdout dd? str1 db "In:",0 str2 db "Out:",0 nWrite dd ? nRead dd? num dw 0 znak db ' ' .code start: invoke AllocConsole invoke SetConsoleTitle, offset titl; invoke GetStdHandle,-11 mov stdout, eax invoke WriteConsole,stdout,addr str1,sizeof str1,addr nWrite,0 invoke GetStdHandle, -10 mov stdin, eax invoke ReadConsole,stdin,AD 10 lea esi, inpu xor eax,eax mov ecx, 2 mov dl, [esi] cmp dl, '-' jne perevod1 ;div bl mov [znak],'-' inc esi dec ecx perevod1: mul bx add al, [ esi] sub ax, '0' inc esi inc ecx cmp ecx, [nRead] jne perevod1 mov bx,2 lea edi, utput mov ecx, 0 perevod2: xor edx,edx div bx add dl, '0' push edx inc cx cmp eax, 0 jz enp jmp perevod2 enp: mov [num], cx inc [num] mov dl, [znak] mov [edi],dl bbir: inc edi pop edx mov [edi], dl dec cx cmp cx, 0 jne bbir xor edx,edx invoke WriteConsole,stdout,addr str2,sizeof str2,addr nWrite,0 invoke WriteConsole,stdout,addr utput,[num],addr nWrite,0 invoke Sleep,50000 ; 16,ADDR nRead,NULL invoke ExitProcess, 0 end start ExitProcess трохи затримує



Відповіді:





:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Популярне ::

-


:: Посилання ::

-


 

 

 


Copyright © net.kr.ua, 2019-2025 (assem.us)