Студентам с вопросами о лабораторных работах сюда

Тема в разделе "WASM.BEGINNERS", создана пользователем IceStudent, 11 ноя 2006.

  1. Seroga27

    Seroga27 New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2011
    Сообщения:
    2
    Пожалуйста помогите с лабораторной работой.
    Нужно сделать на masm простой идущий дождь.
    Заранее спасибо.
     
  2. Abrakasis

    Abrakasis New Member

    Публикаций:
    0
    Регистрация:
    13 май 2011
    Сообщения:
    20
    товарищи здравствуйте. подскажите как получить в локальную переменную значение из структуры и вывести его на консоль. Структура DBC. И как в ее элементы что то записать
     
  3. artkar

    artkar New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2005
    Сообщения:
    400
    Адрес:
    Russia
    Дождь на масм? Хм! А Вам дождь над какой территорией? РФ?
     
  4. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Seroga27
    Дождь - это на 100 баксов. А если с обсчетом капель и физикой соударения - лужи, круги на них, реальное разбрызгивание, отражения - то может и на побольше. Просто косые черточки, перемещающиеся в рандомном количестве и месте - это скорее. Картинку - еще проще (вывести анимированный гиф с дождем в окно). Уточняйте. Заодно уточните, GDI, DirectX или OpenGL. Так же неплохо написать самому каркас или хотя бы алгоритм - одно дело ПОМОЧЬ студенту, а другое - НАПИСАТЬ ЗА НЕГО, почувствуйте разницу.
     
  5. Dremuk

    Dremuk New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2010
    Сообщения:
    3
    Помогите, пожалуйста найти ошибку.
    Задание такое. "Разработать процедуру циклического кодирования строки байтов с по-мощью ключа N из битов (кодирование функцией исключающее или)." Использовать встроенный asm паскаля.
    У меня кодирует только часть строки.

    L := Length(strIn); { Сохраняем длину строки }
    asm
    push si { Сохраняем регистр si }
    push di { Сохраняем регистр di }
    push ax { Сохраняем регистр ax }
    push dx { Сохраняем регистр dx }
    push cx { Сохраняем регистр cx }

    mov cx, L { cx := длина строки }
    mov dx, offset key { dx := первый символ ключа }
    mov si, offset strIn { si := первый символ кодируемой строки }
    @Loop1:
    mov di, dx { di := dx }
    @Loop2:
    jcxz @exit { Если длина строки = 0 -> выходим }
    mov al, [si] { al := очередной символ кодир. строки }
    xor al, [di] { al := al xor очередной символ ключа }
    mov [si], al { перезаписываем символ закодированным символом }
    inc si { переходим к следующему символу кодируемой строки }
    inc di { переходим к очередному символу ключа }
    dec cx { уменьшаем параметр цикла }
    cmp di, 0 { если использован весь ключ }
    je @Loop1 { то начинаем использовать ключ снова }
    jmp @Loop2 { пероеходим к кодировке следующего символа }
    @exit:
    pop cx { восстанавливаем регистры cx,dx,ax,di,si }
    pop dx
    pop ax
    pop di
    pop si
    end;
    end;
    WriteLn('Результирующая строка: ', strIn);

    Очень срочно нужно
     
  6. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    540
    В di у вас что лежит? указатель на очередной символ ключа или счетчик символов этого ключа?
     
  7. Dremuk

    Dremuk New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2010
    Сообщения:
    3
    Что-то напутал с di. di - указатель на очередной символ ключа.
    исправил на
    L := Length(strIn); { Сохраняем длину строки }
    L1 := Length(key); { Сохраняем длину ключа }
    asm
    push si { Сохраняем регистр si }
    push di { Сохраняем регистр di }
    push ax { Сохраняем регистр ax }
    push dx { Сохраняем регистр dx }
    push cx { Сохраняем регистр cx }
    push bx { Сохраняем регистр bx }

    mov cx, L { cx := длина строки }
    mov dx, offset key { dx := первый символ ключа }
    mov si, offset strIn { si := первый символ кодируемой строки }
    @Loop1:
    mov di, dx { di := dx }
    mov bx, 1 { счетчик длины ключа }
    @Loop2:
    jcxz @exit { Если длина строки = 0 -> выходим }
    mov al, [si] { al := очередной символ кодир. строки }
    xor al, [di] { al := al xor очередной символ ключа }
    mov [si], al { перезаписываем символ закодированным символом }
    inc si { переходим к следующему символу кодируемой строки }
    inc di { переходим к очередному символу ключа }
    inc bx { наращиваем использованную длину ключа }
    dec cx { уменьшаем параметр цикла }
    cmp bx, L1 { если использован весь ключ }
    je @Loop1 { то начинаем использовать ключ снова }
    jmp @Loop2 { пероеходим к кодировке следующего символа }

    @exit:
    pop bx
    pop cx { восстанавливаем регистры bx,cx,dx,ax,di,si }
    pop dx
    pop ax
    pop di
    pop si

    end;
    end;
    WriteLn('Результирующая строка: ', strIn);

    Все равно не работает
     
  8. rmka

    rmka Member

    Публикаций:
    0
    Регистрация:
    22 окт 2010
    Сообщения:
    108
    Код (Text):
    1.       mov  dx, offset key
    2.       inc  dx
    3.       mov  si, offset strIn
    4.       inc  si
    5. @Loop1:
    6.       mov  di, dx    
    7.       mov  bx, 0
     
  9. Dremuk

    Dremuk New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2010
    Сообщения:
    3
    Большущее спасибо
     
  10. marseill

    marseill New Member

    Публикаций:
    0
    Регистрация:
    24 май 2011
    Сообщения:
    3
    Нужно написать драйвер, отключающий сеть.

    Как я понимаю, задача сводится к тому, чтобы перехватить API ядра и написать собственный обработчик.
    Кто подскажет, какую функцию из Services List нужно перехватывать, чтобы добиться цели? ( это из того, как я понимаю решение)

    Или может, ещё какие варианты?

    Заранее огромное спасибо.
     
  11. pozitifforever

    pozitifforever New Member

    Публикаций:
    0
    Регистрация:
    24 май 2011
    Сообщения:
    1
    Здравствуйте,помогите, пожалуйста, написать программу(ASSEMBLER 16 bit) , которая определяет является ли введённое с клавиатуры число совершенным. Cвершенные числа - те числа у которых сумма делителей равна самому числу ( 6 = 1 + 2 + 3)

    P.S. Мои алгоритмы:
    1)ввод числа с клавиатуры==>найти сумму его всех множителей==>сравнить сумму с числом,если равно-то число совершенное
    2) ввод числа==> сравниваем с известными совершенными,только здесь будет один недостаток-- 10 чисел легко посчитать,а вот...:
    На апрель 2010 года известно 47 чётных совершенных чисел.

    Вот только как реализовать это-я не знаю,так как ASSEMBLER не мой профиль (максимум что мы проходили-это сложение,вычитание)
    Помогите,если не сложно,думаю,юзера,владеющего ассемблером не затруднит помочь.
     
  12. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    NDIS / TDI
     
  13. AirKom

    AirKom New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2011
    Сообщения:
    2
    Привет всем, необходимо написать программу на основе алгоритма TwoFish( ), на С или С++, курсовая работа. Может кто знает где взять исходники данного алгоритма, а то сам написать уже не успею сдавать через,15 дней. Буду благодарен за любую предоставленную информацию и помощь .
     
  14. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
  15. AirKom

    AirKom New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2011
    Сообщения:
    2
    NoName
    СПС, выручил, родина тебя не забудет)))
     
  16. vladimirua

    vladimirua New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2011
    Сообщения:
    3
    Вот такое задание, я ни "бум-бум"......Написать с помощью стандарта OpenPM программу скалярного умножения двух векторов. может кто знает как это сделать, помогите пожалуйста.
     
  17. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
  18. vladimirua

    vladimirua New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2011
    Сообщения:
    3
    все бы было хорошо, просто в программировании я знаю 2 команды cin, cout, вот в чем проблемма) а задание что я написал, это на защиту бакалавра....
     
  19. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    vladimirua
    а тебе на каком языке то надо? фортан или с\с++?
    а уже вижу, что на с\с++
     
  20. vladimirua

    vladimirua New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2011
    Сообщения:
    3
    c\c++ ,фортан не изучали