RISOLTO Strano Output

Matteo34

Nuovo Utente
104
3
CPU
i5-10500 3.2Ghz
Dissipatore
Non specificato
Scheda Madre
Non specificata
HDD
M.2 251GB e M.2 500GB
RAM
16GB DDR4 2666mhz
GPU
Grafica Intel® UHD 630
Audio
Non specificata
Monitor
1920x1080 27"
PSU
Non specificato
Case
Non specificato
Periferiche
Nono specificato
Net
Eolo
OS
Ubuntu
Ho scritto il seguente programma in Assembly con assemblatore MASM su sistema operativo MS-DOS, quindi ho usato i servizi di sistema di quest'ultimo, il problema e che mi stampa una stringa errata e non capisco il perchè:
Codice:
stack SEGMENT PARA STACK

         db      "S"

stack ENDS

data SEGMENT PARA PUBLIC

        msg     db      "Hello World$"

data ENDS

code SEGMENT PARA PUBLIC
        ASSUME cs: code, ds: data, ss: stack
_start:
        ;write syscall
        mov     ah, 09h
        mov     dx, OFFSET msg 
        int 21h

        ;return the control at MS-DOS
        mov     al, 1
        mov     ah, 04ch
        int 21h

code ENDS
        END _start
Questo è l'output:
CIsta.png
Perché succede ciò?
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,208
1,845
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Perchè ti sei perso questo:

Codice:
        mov     ax, data
        mov     ds, ax

è il discorso che abbiamo fatto nell'altro topic.
 
  • Mi piace
Reazioni: Mursey

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!