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

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

  1. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Sash0k
    Я понимаю задание так:
    есть входной поток I: i0, i1, i2, i3, i4, i5, i6, i7, i8, i9
    есть некая арифм. прогрессия: Si = a0 + d*i

    разбиваем поток на группы и подсчитываем суммы (промежуточный поток T):
    T: i0 i1 i2 i3 i4 | i5 i6 i7 i8 i9 | (i0+i1+i2+i3+i4) (i5+i6+i7+i8+i9)
    затем прибавляем прогрессию:
    T: (i0+a0) (i1+a0+d) (i2+a0+2d) ...... (i9+a0+9d) | (i0+i1+i2+i3+i4 + a0+10d) (i5+i6+i7+i8+i9 + a0+11d)
    ну и наконец получаем выходной поток O через div 10:
    O: (i0+a0)%10 (i1+a0+d)%10 (i2+a0+2d)%10 ..... (i5+i6+i7+i8+i9 + a0+11d)%10

    Ну и суть в том, чтобы зная O получить I.

    1) Я правильно все понял?
    2) прогрессия S известна при расшифровке?
     
  2. assembler_freak

    assembler_freak New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2007
    Сообщения:
    9
    помогите с кодом x86 (Intel) для лабороторной работы
    Задание подсчитать сумму чисел от 1 до n, результат сохранить в регистре [res].
    Заранее спасибо!
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    интересный такой регистр...
     
  4. assembler_freak

    assembler_freak New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2007
    Сообщения:
    9
    в любом регистре
     
  5. lytic

    lytic New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2008
    Сообщения:
    20
    Xerx
    Я думаю, что ты неправильно понял. Две цифры получаются сложением двух чисел, т.е. каждое число состоит из 5 цифр.
    Sash0k
    Даааа... перебор, если не известна ар.пр. :) Вот только не полный. Учитывай что в ар.пр. An=A1+d(n-1) и из условия сумма 5-ой и 10-ой цифры = 12 цифре (без сложения ещё с ар.пр.), тогда можно записать системы уравнений:
    4 2 3 4 6 1 4 0 5 3 1 3
    Первая:
    6 = (i5 + a1 + d*4) % 10
    3 = (i10 + a1 + d*9) % 10
    3 = (i5 + i10 + a1 + d*11) % 10
    -------------------------------
    6 = (a1 + d*2) % 10

    Вторая:
    4 = (i4 + a1 + d*3) % 10
    5 = (i9 + a1 + d*8) % 10
    1 = ( (1 или 0) + i4 + i9 + a1 + d*10) % 10
    ------------------------------------------
    8 = ( (1 или 0) + a1 + d) % 10

    (1 или 0) - т.е. был ли перенос

    И так перебором можно найти:
    a1 = 0
    d = 8

    Тогда исходное сообщение:
    44704 16411
     
  6. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    [eliminated]
     
  7. assembler_freak

    assembler_freak New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2007
    Сообщения:
    9
    так трудно помочь?
     
  8. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    assembler_freak
    Код (Text):
    1. ; Вход - понятно где, выход - edx:eax
    2.         xor     ecx, ecx
    3.         mov     edx, [n]
    4.         inc     ecx
    5.         lea     eax, [edx+ecx]
    6.         mul     edx
    7.         shrd    eax, edx, cl
    8.         shr     edx, cl
    ЗЫ Задача элементарная, такие здесь не любят.
     
  9. assembler_freak

    assembler_freak New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2007
    Сообщения:
    9
    KeSqueer, спасибо, выручил!
     
  10. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    KeSqueer - Задача элементарная - но решение мастерское!
     
  11. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    особенно это будет работать на отрицательных n/
     
  12. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    n0name
    Для отрицательных чисел не требуется
     
  13. whitehunter

    whitehunter New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2008
    Сообщения:
    1
    format MZ
    org 100h

    MOV AH, 0
    MOV AL, 6
    INT 10H

    mov ah,9
    MOV DX,BLUE_RED
    INT 21H
    lea dx,[welcome]
    int 21h

    mov ah,10h
    int 16h
    int 20h

    BLUE_RED DB 27,'[=4h$'
    welcome db "Welcome to Greate DOS!$"


    Почему управляющая строка [=4h$ выводится на экран вместо работы по назначению (изменение атрибутов цвета)
     
  14. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    whitehunter
    Это вывод строки, а не задание цвета.
     
  15. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    whitehunter
    Для работы с управляющими строками под ДОС надо ставить спец. драйвер (если не ошибаюсь, ANSI.SYS)
     
  16. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    censored
    А это и правда управляющая строка? Есть такая возможность? А то я в свое время выводил текст цветом через ПДП: цвет, символ, цвет, символ...
     
  17. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Xerx
    http://www.citforum.ru/operating_systems/msdos/H142.shtml
    первая ссылка в гугле
     
  18. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    censored
    Спасибо, не знал, почитаю.
     
  19. Rezist

    Rezist New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    5
    Вывести сегмент кода Поскажите, как вывести первые 10 байт сегмента кода. Как-то пытался, но выводит совсем не то. Препод сказал должно ввыводиться так будто в Far'е нажал F3, а потом F4. Вот собственно кусочек моего "творения":
    Код (Text):
    1.              mov ax, @code             
    2.         mov ds, ax     
    3.        
    4. l1:     push cx              
    5.        
    6.         mov dl, cs:[si]    
    7.         mov n1, dl     
    8.         shr dl, 4                
    9.        
    10.         mov cx, 2      
    11. l2:                
    12.         cmp dl, 9      
    13.         jle p           ; bl <= 9 ?        
    14.    
    15.         add dl, 37h     ; если нет то + 37h
    16.         jmp p1           
    17. p:      add dl, 30h     ; если да, то + 30h
    18.    
    19. p1:     mov ah, 2h     
    20.         int 21h        
    21.    
    22.         mov dl, n1     
    23.         and dl, 00001111b  
    24.  
    25.         loop l2            
    26.  
    27.         pop cx         
    28.         mov dx, 20h    
    29.         int 21h        
    30.         inc si         
    31.         loop l1        
    32.        
    33.         mov ah, 4ch    
    34.         int 21h        
    35. end
     
  20. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    Rezist
    а что в n1?