1. Los dos problemas básicos de procesamiento de datos
Esto ya es materia común, Procesamiento de Datos Hay dos cuestiones fundamentales:
En primer lugar, los datos a procesar en cualquier lugar?
¿Cuánto tiempo se va a procesar los datos del segundo?
Estos dos problemas son la base de nuestro programa, y si no se conocen los datos provienen de su tamaño
Excelente equipo y entonces también no hacer nada
Aquí definen dos símbolos Reg y SREG:
Representa un registro REG: ax, bx, CX, DX, y recortarlas del registro de 8 bits, sp, punto de ebullición, si, di
registros de segmento SREG representa: DS, SS, CS, es
Registro superior, no sólo pb introducido, pb Permítanme hablar de esto por sí solo es una función similar al registro BX, pero no registros de propósito general
dirección de segmento Bp se almacena en el ss permitido SREG: [pb] para el acceso de memoria
En primer lugar para resolver el primer problema, los datos en qué lugar?
La mayor parte de las instrucciones de máquina se utilizan para ordenar los datos de procesamiento, después de todo, la computadora diseñada originalmente es de procesamiento de datos
Categoría instrucciones de procesamiento de datos de tres:
La operación de lectura de escritura
Por instrucciones de la máquina para ella, que no se preocupa por el valor, sólo se preocupan por la instrucción de máquina se ejecuta inmediatamente antes, los datos de localización
En este momento, los datos será normalmente de tres posiciones: puerto de memoria interna CPU
MOV BX, [ 0 ] memoria MOV BX, la CPU interna AX, registros MOV BX, CPU 01H interno, tampón de instrucciones
Por lo tanto, la forma de expresarse, donde los datos están en lenguaje ensamblador?
inmediata:
Para los datos directos que figuran en la instrucción, la compilación de datos inmediata se llama
mov ax, 1
añadir hacha, 200h
o un hacha, 0DFH
mov al, 'a'
Register:
Los datos almacenados en el registro interno
mov ax, bx mov ds, hacha de empuje ds pop sp
SA + EA:
El valor predeterminado es ds bx SREG
El valor predeterminado es SREG ss pb
Por supuesto, también señaló que en la actualidad permiten SREG
mov ax, ds: 3 [bx + si] mov dx, es: 3 [pb + en]
Cada dato tiene una casa pequeña hermana, habrá un domicilio particular, cómo se encuentra la casa de la compilación de datos hermanita pequeña de la hermana se
Hay cinco métodos son:
Direccionamiento directo: [idata]
Register método de direccionamiento relativa: [bx]
Register método de direccionamiento indirecto: [bx] .idata (estructura)
idata [si] (array)
[Bx] [idata] (matriz bidimensional)
Direccionamiento Base Cambio Método: [bx] [Si] (matriz bidimensional)
Direccionamiento variable de proceso respecto a la base: [bx] .idata [si] (array de la estructura de la tabla)
idata [bx] [si]
Aquí vengo a explicar un poco de estos tipos de métodos de direccionamiento (capacidad limitada) personales:
Un día, los datos acerca de la CPU a jugar pequeña hermana, hermana pequeña de datos directamente a la dirección que nos encontramos en este lugar, que es el direccionamiento directo, vaya directamente dirección de la presión en él
Si usted va a la tienda de café de datos de Miss dijeron el martes se reunió ( registro ), y luego le dice dónde jugar, este es el registro de direccionamiento relativo método, (registro) se accede a través de un puntero a un puntero, para acceder a los datos correspondientes
Si usted va a la tienda de café de datos de Miss dijeron el martes se reunió ( registro ), y luego caminar unos pocos cientos de metros, antes de que se le indicará dónde jugar, este es el registro de direccionamiento relativo método, (registro) para acceder al puntero a través de un puntero, para acceder a los correspondientes los datos
Si usted va a la tienda de café y entonces ella dijo el martes la señorita Hall, y luego ir a KFC, que le dice dónde jugar, esta es la dirección base indexada método de direccionamiento, por los registros de dirección base después de una combinación de dos, el acceso a los datos
Si usted va a la tienda de café y entonces ella dijo el martes la señorita Hall, y luego ir a KFC, unos pocos cientos de metros de distancia sólo le dirá dónde jugar, esta es la dirección base con relación indexada método de direccionamiento de la dirección de base a través de una combinación de los dos registros y luego ejecutar un poco de forma de acceder a los datos
Junto a resolver el siguiente problema, la longitud de los datos?
De hecho, este problema antes de que se mencionó antes, mov ax, cómo [bx] es conocer la longitud de los datos? Por supuesto, es el número de bits a través del registro
Sin embargo, de acuerdo con nuestra anterior serie de mov es: [BX], ds: [BX] no funcionará correctamente, ya que la CPU no puede detectar el tamaño de los datos,
Por lo tanto, esta vez apareció la nueva forma de declaración, palabra / byte ptr declaración de tipo de datos de textos / Byte
p.ej:
mov byte ptr es: [BX], ds: [BX]
mov palabra ptr ES: [BX], ds: [BX]
Bueno, aquí está resolverse el problema básico de la programación, las siguientes nuevas instrucciones para aprender el
div instrucción:
Esta es una instrucción de dividir y sumar y sub diferencia es, por div divisor y el dividendo haber ciertas restricciones
Divisor: Hay dos clases de 8 bits y 16 bits, o en una unidad de memoria reg
Dividendo: AX predeterminado o AX + DX sobre si el divisor es de 16 bits, 32 bits de dividendos, el hacha de almacenamiento inferior, el alto almacenamiento DX
Si el divisor 8, el dividendo de 16 bits
Resultados: El divisor es 8, negocio de depósitos AL, AH mantienen el resto
Divisor es 32, el negocio de depósitos AX, DX depositar el resto
Considere lo siguiente: div FFFFH, 1 lo que va a suceder porque, por supuesto, el divisor por el desbordamiento de la Asamblea General
dd Directiva:
Indica que los datos de palabras dobles
p.ej:
segmento de datos
db 1
dw 1
dd 1
extremos de datos
DUP del operador:
deduplicación definido
dd 3 dup (2) == dd 2,2,2
dw 3 dup ( 'ABC', 'abc') === dw 'ABCabcABCabcABCabc'