Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
сновы системного программирования
Лабораторная работа 7
Тема: Работа со строками. Использование функций DOS
Цель работы: Научиться использовать функции DOS для ввода и вывода строковой информации.
TITLE Program7 |
;название программы |
|
.MODEL small |
;отводим под стек и под данные по 64Кб |
|
.STACK 100h |
;отмечаем начало сегмента стека |
|
.DATA |
;отмечаем начало сегмента данных |
|
Char DB 0 Buf DB 255, 0, 256 DUP (0) |
; |
|
.CODE |
;отмечаем начало сегмента кодов |
|
main PROC |
||
mov AX, @data |
;копируем адрес |
|
mov DS, AX |
;сегмента данных |
|
mov ES, AX |
||
mov DX, offset Buf |
;считываем строку с клавиатуры |
|
mov AH, 0ah |
||
int 21h |
||
mov AL, Buf+1 |
;если считано 0 байт, то выход из |
|
or AL, AL |
;программы |
|
jz Exit1 |
||
mov AH, 01h |
;считываем символ с клавиатуры |
|
int 21h |
||
mov Char, AL |
||
xor DX, DX |
||
mov CX, DX |
||
mov CL, Buf+1 |
;задаем количество повторений (длина строки) |
|
cld |
||
mov DI, offset Buf+2 |
||
Cycle: |
scasb |
|
jne Next |
||
inc DX |
||
Next: |
loop Cycle |
|
Exit1: |
mov AX,4C00h |
;выход |
int 21h |
;из программы |
|
main ENDP |
||
END main |
Используя предложенную выше программу, разработайте программу, которая выполняет заданные действия. Исполнить программу с несколькими (три - четыре) строками, проверить правильность результатов. (В отчете обязательно привести результаты вычислений).
Номер задания выбирается в соответствии с номером бригады.