Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 17:16   #1
Valkiriya1509
Новичок
Джуниор
 
Регистрация: 12.12.2010
Сообщений: 1
Вопрос Программа на ассемблере. Поясните код.

Задание: Ввести с клавиатуры строку, состоящую из нескольких букв.
Заменить каждую букву в строке на другую букву, следующую за данной буквой через заданное число символов по алфавиту.
Вывести результаты на экран.

Код:

; сегмент данных
Data segment
BuferInt DB 50h, ?, 50h DUP(?)
VvodStr DB 'Vvedite stroku simvolov:', 0Ah, '$'
VvodCh DB 0Ah, 'Vvedite chislo simvolov:', 0Ah, '$'
Result DB 0Ah, 0Ah, 'Rezultat raboty programmy:', 0Ah,'$'
Data ends

;сегмент кода
Code segment
assume cs:code, ds: data

start: mov ax,data
mov ds,ax

; вывод строки с запросом
mov ah,09h
lea dx,VvodStr
int 21h

; Чтение строки
mov ah, 0ah
lea dx, BuferInt
int 21h

; вывод второй строки с запросом
mov ah,09h
lea dx,VvodCh
int 21h

; чтение количества сдвига
mov ah, 01h
int 21h

; преход от кода символа к цифре
xor ah, ah
sub ax, 30h

lea bx, BuferInt+1
xor cx, cx
mov cx, [bx]
xor ch,ch
inc bx

; цикл по изменению кодов символов

begin: add [bx], ax
cmp byte ptr [bx], 'z'
jbe be ; если не больше 'z'
sub byte ptr [bx], 26

be: inc bx
loop begin

mov byte ptr [bx+1], '$'
mov ah, 09h
lea dx, Result
int 21h

mov ah, 09h
lea dx, BuferInt+2
int 21h

mov ah, 07h
int 21h


mov ax,4c00h
int 21h

code ends
end start

Непонятно то, что выделено жирным шрифтом. Что, как и зачем там делается. Заранее благодарна
Valkiriya1509 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поясните мне этот код шаг за шагом kroatoani Общие вопросы Delphi 5 21.09.2010 14:21
Код программы на Ассемблере (масм32) dimon305 Помощь студентам 6 18.05.2010 15:42
Поясните код... Masip Общие вопросы Delphi 1 18.05.2010 07:22
Код программы на Ассемблере (масм32) dimon305 Фриланс 4 17.05.2010 09:50
поясните пару строчек в Ассемблере Pont Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 02.05.2010 20:21