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

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

  1. Masya

    Masya New Member

    Публикаций:
    0
    Регистрация:
    23 янв 2008
    Сообщения:
    2
    я в этом совсем ничего не понимаю,а сдать лр нужно срочно.Помогите пожалуйста
     
  2. Infinity

    Infinity New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2008
    Сообщения:
    1
    Очень-очень нужна Ваша помошь...

    Задача: написать короткую и простую прогу на ассемблере под Intel (TASM)
    Вывести содержимое каталога (любого) на экран (типа команды dir в досе).

    Заранее огромное спасибо... =)
    Надеюсь на Вас...
     
  3. CrazyFun

    CrazyFun New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    129
    Надежда - первый шаг на пути к разочарованию:)
     
  4. redcat

    redcat New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    62
    Если на C++ подойдет, то вот она - программа для передачи файлов с одного компа на другой через сом-порт по 0-модемному кабелю.
    В основе программы пример из БСП братьев Фроловых для работы с портом напрямую.
    Написана в Borland C++ для DOS (открывать нужно как проект).
    Программа с одной стороны не лишена недостатков (все-таки учебная) и в ней кое-что лишнее, без чего можно было бы обойтись. Кроме того, следует изменить в программе и скорость порта, например, на значение 115200 бод.
     
  5. Horhe

    Horhe New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2008
    Сообщения:
    2
    Помогите решить задачу по ОП плиз. (Java)
    Дан двумерный целочисленный массив. Упорядочить строки матрицы по
    возростанию количества четных элементов в стоке. Сортировка методом
    пузырька. Найти минимальный элемент среди положительных элементов
    в каждом столбце матрицы.
    Зарание благодарен :)
     
  6. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Horhe
    Вот сортировка пузырьком:

    Дальше, думаю, не проблема :derisive:
    P.S. Не люблю я высокоуровневые заносы Java, так что писать не буду (этот кусок взял с Вики). Отношение сродни VB.
     
  7. Horhe

    Horhe New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2008
    Сообщения:
    2
    Спасибо, но это у меня тоже есть. Я дальше немогу.
    Если поможите буду отчень благодарен.
     
  8. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Horhe
    Ну попробуй что-нить подобное (писалось на коленке, академично, если что не так, поправьте):
    Код (Text):
    1. #define W 5
    2. #define H 5
    3.  
    4. // подсчет числа четный элементов в строке row
    5. int count_even(int* row) {
    6.     int r = 0;
    7.     for (int c=0; c<W; c++)
    8.         if ( !(row[c] & 1) ) r++;
    9.     return r;
    10. }
    11.  
    12. // непосредственно сортировка
    13. void sort( int &*arr ) {
    14.     // флаг того, что в данном проходе не было ни одного swap'а, т.е. массив отсортирован
    15.     bool was_swap = false;
    16.    
    17.     do {
    18.         // считаю число четный элементов в первой строке
    19.         int count_prev = count_even( arr[0] );
    20.         // прохожу по всем строкам и считаю в них число четных элементов
    21.         for (int r=1; r<H; r++) {
    22.             int cur_count = count_even( arr );
    23.             // если строки нужно обменять местами - делаю это поэлементно
    24.             if ( cur_count < count_prev ) {
    25.                 for (int c=0; c<(W-r+1); c++) {
    26.                     arr[r][c] ^= arr[r-1][c];
    27.                     arr[r-1][c] ^= arr[r][c];
    28.                     arr[r][c] ^= arr[r-1][c];
    29.                 }
    30.                 // выставляю флаг того, что обмен был
    31.                 was_swap = true;
    32.             }
    33.             count_prev = cur_count;
    34.         }
    35.     // гоняю цикл пока не будет обменов
    36.     } while ( !was_swap );
    37. }
    38.  
    39. int arr[H][W], mins[H];
    40. sort( arr );
    41.  
    42. // ну а тут поиск минимальных положительных
    43.  
    44. // инициирую элементы mins самыми большими значениями строк +1
    45. // можно просто написать mins[r] = 10000; к примеру
    46. for (int r=0; r<H; r++) {
    47.     mins[r] = 0;
    48.     for (int c=0; c<W; c++)
    49.         if ( arr[r][c] > mins[r] ) mins[r] = arr[r][c]+1;
    50. }
    51.  
    52. // непосредственно ищу минимальные элементы
    53. for (int r=0; r<H; r++) {
    54.     for (int c=0; c<W; c++)
    55.         if ( arr[r][c] > 0 )
    56.             if ( arr[r][c] < mins[r] ) mins[r] = arr[r][c];
    57. }
     
  9. Cerebrate

    Cerebrate New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2007
    Сообщения:
    7
    Пожалуйста, нужна программа: Шифрование, дешифрование данных ASCII кодом числа 22 путем прибавления - шифрование, и путем отнимания - дешифрование!
    Получается при шифровании нужно вводить название файла, т.е.

    programa.exe -file.txt

    помогите пожалуйста, заренее ОЧЕНЬ Вам благодарен !!!
     
  10. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Cerebrate
    Я на форуме выкладывал в какой-то ветке код шифра Цезаря. Как я понял, тебе именно это и нужно.
     
  11. Cerebrate

    Cerebrate New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2007
    Сообщения:
    7
    Там на С++, мне нужно на ассемблере, значить так: прога дожна к каждому числу добавить ASCII код 22 при шифровании !
     
  12. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Cerebrate, никто за вас ничо песать не буит (разве что у когото подобный мусор заволялся на винте или просто жутко нефег делоть). покажите что у вас получилось(что не получилось), вам укажут на ваши ошибки
     
  13. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Cerebrate
    Если ты не можешь перевести с C/C++ на Asm два наипростейших цикла, то зачем ты тогда вообще на ассемблер взялся?
     
  14. Cerebrate

    Cerebrate New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2007
    Сообщения:
    7
    а меня типа хто-то спрашивал ?
    я учусь на обслуживание компьюторных, интелектуальных систем и сетей, а не на програмиста, но тут придмет: системное програмирование, я знаю прикладное php, html, базу данных MySQL. Ассемблер для меня что для вас Египетские ероглефы!

    но с исходником еще как-то разобратся смогу, обозначение елементов можно найти в книгах/мануалах
     
  15. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    offtop
    не удивлюсь если кто-то все же разбирается в "Египетские ероглефы!"
     
  16. cleric

    cleric New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2008
    Сообщения:
    1
    Доброй всем ночи. Задание состоит в слудующем: создать обработчик прерываний от клавиатуры, которая отображает количество скан-кодов, которые пришли к каждой расширенной клавише ДО отжатия. Проблема чисто информативного характера (ответа обыскался уже): чем это самое количество отловить? :) Может счетчик какой где идет? Допустим выловили выловили момент нажатия из порта 60h и что дальше то? :dntknw: И имеет ли какое то отношение к этой проблеме автоповтор?
     
  17. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    UTeX
    /offtop
    дешифрация египетских иероглифов -> дизассемблирование без исходного текста
     
  18. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Mikl__
    /offtop
    но ведь числа уже изобрели )
    P.S. пардон, не числа а цифры
     
  19. Cerebrate

    Cerebrate New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2007
    Сообщения:
    7
    Помогите переделать программу так, чтобы при кодировке(Encode) создавался файл:"Encode", а при декодировании(Decode) создавался файл:"Decode"

    Собственно сама программа:

    org 100h
    ;FileName
    mov dx,fnq
    call Show
    call ReadStr
    call OpenFile
    call ClearLine
    ;E/D
    mov dx,edq
    call Show
    call ReadChar
    mov ah,[buf]
    mov [ed],ah
    call ClearLine
    ;code
    call CreateFile
    ;----------------
    call ReadFile
    ReWr:
    call WriteFile
    call ReadFile
    cmp ax,0
    jne ReWr

    ;OK
    call ClearLine
    mov dx,ok
    call Show

    ;Close Files
    mov bx,[fhl]
    call CloseFile
    mov bx,[ohl]
    call CloseFile
    int 20h

    ;proc
    OpenFile:
    mov ah,3Dh
    mov al,0h
    mov dx,string
    int 21h
    mov [fhl],ax
    ret

    CreateFile:
    mov ah,3Ch
    mov cx,0h
    mov dx,ofn
    int 21h
    mov [ohl],ax
    ret

    ReadFile:
    mov ah,3Fh
    mov bx,[fhl]
    mov cx,1
    mov dx,buf
    int 21h
    ret

    WriteFile:
    cmp [ed],'e'
    je .Encode
    cmp [ed],'d'
    je .Decode

    .Encode:
    add [buf],22h
    jmp .EndOfIF
    .Decode:
    add [buf],-22h
    .EndOfIF:
    mov ah,40h
    mov bx,[ohl]
    mov cx,1
    mov dx,buf
    int 21h
    ret

    CloseFile:
    mov ah,3Eh
    int 21h
    ret

    ReadStr:
    mov bx,string
    .readch:
    call ReadChar
    mov ah,[buf]
    mov [bx],ah
    inc bx
    cmp [buf],13
    jne .readch
    mov ah,0
    mov [bx-1],ah
    ret

    ReadChar:
    mov ah,01h
    int 21h
    mov [buf],al
    ret

    Show:
    mov ah,09h
    int 21h
    ret

    ShowCh:
    mov ah,02h
    int 21h
    ret

    ClearLine:
    mov dx,c2l
    mov [c2l],13
    mov [c2l+32],'$'
    mov ah,09h
    int 21h
    mov dl,13
    call ShowCh
    ret

    ;data
    string db 32 dup(0)
    c2l db 32 dup (' ')
    buf db ?
    ed db ?
    fnq db 13,'Enter File Name $'
    edq db 13,'Encode\Decode $'
    ok db 13,'Completed... $'
    fhl dw ?
    ohl dw ?
    ofn db 'OutputFile',0
     
  20. Sash0k

    Sash0k New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2007
    Сообщения:
    2
    Задачка по криптографии:

    Добрый день всем! Есть задача (привожу дословно):
    "Исходное цифровое сообщение коммерсант шифрует и передает. Для этого он делит последовательность цифр исходно сообщения на группы по пять цифр в каждой и после двух последовательных групп приписывает еще две последние цифры суммы чисел, изображенных этими двумя группами. Затем к каждой цифре полученной последовательности он прибавляет соответствующий по номеру член некоторой целочисленной арифметической прогрессии, заменяя результат сложения остатком от деления его на 10.
    Найдите исходное цифровое сообщение по шифрованному сообщению: 4 2 3 4 6 1 4 0 5 3 1 3."

    Пока кроме полного перебора ничего в голову не приходит... помогите пожалуйста с эффективным алгоритмом