[Principio del microordenador] Cinco minutos basados en cero para enseñarle a comprender el cálculo de asignación de memoria DUP

Este artículo utiliza tres preguntas de muestra que le llevarán cinco minutos para comprender el cálculo de asignación de memoria DUP

Explicación del concepto básico

Al definir los datos, encontraremos las siguientes instrucciones. Para comenzar a calcular, necesitamos averiguar cuántos bytes representan:

  1. Defina el número de bytes :
Palabra clave abreviatura Alias Número de bytes definidos
definir byte DB BYTE 1
definir palabra DW PALABRA 2
definir palabra doble DD DWORD 4
  1. mDUP (x1, x2, x3 ... xn) :
    Tome m*nun espacio y asigne valores iniciales x1, x2, x3 ... xn a cada m espacio por turno.

ejemplo

Después de ensamblar las siguientes declaraciones, ¿cuál es el número de bytes en la unidad de almacenamiento asignados para la variable BUF?

BUF DW 10H DUP(3 DUP(2,10H),3,5) 
BUF DWORD 10H DUP(3 DUP(2,5),3,4,5)
  1. 2 * 16 * (3 * 2 + 1 + 1) = 256 = 100H
    Análisis: DW define word define cada espacio como 2un byte, un total de 10H= 16 espacios. Después de eso, cada espacio se asignó nuevamente: un 3espacio pequeño + 1 3+ 1 espacio 5. Los dos bytes asignados en cada espacio pequeño son 2y10H
  2. 4 * 16 * (3 * 2 + 1 + 1 + 1) = 576 = 240H
    Análisis: DWORD define palabra doble define cada espacio como 4un byte, un total de 10H= 16 espacios. Después de eso, se asignó cada espacio: un 3espacio pequeño + 1 3+1 4+ 1 + 1 5. Los dos bytes asignados en cada espacio pequeño son 2y5

ejercicio

BUF DW 10H DUP(3 DUP (2,?), 1, 2 DUP(?), 100

¿Cuál es el número de bytes del espacio de memoria asignado a la variable BUF?

responder

2 * 16 * (3 2 + 1 + 2 1 + 1) = 320 = 140H

Preste atención a la conversión de decimal y hexadecimal

Durante el proceso de cálculo, es mejor convertir a cálculo decimal y luego convertir el resultado de nuevo a hexadecimal (si es necesario)

Supongo que te gusta

Origin blog.csdn.net/weixin_44559752/article/details/106756907
Recomendado
Clasificación