Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Jz LLL1 ; ошибка, повторить ввод



cmp AL, S_FACTLEN; превышает длину строки?

Jg LLL1; ошибка, повторить ввод

Cbw; расширить до слова

Mov POSDEL, AX; запомнить позицию удаления

; Ввод длины удаляемой части

LLL2: lea dx, MESS3

Mov AH, 09h; приглашение к вводу числа

Int 21h; удаляемых символов

Lea dx, N_BUFLEN

Mov ah, 0ah

Int 21h; ввод числа удаляемых символов

Call VAL; вызов процедуры перевода в число

Jc LLL2; ошибка, повторить ввод

Cbw; расширить до слова

Mov LENDEL, AX; запомнить число удаляемых символов

;Занести в стек параметры и вызвать подпрограмму удаления

Lea bx, S_INPBUF

Mov al, S_FACTLEN; дополняем до слова

Cbw

Push ax; 4-й параметр длина строки

Push LENDEL; 3й параметр число удаляемых симв.

Push POSDEL; 2-й параметр позиция удаления

Push bx; 1й параметр адрес строки

Call DELSUB; вызов подпрограммы

; Вывод результата

Lea dx, MESS4

Mov ah, 09h

Int 21h; вывод заголовка вывода

Lea bx, S_FACTLEN

Xor cx, cx

Mov cl, S_FACTLEN

LLL3: inc bx

cmp byte ptr [bx], 0

Loopne LLL3; повторять до конца строки или первого нуля

LLL4: mov byte ptr [bx], "$"

Lea DX, S_INPBUF

Mov ah, 09h

Int 21h

Jmp LOP

QUIT: mov ax, 4c00h

Int 21h

; Функция получения числа из его строкового представления

; Схема преобразования десятичного числа а2а1а0 в 16-ричную СС по;схеме Горнера - N16=(a2*A+a1)*A+a0, где A десятичное основание

VAL proc near

Push bx; сохранение

Push cx; регистров





Дата публикования: 2014-11-28; Прочитано: 272 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...