Другие языки программирования и технологии

Ассемблер. помогите решить!!!

задать целое число в регистре. написать программу на ассемблере, которая претворит данное число в текстовую строчку (в 10чной системе) и выведет его на терминал. число должно быть целое, 4 байта без знака.

пожалуйста, как можно подробнее! любые ссылки на информацию приветствуются! я в ассемблере 0, но лаба на завтра!
Om
Omad
1 982
> 64бит система
Хорошо, что вы сообщили разрядность вашей системы. Но забыли сообщить какая система. Обычно наоборот, забывают указать разрядность.
Windows, Linux, MacOS или ещё какая-нибудь экзотическая?

format PE64
entry N80870761
include 'win64ax.inc'

section '.data' data readable writeable
  hStdOut rd 1
  String rb 11

section '.text' code readable executable
N80870761:
    sub rsp,8*6
    mov ecx,STD_OUTPUT_HANDLE
    call [GetStdHandle]
    mov [hStdOut],eax

    mov eax,499602D2h; целое число, 4 байта без знака

    xor rcx,rcx
    mov r8d,10
RepDiv:
    xor rdx,rdx
    div r8d
    or dl,30h
    push rdx
    inc rcx
    or eax,eax
    jnz RepDiv
    lea rdi,[String]
RepStor:
    pop rax
    stosb
    loop RepStor
    xor al,al
    stosb
    mov rcx,String
    call [lstrlenA]
    mov ecx,[hStdOut]
    mov rdx,String
    mov r8,rax
    xor r9,r9
    mov [rsp+20h],r9
    call [WriteConsoleA]
    xor ecx,ecx
    call [ExitProcess]

section '.idata' import data readable writeable

  dd 0,0,0,RVA kernel_name,RVA kernel_table
  dd 0,0,0,0,0

  kernel_table:
    ExitProcess dq RVA _ExitProcess
    GetStdHandle dq RVA _GetStdHandle
    lstrlenA dq RVA _lstrlenA
    WriteConsoleA dq RVA _WriteConsoleA
    dq 0

  kernel_name db 'KERNEL32.DLL',0

  _ExitProcess db 0,0,'ExitProcess',0
  _GetStdHandle db 0,0,'GetStdHandle',0
  _lstrlenA db 0,0,'lstrlenA',0
  _WriteConsoleA db 0,0,'WriteConsoleA',0
Алихан Ахаев
Алихан Ахаев
51 590
Лучший ответ