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

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

  1. xanser

    xanser New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2010
    Сообщения:
    1
    Задача: разработать простейший графический редактор на языке Assembler. Программирование 32х под windows. Среда masm32. Задание является лабораторной работой. Нужны будут исходные коды.

    Что должен уметь: рисование линии, прямоугольника, окружности, выбор цвета рисования.

    Важно: запрещено использовать макроконструкции, invoke и пр. Код – чистый 32битный ассемблер.

    Готов заплатить за это дело 1200 wmr. Последний срок вторник. Связаться лучше через ЛС
     
  2. newbie

    newbie New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2008
    Сообщения:
    1.246
    тебе надо было в коммерц постить если платить готов. там быстрее увидят
     
  3. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    пишу вопрос тут т.к. влом искать куда написать.
    нужно увеличить значение в регистре с 0 до 2.
    что лучше использовать : 1)Inc EAX два раза; 2)ADD EAX,2; 3)MOV EAX,2
    собсно что работает быстрее и задействует меньше операций.
    я конечно понимаю что я разницы не увижу в любом случае.но вопрос чисто теоретический.
     
  4. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    Есть у меня функция, которая принимает 3 адреса ( не важно что она делает внутри делает)
    функция работает правильно если передавать ей глобальные переменные
    Есть другая функция, которая внутри себя вызывает предыдущую, но один параметр нужно передать не глобальный,а локальный.
    как правильно задать?
    Вот как в случае с глобальными переменными:
    Код (Text):
    1. invoke QueueEnter,OFFSET Queue,OFFSET Value,OFFSET VectorFree
    При вызове из функции

    Код (Text):
    1. Func proc
    2.           LOCAL Variable     :DWORD
    3.           mov Variable,1
    4.           invoke QueueEnter,OFFSET Queue, ...... , OFFSET VectorFree ; что тут передать чтобы
    5. ;использовалось локальная переменная Variable аналогично как если бы мы указали адрес
    6. ;глобальной
     
  5. niakris

    niakris Дмитрий

    Публикаций:
    0
    Регистрация:
    3 сен 2008
    Сообщения:
    45
    addr Variable
     
  6. pas_eXpert

    pas_eXpert New Member

    Публикаций:
    0
    Регистрация:
    19 янв 2011
    Сообщения:
    1
    Друзья помогите! срочно нужно сделать курсовую, в ней одно из заданий
    "Разработать резидентный обработчик прерывания, который при нажатии некоторой комбинации клавиш должен менять цвет символов последней выведенной строки (10 различных цветов)."

    примечание: резидентный обработчик прерывания разрабатывать в реальном DOS (не под Windows)

    На вид кто разбирается сделать не трудно. Но т.к. я заочник и работаю, времени разбираться совсем нет. Если кому не трудно, огромная просьба напишите код этой программки. Если я ее ближайшие дни не сделаю меня не переведут на 3 курс, и платил я за него получается зря((( Я бы даже заплатил но не умею переводить деньги в интернете.Заранее огромнейшее спасибо!
     
  7. niakris

    niakris Дмитрий

    Публикаций:
    0
    Регистрация:
    3 сен 2008
    Сообщения:
    45
    pas_eXpert

    Перехвати прерывание

    mov ah, 035h
    mov al, ххх
    int 021h
    mov [cs:oldsegxxx], es
    mov [cs:oldofsxxx], bx

    Установи свой обработчик

    push ds
    mov ax,cs
    mov ds,ax
    lea dx,yyy // Адрес нового обработчика
    mov ah,025h
    mov al,xxx
    int 021h
    pop ds

    :)
     
  8. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    pas_eXpert на каком языке нужно? Си ? Ассемблер? TASM, MASM, A86 или еще какой?
    Есть куча других способов перевода.
     
  9. Administrator

    Administrator New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2009
    Сообщения:
    23
    pas_eXpert
    Готов выполнить.
    обращаться: bаrаnоv<ноль собака янд-кс точка ру>
     
  10. LIS355

    LIS355 New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2010
    Сообщения:
    4
    а обязательно открывать фрейм стека,
    push ebp
    mov ebp,esp
    вопрос если я этого не делаю, что плохово будет?
    я парметры считываю 1 раз и в процедуре больше стек не юзаю. программа будет использоваться много раз в цикле. вот хочу время сократить на бессмысленном открывании кадра стека
     
  11. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    нет не обязательно. можно например сделать так
    Код (Text):
    1.  ...
    2.  push eax
    3.  fldpi
    4.  fadd st0, st0
    5.  fidiv dword [esp+12]; параметр основной подпрограммы (например: количество точек в окружности)
    6.  fstp dword [esp]
    7.  ...
    8.  mov ecx, [esp+12]
    9. @@:
    10.  push ecx
    11.  call loop_body
    12.  pop ecx
    13.  loop @b
    14.  ...
    15.  pop eax
    16.  ...
    17.  
    18. loop_body:
    19.  fild dword [esp+8]
    20.  fmul dword [esp+12]
    21.  fld st0
    22.  fadd dword [esp+12]
    23.  fxch st1
    24.  fsincos
    25.  fxch st1
    26.  fxch st2
    27.  fsincos
    28. ;st0 - x0
    29. ;st1 - y0
    30. ;st2 - x1
    31. ;st3 - y1
    32.  ...
    33.  retn
     
  12. LIS355

    LIS355 New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2010
    Сообщения:
    4
    спасибо. возникла новая проблема.
    у меня проект в vs2010, есть 2 файла в проекте main.cpp и sub.asm
    значит в последнем написана нужная мне процедура типа
    Код (Text):
    1. .686
    2. .model flat, C
    3.     public somesub
    4. .code
    5.  
    6. somesub proc
    7. ...
    8. somesub endp
    9.  
    10. end
    в основном файле проги main cpp я подключил процедуру так
    extern "C" void _cdecl somesub();

    итог: в режиме дебага работает все отлично, но только как переключаю на релиз, пишет
    fatal error LNK1120: 1 неразрешенных внешних элементов
     
  13. albertik

    albertik New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2011
    Сообщения:
    10
    Очень нужно решить такие задачки.
    1. Имеется процессор К580ВМ80А. Нужно составить программу в машинных кодах для уравнения [​IMG]
    2. Составить в машинных кодах программу для умножения методом суммирования множимого. Требуется решить 6х4.
     
  14. nyanya

    nyanya Диана

    Публикаций:
    0
    Регистрация:
    30 мар 2011
    Сообщения:
    1
    Адрес:
    г.Москва
    Ну где же вы были раньше!!! В прошлом году закончила...
     
  15. paralvic

    paralvic Пархоменко Александр Викторович

    Публикаций:
    0
    Регистрация:
    20 ноя 2010
    Сообщения:
    294
    Адрес:
    Нижний Новгород
    Z80 живее всех живых? Где вы их берёте?

    Цитата из исходниктчкру
     
  16. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    LIS355
    какой элемент не может найти линкер? Это скореее всего манглинг имен
     
  17. Vindiz

    Vindiz New Member

    Публикаций:
    0
    Регистрация:
    1 апр 2011
    Сообщения:
    1
    Помогите пожалуйсто на Emu8086, начало программы ввода символов уже написал а дальше невыходит. Ввести з клавіатури рядок. Перетворити всі малі букви у великі. Вивести результати на екран.
     
  18. Pro100

    Pro100 New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2011
    Сообщения:
    1
    "Расположение элементов в 3D пространстве "

    Нужно найти максимальное количество точек, которые можно расположить в пространстве с размерами
    x, y, z, причем так розтавиты максимальное количество точек внутри, чтобы все разницы между
    ими были разными. Вывести максимальное количество и показать это в 3D пространстве.
    Реализовать, желательно, на masm32 (Программа под Windows).
    {Минимизировать перебор, чтобы это не продолжалось вечность}
    Например, в 2D пространстве, точки выбираем так:
    ...0 1
    0 Х Х
    1 Х

    ...0 1 2
    0 Х Х
    1 Х

    ...0 1 2
    0 Х Х
    1 Х
    2 Х Х
     
  19. paralvic

    paralvic Пархоменко Александр Викторович

    Публикаций:
    0
    Регистрация:
    20 ноя 2010
    Сообщения:
    294
    Адрес:
    Нижний Новгород
    Pro100
    Думаю задача чисто математическая.
    Понял, что нужно найти геометрическое место точек, пример "в 2D пространстве" не понял.

    Результат будет список точек. Если вы его оформите в стандартном виде, то реализация движка будет не суть важна. Мой совет: рассмотрите текстовый формат Wavefront OBJ.
    На wasm.ru есть реализации 3D движков. Кроме того все современные 3D редакторы его поддерживают.
     
  20. vikmarchello

    vikmarchello Вітілій Андрійович

    Публикаций:
    0
    Регистрация:
    9 апр 2011
    Сообщения:
    1
    Нужно нарисовать круг движущийся по cos. Нужна помощь. Есть пример просто круг и движения треугольника по cos. По зарез нужно...Помогите ;)

    Народ, помогите. ОЧЕНЬ-ОЧЕНЬ ПРОШУ ;)