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

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

  1. 8_rpamm

    8_rpamm New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2008
    Сообщения:
    4
    cnc но у нас ассемблер в универе какойто другой
    вообщес задачка выглядит так

    Вычислить сумму квадратов всех целых чисел, попадающих в интервал (ln x, exp в степени x), для заданного с клавиатуры x>1.

    вся фишка в том что я примерно немагу понять как описать логарифм и експаненту

    ЗЫ
    ассемблер в универе 3.2i версии
    всё пишется через MOV
    равно и скобки он непонимает при компилировании...
    те функции что преведены в статье некатят....
     
  2. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Как в студии2008 под вистой, собрать екзешник чтобы работал в ХП ? Я так понимаю там что-то с РЕ-заголовке надо исправить, а вот что именно....
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Надо полагать
    WORD MajorOperatingSystemVersion;
    WORD MinorOperatingSystemVersion;
    либо
    WORD MajorSubsystemVersion;
    WORD MinorSubsystemVersion;
    либо все вместе
    и не в заголовке, а в настройках студии
     
  4. 8_rpamm

    8_rpamm New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2008
    Сообщения:
    4
    удалите етот пост
     
  5. KozzyKoder

    KozzyKoder New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2008
    Сообщения:
    12
    Вопрос: Как в Линуксе считать строку с клавиатуры. Посмотрел. У меня это функция номер $3. Порядок аргументов - откуда читаем, куда и скока. Напрашивается такой код:


    .data
    Length:
    .long 128
    ................
    .bss
    Inp_str: .space 128
    .............
    movl $3, %eax /*Номер функции sys_read*/
    movl $1, %ebx /*Дескриптор файла (предполагаю что $1- чтение с клавы, по аналогии с sys_write)*/
    movl $Inp_str, %ecx /*адрес строки для чтения*/
    movl Length, %edx /*количество символов*/
    int $0x80
    .....................................

    Этот код компилится, но при попытке ввода выдает Segmentation fault. Не понятно в чем проблема. Технически вроде все верно. Или это я чего-то недопонимаю? Компилю в SUSE Linux на GCC, ключи компиляции стандартные.
     
  6. xROM

    xROM New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2008
    Сообщения:
    21
    KozzyKoder
    ...
    movl $1, %ebx /*Дескриптор файла (предполагаю что $1- чтение с клавы, по аналогии с sys_write)*/
    ...

    зря предполагаешь
    1 - это stdout, т.е. вывод
    0 - stdin, т.е. ввод
     
  7. Covered_with_snow

    Covered_with_snow New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2008
    Сообщения:
    1
    Прошу помоши. Пытаюсь пролинковать свою первую программу, но в ответ получаю не минуемую фатальную ошибку: библиотека kernel32.lib не может быть открыта

    [​IMG]

    Вопросы обычые:
    1. Кто виноват?
    2. Что делать?

    UPD: Вопросы снимаются. Догадался подправить путь в коде программы :)
     
  8. lem

    lem New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2005
    Сообщения:
    2
  9. TaNuKi

    TaNuKi New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2008
    Сообщения:
    2
    Здравствуйте, уважаемые...
    Ассемблер был год назад благополучно забыт, но в этом семестре поставили дисциплину, и требуется написать две программы, может у кого-то есть прога или желание помочь(о вознаграждении можно договориться, любой труд как говорится, должен быть оплачен^^)
    условия:
    1)Написать программу, перепрограммирующую частоту регенера-ции памяти на 2-3 единицы в сторону увеличения и уменьшения, и вычислить скорость работы процессора при каждом изменении.
    2)Написать программу на языке ассемблер.Передать из одной машины в другую файл произвольной длины, я так понимаю используя COM-порт.
    Очень надеюсь на вашу помощь.ICQ:248432890
     
  10. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    TaNuKi
    наверно это будет зависить от чипсета - т.е. несколько вариантов ;)
     
  11. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    wsd
    Скорее всего им требуется под DOS перепрограммировать канал DMA, но лучше это с TaNuKi напрямую по ICQ обсуждать :) IMHO что-то подобное я видел или в Джордейне ("Справочник программиста персонального компьютера ....") или у Пирогова ("Assebler учебный курс")
     
  12. 8_rpamm

    8_rpamm New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2008
    Сообщения:
    4
    народ очень нужна помощь

    Вычислить сумму квадратов всех целых чисел, попадающих в интервал (ln x, exp в степени x), для заданного с клавиатуры x>1.

    вся фишка в том что я примерно немагу понять как описать логарифм и експаненту

    ЗЫ
    ассемблер в универе 3.2i версии

    парни очень нужно..
    хотябы тока сами функции описание возведения в степень логарифма и експоненты
     
  13. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Mikl___
    +1 Джордейн, одна из первых глав еще.
     
  14. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    8_rpamm
    справочник по FPU
     
  15. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    8_rpamm
    http://www.wasm.ru/article.php?article=edfpu01
    http://www.wasm.ru/article.php?article=edfpu02
     
  16. TaNuKi

    TaNuKi New Member

    Публикаций:
    0
    Регистрация:
    14 окт 2008
    Сообщения:
    2
    да-да, именно под Дос, менять константу пересчета в цикле, т.е. сначала посмотреть со стандартной, 18 по-моему, потом поменять... и посмотреть что покажет...
    А с портом проблема в том, что файлы на асме нам вообще не давали... и как это сделать мыслей нет, поэтому и прошу помощи по аське, готова разобраться и понять. Только объясните хотя-бы как переслать файл с одного компа на другой по ком порту. Онегай=)
     
  17. alhimik33

    alhimik33 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    3
    В регистре ax двухбайтовое число умножаем на двух байтовое. В каких регистрах будет результат и как его вывести?
     
  18. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    alhimik33
    результат в регистрах DX:AX, 4 байта - DX-старшее слово, АX-младшее.
    для вывода на экран, надо преобразовать из двоичного представления в десятичное, или шестнадцатиричное.
    способов преобразования много, от использования системных функций, до написания собственной функции.
    чтение данной WASM.BEGINNERS ветки форума с начала, а также http://www.wasm.ru/forum/viewtopic.php?id=18476 рекомендуется наравне с использованием поиска по форуму.
     
  19. alhimik33

    alhimik33 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    3
    Хочу взять тему дипломной работы на ассемблере. Заинтересовался созданием и программированием на ассемблере LPT и COM портов. Что Вы думаете, насколько это сложно?
    И какие еще распространенные темы дипломных или курсовых работ на ассемблере?
     
  20. alhimik33

    alhimik33 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    3
    t00x Спасибо, разобрался.