Язык [b]Assembler[/b].
Microprocessor simulator 5.0
DB "abcd*"
DB "abcd*"
START:
MOV AL, C0 ;адр видео памяти
MOV BL, 02 ;адр байтов строки
GO:
MOV CL, [BL] ;получение байта строки
MOV [AL], CL ; из адр видео памяти в байт стр
INC BL ;увелич байтов стр
INC AL ;увелич простр-ва видео памяти
MOV CL, [BL] ;получение байтов стр
CMP CL, 2A ;сравн с *
JZ STEK ;если z=1
JMP GO
STEK:
INC BL
PUSH BL ;запись байта в стек
MOV AL, D0
GO2:
MOV CL, [BL]
MOV [AL], CL
INC BL
INC AL
MOV CL, [BL]
CMP CL, 2A
JZ STOP
JMP GO2
STOP:
MOV AL, 02
POP BL
EQUAL:
MOV CL, [BL]
MOV DL, [AL]
CMP CL, 2A
JZ END2
CMP CL, DL
JZ EQUAL_SUCC
MOV [E0], CL
JMP ERROR
EQUAL_SUCC:
INC BL
INC AL
JMP EQUAL
END2:
MOV CL, 45
MOV [E0], CL
MOV CL, 51
MOV [E1], CL
MOV CL, 21
MOV [E2], CL
ERROR:
END