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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 09:57   #1
q3dm6
Новичок
Джуниор
 
Регистрация: 27.06.2011
Сообщений: 3
По умолчанию защита лабораторных, коментарии к кодупрограммы

здравствуйте. прошу помочь с защитой лабы суть защиты заключается в объяснении кода программы, что, думаю для знающего человека это не составит большого труда. буду очень благодарен за любую полезную информацию.
1.
extern "C" void mainasm(void);

void main (void)
{
mainasm();
}

Код:
.model small
.stack 200h
.data	
form   db "%s", 0				;Строка спецификации для printf,  scanf.
buf     db 80 dup (?)				;Буфер для введенной строки.
mes1  db 'Работает scanf', 10, 13, '$'
mes2  db 'Работает printf', 10, 13, '$'

.code

extrn _printf:near,  _scanf:near
public _mainasm

_mainasm proc near
mov  ax, @data			 ; установим регистр ds на сегмент данных
mov  ds, ax
mov  ah, 9
mov  dx, offset mes1
int     21h

lea    ax, buf				; заносим в стек адрес буфера строки
push  ax
lea ax, form				; заносим в стек адрес строки формата
push ax
call _scanf
add   sp, 4				; освободим стек от уже не нужных данных
mov  ah, 9
mov  dx, offset mes2
int     21h
lea     ax, buf				; снова подготовим стек для вызова printf
push  ax
mov  ax, offset form
push  ax
call   _printf
add    sp, 4
mov ah, 4ch				; завершение программы.
int 21h
 _mainasm endp
end


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 27.06.2011 в 10:33.
q3dm6 вне форума Ответить с цитированием
Старый 27.06.2011, 13:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
объяснении кода программы
Если в кратце:
1) вывод на экран сообщения 'Работает scanf'
2) Потом пользователь должен ввести некую строку
3) которую после вывода на экран сообщения 'Работает printf'
4) выводят на экран этим самым printf-ом.

Короче это реклама функций scanf, printf.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2011, 14:12   #3
q3dm6
Новичок
Джуниор
 
Регистрация: 27.06.2011
Сообщений: 3
По умолчанию

спасибо. но вообще суть защиты л.р. в том, что препод спрашивает любую строку и мне необходимо ее объяснить
q3dm6 вне форума Ответить с цитированием
Старый 27.06.2011, 14:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда учи ассемблер, потому как преподы еще любят спрашивать не только "что это2 а и "а зачем это здесь и как можно от этого избавиться не потеряв функцилнала"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2011, 14:43   #5
q3dm6
Новичок
Джуниор
 
Регистрация: 27.06.2011
Сообщений: 3
По умолчанию

Витaлий, нeту врeмeни, к сожaлeнию, учить eго. Нужно просто зaщитить эту лaбу Тaк что помогитe, eсли можeтe
q3dm6 вне форума Ответить с цитированием
Старый 27.06.2011, 15:00   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чем мог - помог. Дальше сам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2011, 17:05   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Витaлий, нeту врeмeни, к сожaлeнию, учить eго. Нужно просто зaщитить эту лaбу Тaк что помогитe, eсли можeтe
ну и подходики у Вас... нет времени - тогда платите!!

p.s. программка очень простенькая (ибо под DOS)
если напишите, какие строчки вызывают вопросы - постараюсь ответить.
Только сразу предупреждаю - писать ВСЕ строчки бессмыслено! В таком случае объяснять долго и, главное, впустую время терять...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выполнение лабораторных по С++ solwayg Фриланс 4 15.03.2011 13:10
Решение лабораторных на С++ _Roden_ Visual C++ 0 25.02.2011 18:09
Несколько лабораторных работ С++ за $ stackky Фриланс 5 03.06.2010 12:14
Четыре лабораторных на Pascal AlexeyGulin Фриланс 2 18.05.2010 13:35
Написание лабораторных Vladimir Фриланс 3 24.12.2006 18:43