- 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è:
Questo è l'output:
Perché succede ciò?
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
Perché succede ciò?