Red de conocimiento informático - Conocimiento sistemático - Experimento 5 de lenguaje ensamblador (Wang Shuang), después de completar las preguntas quinta y sexta, analice todo el código línea por línea y analícelo y resuma segmento por segmento.

Experimento 5 de lenguaje ensamblador (Wang Shuang), después de completar las preguntas quinta y sexta, analice todo el código línea por línea y analícelo y resuma segmento por segmento.

Experimento 5 Escribir y depurar programas con múltiples segmentos

------------------------ --- -------------

(1)

1. Permanecer sin cambios

2.lt; considerar que diferentes máquinas tienen diferentes entornos, por lo que la respuesta no se puede unificar;

3.X-2, X-1

(2)

1.

p>

2.lt; Considerando los diferentes entornos de diferentes máquinas, la respuesta no se puede unificar;

3.X-2, X-1

4 .(N/16 1 )*16 [Nota: N/16 solo toma la parte entera]

(3)

1. 2.lt; considere diferentes máquinas El entorno es diferente y las respuestas no se pueden unificar;

3. Porque si se elimina la etiqueta de inicio después de la instrucción de finalización, el compilador ejecutará el programa secuencialmente. En otras palabras: cuando no se notifica al compilador con anticipación dónde comenzar a ejecutar el programa, el compilador automáticamente compila y ejecuta el programa fuente en un orden "de arriba a abajo".

(5) El programa completo es el siguiente:

supongamos cs:code

un segmento

db 1, 2, 3 , 4, 5, 6, 7, 8

a termina

b segmento

db 1, 2, 3, 4, 5, 6, 7, 8

p>

b termina

segmento c

db 0, 0, 0, 0, 0, 0, 0, 0

c termina

segmento de código

inicio: mov ax, a

mov es, ax

mov ax, c

mov ds, ax

mov bx, 0

mov cx, 8

s1: mov ax, es: [bx]

añadir [bx], ax

añadir bx, 2

bucle s1

mov ax, b

mov es , ax

mov ds, ax

mov bx, 0

mov cx, 8

s2: mov ax, es: [ bx]

añadir [bx], hacha

añadir bx, 2

bucle s2

mov hacha, 4c00h

int 21h

el código termina

fin de inicio

(6) El procedimiento completo es el siguiente:

supongamos cs: código

un segmento

dw 1, 2, 3, 4, 5, 6, 7, 8

a termina

b segmento

dw 0, 0, 0, 0, 0, 0, 0, 0

b termina

código segmento

inicio :

mov hacha, b

mov ss, hacha

mov sp, 10h

mov hacha, a

mov ds, ax

p>

mov bx, 0

mov cx, 8

s: empujar [bx]

agregar bx, 2

bucle s

mov ax, 4c00h

int 21h

el código termina

end inicio

Experimento 6 Procedimientos en Cursos Prácticos

-------------------------------- -----

(2) Programación: Complete el programa de la pregunta.

El procedimiento completo para la pregunta 7.9 es el siguiente:

suponga cs: codesg, ss: stacksg, ds: datasg

segmento de stacksg

dw 0 , 0, 0, 0, 0, 0, 0, 0

fin de pila

segmento de datos

db '1. /p>

db '2. explora '

db '3. reemplaza '

db '4. >

códigosg segmento

inicio:

mov ax, stacksg

mov ss, ax

mov sp, 16

mov ax, datasg

mov ds, ax

mov bx, 0

mov cx, 4

s : ; bucle exterior

push cx

mov si, 3

mov cx, 4

s0: ; >

mov al,[bx si]

y al,11011111b

mov [bx si],al

inc si

bucle s0

añadir bx, 16

pop cx

bucle s

mov hacha, 4c00h

int 21h

codesg termina

fin inicio