Red de conocimiento informático - Conocimiento sistemático - Preguntas sobre programación en ensamblaje

Preguntas sobre programación en ensamblaje

1)

segmento de datos

x dw ?

y dw ?

masg db 'Ingrese x , y: ', '$'

los datos terminan

segmento de código

proceso principal lejos

asume cs: código, ds: datos

inicio:

push ds

sub ax, ax

push ax

mov ax, datos

mov ds, ax

lea dx, mesg1

mov ah, o9

int 21h

lea dx, x

mov ah, 0ah

int 21h

lea dx, mesg2

mov ah, 09

int 21h

lea dx, y

mov ah, 0ah

int 21h

lea dx, x

mov ah, 09

int 21h

lea dx, y

mov ah, 09

int 21h

ret

final principal

finales del código

fin inicio

3)

SEGMENTO DE DATOS

SENTNECE DB 30H,?,30H DUP(?)

PALABRA CLAVE DB 30H,?,30H DUP(?)

MATCH DB 13,10,' Coincidencia en ubicación: $'

NOMATCH DB 13, 10, 'NO match$'

MSG3 DB 13, 10, 'Ingrese oración1: $'

MSG4 DB 13, 10, 'Introducir frase2: $'

TERMINOS DE DATOS

SEGMENTO DE PILAS

TERMINOS DE PILAS

SEGMENTO DE CÓDIGOS p>

ASUME CS: CODIGOS, DS: DATAS, SS: STACKS

INICIO:

MOV AX, DATAS

MOV DS, AX

LEA DX, MSG3

MOV AH, 09H

INT 21H

p>

LEA DX, PALABRA CLAVE

MOV AH, 0AH

INT 21H

OTRA VEZ:

LEA DX, MSG4

MOV AH, 09H

INT 21H

LEA DX, SENTNECE

MOV AH, 0AH

INT 21H

LEA SI, SENTNECE

LEA DI, KEYWORD

MOV CH, 0

MOV CL, [SI 1]

MOV BL, [DI 2]

AÑADIR S1, 2

L:

MOV BH, [SI]

INC SI

CMP BL, BH

JZ BEGIN

BUCLE L

JMP NOMAT

BEGIN:

PUSH SI

LEA DI, KEYWORD

PUSH CX

MOV CH, 0

MOV CL, [DI 1]

DEC CX

JZ MAT

L1:

MOV BL, [SI]

MOV AL, [DI 3]

CMP BL, AL

JNZ CONT

INC SI

INC DI

LOOP L1

JMP MAT

CONT:

POP CX

POP SI

LEA DI , PALABRA CLAVE

MOV BL, [DI 2]

BUCLE L

NOMAT:

LEA DX, NOMATCH

MOV AH, 09H

INT 21H

ERROR JMP

MAT:

LEA DX, PARTIDO

MOV AH, 09H

INT 21H

POP CX

LEA DX, [SENTNECE]

MOV BX, DX

MOV AL, [BX 1]

SUB AL, CL

MOV BL, AL

CALL DIS

JMP OTRA VEZ

ERROR:

MOV AH, 4CH

INT 21H

DIS PROC CERCA

MOV CL, 4

MOV DL,BL

ROL DL,CL

Y DL,0FH

CMP DL,0A

H

JB SIGUIENTE1

AÑADIR DL, 37H

JMP OK3

SIGUIENTE1:

AÑADIR DL, 30H

OK3:

MOV AH, 02

INT 21H

Y BL, 0FH

MOV DL, BL

CMP DL, 0AH

JB SIGUIENTE2

AÑADIR DL, 37H

JMP OK4

SIGUIENTE2:

AÑADIR DL, 30H

OK4:

MOV AH, 02H

INT 21H

RET

p>

DIS ENDP

CÓDIGOS FINALIZA

FIN INICIO

FIN

Hay exactamente 3 códigos para preguntas