Cómo definir el segmento de pila y el segmento de datos en lenguaje ensamblador
supongamos cs: código, ss: pila, ds: descripción del segmento de datos, el código autodefinido corresponde al segmento de código, la pila corresponde al segmento de pila y los datos corresponden al segmento de datos
p>segmento de pila pila; Definición de segmento de pila
byte 64 dup(0)
finales de pila
segmento de datos Definición de segmento de datos<; /p>
msg byte '¡hola mundo!$'
los datos terminan
segmento de código
inicio:
mov ax, datos
mov ds, ax
mov dx, mensaje de desplazamiento
mov ah, 9
int 21h
mov ax, 4c00h
int 21h
el código termina
finaliza el inicio
==== ======== =Lo anterior es una definición común==============
Masm 5.0 también admitirá definiciones simplificadas como .data son los datos segment.code representa el segmento de código, el formato es el siguiente:
.model small
.stack 200h; Definir tamaño del segmento de pila
.data; segmento de datos
szMsg db 'Hello World', 13, 10, '$'
.CODE; Definición de segmento de código
INICIO:
mov ax, @data
mov ds, ax
mov es, ax
mov si, 0
mov es: [bx 1 si], ah
lea dx, szMsg
mov ah, 9
int 21h
; cualquier tecla para cerrar
mov ah, 1
int 21h
mov ah, 4ch end, puedes modificar al para configurar el código de retorno
int 21h
FIN INICIO