• «Hello World» на машинном коде?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как запустить такую программу?

    Сохранить в файл с расширением .com, запустить в DosBox

    Сохраняю в формате .com, пыталась запустить в DosBox - виснет

    Сделал то же самое,
    работает.
    58e1b24bb3ee46a390e305568c9d2a18.png
    Ответ написан
    Комментировать
  • «Hello World» на машинном коде?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Может не поддерживается 16 код...
    CODE
    seg000:0100 ; Base Address: 1000h Range: 10100h-1011Fh Loaded length: 1Fh
    seg000:0100
    seg000:0100                 .686p
    seg000:0100                 .mmx
    seg000:0100                 .model tiny
    seg000:0100
    seg000:0100 ; ===========================================================================
    seg000:0100
    seg000:0100 ; Segment type: Pure code
    seg000:0100 seg000          segment byte public 'CODE' use16
    seg000:0100                 assume cs:seg000
    seg000:0100                 org 100h
    seg000:0100                 assume es:nothing, ss:nothing, ds:seg000, fs:nothing, gs:nothing
    seg000:0100
    seg000:0100 ; =============== S U B R O U T I N E =======================================
    seg000:0100
    seg000:0100 ; Attributes: noreturn
    seg000:0100
    seg000:0100                 public start
    seg000:0100 start           proc near
    seg000:0100                 mov     bx, 111h
    seg000:0103                 mov     cx, 0Dh
    seg000:0106                 mov     ah, 0Eh
    seg000:0108
    seg000:0108 loc_10108:                              ; CODE XREF: start+Dj
    seg000:0108                 mov     al, [bx]
    seg000:010A                 inc     bx
    seg000:010B                 int     10h             ; - VIDEO - WRITE CHARACTER AND ADVANCE CURSOR (TTY WRITE)
    seg000:010B                                         ; AL = character, BH = display page (alpha modes)
    seg000:010B                                         ; BL = foreground color (graphics modes)
    seg000:010D                 loop    loc_10108
    seg000:010F                 int     20h             ; DOS - PROGRAM TERMINATION
    seg000:010F start           endp                    ; returns to DOS--identical to INT 21/AH=00h
    seg000:010F
    seg000:010F ; ---------------------------------------------------------------------------
    seg000:0111 aHelloWorld     db 'Hello, World!',0
    seg000:0111 seg000          ends
    seg000:0111
    seg000:0111
    seg000:0111                 end start
    Ответ написан
    Комментировать