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

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

  1. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Quantum
    А данные желательно выравнивать, хотя бы воспитательно-образовательных примерах ;))
    На FPU умножение 5-байтовых чисел получается вдвое короче, но врядли быстрее ;)
    Код (Text):
    1. ;!!! выравниваем операнды
    2. a dq (?)       ;in 5 bytes
    3. b dq (?)       ;in 5 bytes
    4. r dd 3 dup (?) ;out 10 bytes
    5.  
    6. sub esp,8  ;temp dq    
    7. fild qword ptr [a]
    8. fld st(0)
    9. fimul dword ptr [b+2]
    10. fistp qword ptr [esp]  ;temp
    11. fimul word ptr [b]
    12. fistp qword ptr [r]
    13. pop eax  ;Lo dd of temp
    14. pop edx  ;Hi dd of temp
    15. add dword ptr [r+2],eax
    16. adc dword ptr [r+6],edx
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    leo
    Понял. Исправил.

    Тот код можно ещё немного оптимизировать - сократить 2 лишних обращения в кеш, но я потом увидел второй пост автора и понял, что зря старался :)
     
  3. RedLine

    RedLine New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2006
    Сообщения:
    2
    Тест флеш памяти
    Собствено надо помощ написать програму :) "тест флеш памяти" может у кого есть уже готовая програма или готов ее написать. Пишыте тут или на e-mail 5723270@ukr.net (О оплате труда над програмой договоримсь;) )
     
  4. sezon

    sezon New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2006
    Сообщения:
    2
    Срочно надо формула импульса Гауса или ее С/С++ реализация !!!
     
  5. sezon

    sezon New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2006
    Сообщения:
    2
    Помогите разобраться с Окнами Ханна !!! Как их замутить!!! Обьясните общий смысл !!!
     
  6. _SaNitAr

    _SaNitAr New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2006
    Сообщения:
    68
    sezon

    ф гугуль детко, достали лентяи.>8-[ }
     
  7. ForziKK

    ForziKK New Member

    Публикаций:
    0
    Регистрация:
    15 апр 2006
    Сообщения:
    5
    здрасти.

    нужно составить план тестирования лёгонькой программки на асме (арифметической)

    искал в инете, всё как-то слишком общО и не в тему.

    может быть, кто-то знает, как он хотя бы должен выглядеть? сами тесты составлять не требуется, только ПЛАН.
     
  8. uxus

    uxus New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2006
    Сообщения:
    1
    Помогите пожалуйста с задачкой:
    С установкой обработчика все ясно. или может где-то ошибся? Вот код.
    Код (Text):
    1. .model small
    2. .stack 100h
    3.  
    4. .data
    5.  
    6. OLD_CS  DW    0
    7. OLD_IP   DW    0
    8.  
    9. .code
    10. main  proc
    11.       mov    ax,@data
    12.       mov    ds,ax
    13.    
    14.       MOV   AX,351Ch
    15.       INT   21H
    16.       MOV   KEEP_IP,BX
    17.       MOV   KEEP_CS,ES
    18.  
    19.       PUSH  DS
    20.       MOV   DX,OFFSET INT_1CH
    21.       MOV   AX,SEG INT_1CH
    22.       MOV   DS,AX
    23.       MOV   ax,251Ch
    24.       INT   21H
    25.       POP   DS
    26.  
    27.       CLI
    28.       PUSH  DS
    29.       MOV   DX,OLD_IP
    30.       MOV   AX,OLD_CS
    31.       MOV   DS,AX
    32.       MOV   AH,25H
    33.       MOV   AL,1CH
    34.       INT   21H
    35.       POP   DS
    36.       STI
    37.  
    38.  
    39.       mov    ax,4C00h
    40.       int    21h
    41.  
    42.  
    43. INT_1CH  PROC  far
    44. ...
    45.       IRET
    46. INT_1CH  ENDP
    47.  
    48.  
    49. main  endp
    50. end   main
    Интересует как заставить прерывание работать только секунду и выводить кириллицу, тоесть сама процедура прерывания (INT_1CH).

    Заранее спасибо!
     
  9. pilot_borg

    pilot_borg New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2006
    Сообщения:
    1
    Мне дали задание: переопределить любое прерывание

    Само прерывание:

    Код (Text):
    1. public hand_87h
    2.  
    3. dhseg segment
    4.         mess DB "This is a 87h interrupt.", 13, 10, '$'
    5. dhseg ends
    6.  
    7. hseg segment
    8.                 assume cs:hseg, ds:dhseg
    9. hand_87h proc far
    10. push bp
    11.                 ;save all
    12.  
    13.                 push ax
    14.                 push bx
    15.                 push cx
    16.                 push dx
    17.  
    18.                 ;say bad words :)
    19.  
    20.                 mov ax, dhseg
    21.                 mov ds, ax
    22.                 mov dx, offset mess
    23.                 xor ax, ax
    24.                 mov ah, 9h
    25.                 int 21h
    26.  
    27.                 ;restore and exit
    28.  
    29.                 pop dx
    30.                 pop cx
    31.                 pop bx
    32.                 pop ax
    33.                 iret
    34. hand_87h endp
    35. hseg ends
    36. end
    основная программа:

    Код (Text):
    1. dseg segment
    2.         oldh DD ?
    3. dseg ends
    4.  
    5. rseg segment
    6.                 assume cs:rseg, ds:dseg, ss:sseg
    7.  
    8.                 ; program entry point
    9.         start:
    10.                 mov ax, dseg
    11.                 mov ds, ax
    12.  
    13.                 ; save old handler
    14.  
    15.                 mov ax, 3587h      
    16.                 int 21h    
    17.                 mov word ptr oldh, bx    
    18.                 mov word ptr oldh+2, es
    19.  
    20.                 ; set new handler
    21.  
    22.                 mov ax, 2587h
    23.                 mov dx, seg hand_87h    
    24.                 mov ds, dx                
    25.                 mov dx, offset hand_87h
    26.                 int 21h
    27.  
    28.                 ; trying call hand_87h
    29.  
    30.                 int 87h ; неробит
    31.  
    32.                 ; restore old handler
    33.  
    34.                 lds dx, oldh
    35.                 mov ax, 2587h    
    36.                 int 21h    
    37.  
    38.         ;endprog:
    39.                 mov ax, 4c00h
    40.                 int 21h
    41. rseg ends
    42. end start
    Шо мне нужно сделать , чтобы вызвать етот 87h??

    P.S. Я тока учусь, так что будьте снисходительны.
     
  10. verto

    verto New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    7
    Помогите, пожалуйста. Мне задали написать программу переключения в защищенный режим средствами DPMI.
    Где ее можно найти, может у кого-то есть?
     
  11. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    verto
    Зубкова смотрите. Глава 6.3 Интерфейс DPMI. (у меня страница 394)
     
  12. ScoRpuwa

    ScoRpuwa New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    2
    Привет фанатам ассемблера!

    У меня к вам просьба...могли бы вы написать простой пример програмы клиент-сервер, которая бы передавала бы сообщение через COM-порт на другой компьютер, который бы в свое время примимал это сообщение...а то я это реализовать не могу, а хотелось бы... или где можно про это почитать...

    З.Ы. простейшую программку!
     
  13. verto

    verto New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    7
    Смотрел Зубкова. Ту прогу мне сказали доработать, много мусора там.
    а я не знаю как ее доработать :dntknw:

    мне походу нужно, чтоб только переключала и выводила соответствующее сообщение, в Зубкове кучу ненужного выводит.
     
  14. ScoRpuwa

    ScoRpuwa New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    2
    Люди, помогите... неужели никто не знает?
     
  15. verto

    verto New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    7
    народ, помогите прогу (с dpmi) доработать
     
  16. Tohey

    Tohey New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2006
    Сообщения:
    31
    Всех с новым годом!
    У меня проблема, не могу найти инфо про линейную адресацию видеопамяти. Задачка звучит так: написать программу которая выводит на экран вертикальную красную линию, при линейной адресации видеопамяти.
     
  17. Tohey

    Tohey New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2006
    Сообщения:
    31
    Типа пишется под ДОС, желательно на асме
     
  18. qwerty9911

    qwerty9911 New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2006
    Сообщения:
    4
    Нужно написать программу, которая типа задает вопрос "Press Any Key" и после нажатия какого-либо символа выводит "You press is <символ>", и сделать все это в цикле.

    P.S. Как сделать ввод/вывод символа после нажатия Enter я и так знаю.
     
  19. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    qwerty9911, #34
     
  20. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    qwerty9911
    "Ты нажать есть <символ>". Да, оригинально.

    Значит, ты не знаешь как сделать бесконечный цикл:

    metka:

    ; 1. вывести: Press any key

    ; 2. прочитать символ с клавиатуры

    ; 3. вывести смешную фразу с индейским акцентом

    jmp metka

    Что именно тут не понятно? По пунктам 1 и 3, кажется, вопросов нет. П2 тоже очень просто (см. в учебнике)