К коду добавить вывод в консоль - Assembler

Узнай цену своей работы

Формулировка задачи:

Нужно вывести массив в консоль. Как ни пытался, то 0 выводит, то ошибки
.586
.model flat,stdcall
option casemap:none
 
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib masm32.lib
includelib kernel32.lib
 
.data
        db  'Begin Of Data',0
arr     db  1,2,6,-2,3,7,6,-8,9,0
        db  'End Of Data',0
.code
_start:
    lea esi,arr ;max chet
    lea edi,arr ;max nechet
    lea ebx,arr
    mov ecx,10
lp: mov al,[ebx]
    test al,1
    jz chet
    cmp al,[edi]
    jng m1
    mov edi,ebx
    jmp m1
chet:
    cmp al,[esi]
    jng m1
    mov esi,ebx
m1: inc ebx
    loop lp
    mov al,[esi]
    xchg al,[edi]
    mov [esi],al
 
    invoke ExitProcess,0    ;выход
 
end _start
end

Решение задачи: «К коду добавить вывод в консоль»

textual
Листинг программы
{$APPTYPE CONSOLE}
uses
  Windows;
var
  fmt:    array[0..33] of AnsiChar='%i,%i,%i,%i,%i,%i,%i,%i,%i,%i';
  arr:    array[0..9] of integer=(1,2,6,-2,3,7,6,-8,9,0);
  Buffer: array[0..255] of AnsiChar;
begin
  WriteConsoleA(GetStdHandle(STD_OUTPUT_HANDLE),@Buffer,wvsprintfA(@Buffer,@fmt,@Arr),PCardinal(0)^,0);
  while true do;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5