Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача строки из одного com-порта в другой. 
:(
    Опции темы
Joker07
Дата 7.7.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Есть программа. Ее цель -  передать, принять и напечатать строку символов произвольной длины ( до 100 символов ).
Сама программа состоит из двух файлов - сервер и клиент.
Моя цель - разобраться в ней, т.к. мне ее переделывать придется (под что пока незнаю).
Поюзал инет, методички, но все равно мало понял. Помогите понять работу хотя бы сервера, в комментах вы найдете вопросы, очень прошу.
Код

data segment
    length db 100
    flength db ?
    buffer db 100 dup(?)
    mess1 db 10,13,'nzmite lubuu klavishu$'
    mess2 db 10,13,'vedite stroku',10,13,'$'
data ends
code segment
    assume cs:code, ds:data
start:    
init:    mov ax, 040h ; начала базового адреса порта
    mov ds, ax
    mov dx, ds:[0000]
    add dx, 3; устанавливаю порт-сервер com 3, так?
    mov al, 10000000b ;  вызов какой-то функции ? Какой?
    out dx, al;  ????
    nop
    mov ax, 417h;  определяет нажат ли Shift?
    sub dx, 3; в dx теперь 0... зачем? 
    out dx, al; зачем?
    nop
    nop
    mov al, ah; ?
    inc dx; зачем?
    out dx, al; ?
    nop
    inc dx; ?
    inc dx; ?
    mov al, 00000011b ; ??
    out dx, al; ??
    nop
    nop
    sub dx, 2; ?
    xor al, al; обнуляем al? зачем?
    out dx, al; опять ?
    nop
    dec dx; зачем?

    mov dx, ds:[0000]; устанавливаем начало  данных на 0000
    push dx; сохраняем  данные
    mov ax, data
    mov ds, ax
    
    mov ah, 9;  запуск функции вывода сообщения
    lea dx, mess2 ; получение адреса сообщения
    int 21h ; вывод
    
    mov ah, 0ah; определяет позицию курсора?
    lea dx, length; ; получение адреса длины буфера для ввода символов
    int 21h
    
    pop dx; восстанавливаем данные
    add dx, 5; зачем??
lop1:    in al, dx; ???
    nop
    cmp al, 01100000b; если в al 0110000b (а что это?)
    jne lop1; то переход на lop1
    sub dx, 5; ?
    mov al, flength; зачем?
    out dx, al; ?
    
    mov cl, flength; зачем?
    xor ch,ch; обнуление ch, зачем?
    lea si, buffer; получение адреса начала буфера
        
send:    add dx, 5 ; зачем?
lop:    in al, dx; ?
    nop
    cmp al, 01100000b; ?
    jne lop

    sub dx, 5
    mov al,ds:[si];  ?
    inc si; зачем?
    out dx, al; 
    nop    
    loop send; повтор от метки send
    mov ax, data
    mov ds, ax
quit:    mov ah, 9; выход из Доса
    lea dx, mess1
    int 21h
    mov ah, 8
    int 21h
    mov ax, 4c00h
    int 21h
code ends
end start


PM MAIL   Вверх
cardinal
Дата 7.7.2008, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



Первая твоя задача это вообще разузнать зачем все это на стороне компьютера гоношить на асме и через ДОС. smile ИМХО это уже даже в учебных целях нафиг не нужно...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Joker07
Дата 7.7.2008, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



cardinal, согласен. Ну нафига сейчас изучать такую древность как com-порты, да еще под дос... Тем более, что сейчас можно взять хоть С, хоть делфи и сделать все это ну намного, намного проще и быстрее, используя уже готовые компоненты. 
НО, сдавать то все рано надо... Препод просто фанат tasm, особенно под дос... 
PM MAIL   Вверх
cardinal
Дата 7.7.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



Цитата(Joker07 @  7.7.2008,  17:37 Найти цитируемый пост)
Ну нафига сейчас изучать такую древность как com-порты, да еще под дос...

Не я имел в виду именно ДОС и асм для работы с com-портами на стороне компа. Я не говорил, что com-порты отжили свое - они до сих пор нужны и имеют свои преимущества. А вот ДОС свое отжил...

А так могу посоветовать почитать


Это сообщение отредактировал(а) cardinal - 7.7.2008, 18:57


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Joker07
Дата 7.7.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 17.6.2006

Репутация: нет
Всего: нет



Цитата(cardinal @ 7.7.2008,  18:57)

Я не говорил, что com-порты отжили свое - они до сих пор нужны и имеют свои преимущества.

А зачем сейчас используются com-порты?
Цитата(cardinal @ 7.7.2008,  18:57)
А так могу посоветовать почитать

Да, щас пойду читать... Сдавать надо завтра уже... Голова болит уже... Хорошо хоть все работает, осталось токо понять как...

Это сообщение отредактировал(а) Joker07 - 7.7.2008, 20:09
PM MAIL   Вверх
cardinal
Дата 7.7.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



Цитата(Joker07 @  7.7.2008,  18:58 Найти цитируемый пост)
А зачем сейчас используются com-порты?

Для отладки. Собирая устройство на мк ты ведь хочешь как можно быстрее начать хоть как-то научится им управлять. Вот самое быстрое решение это RS-232.
Цитата(Joker07 @  7.7.2008,  18:58 Найти цитируемый пост)
Да, щас пойду читать... Сдавать надо завтра уже...

А ко мне какие претензии? smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.