Помощь - Поиск - Пользователи - Календарь
Полная версия: Ассемблер
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
Анастасия25021991
всем привет. подскажите как в текст сделать в тексте программы чтобы после введенных символов при нажатии enter были две пустые строки а зетем выводился ответ!!

.MODEL SMALL
.STACK 100h

.DATA
MAXIMUM_STRING_LENGTH EQU 1000
InpStr DB MAXIMUM_STRING_LENGTH DUP ('$')
Nf DB '1.txt',0
OutStr DB MAXIMUM_STRING_LENGTH DUP ('$')
Mess DB 13,10,'Vvedite stroku: ',13,10,'$'
Mess1 DB 13,10,'Vvedite imya fayla: ',13,10,'$'
string DB "String", 10, 13
.CODE
start:
mov ax, @Data
mov ds, ax
mov ax, 40h
mov bx, 1
mov dx, OFFSET Mess
mov ah, 09h
int 21h
mov ah, 3Fh
mov bx, 0
mov cx, MAXIMUM_STRING_LENGTH
mov dx, OFFSET InpStr

int 21h
and ax, ax
jz Done
mov cx, ax
mov bx, OFFSET InpStr
mov si, OFFSET OutStr
mov dx,0
push dx
ReverseLoop:
pop dx
add dx,1
push dx
mov al, [bx]
cmp al, 'c'
jz Change
cmp al, ' '
jz Skip
jnz Def
Change:
mov al, 'e'
Def:
mov [si], al
inc si
Skip:
inc bx
loop ReverseLoop
mov ax, 20h
mov bx, 1
mov dx, OFFSET OutStr
mov ah, 09h
int 20h
; mov ax, 20h
; mov bx, 1
; mov dx, OFFSET Mess1
; mov ah, 09h
; int 21h
; mov ah, 3Fh
; mov bx, 0
; mov cx, MAXIMUM_STRING_LENGTH
; mov dx, OFFSET nf
; int 21h
; and ax, ax
; jz Done
; mov ax, 40h
; mov bx, 1
; mov dx, OFFSET nf
; mov ah, 09h
; int 21h
mov ah, 3ch
mov cx, 0
LEA dx, nf
int 21h
; mov ah, 3dh
; mov al, 1
; LEA dx, nf
; int 21h
pop dx
mov cx,dx
MOV bx, ax
mov dx, OFFSET OutStr
mov ah, 40h
int 21h
mov ah, 3eh
mov bx, ax
int 21h

Done:
mov ah, 10h ; ReadKey
int 16h
mov ah, 4Ch
int 21h
END start


Гость

Mess2 db 13,10,10,' Ответ: $'

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.