Red de conocimiento informático - Conocimiento sistemático - Cómo definir el segmento de pila y el segmento de datos en lenguaje ensamblador

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