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

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

  1. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.784
    murder
    Нет нужно написать -- набери в Notepad следующий текст "ё Нh ёї@№( ґ°_«°.«вшґ НГ "и сохрани с расширением .com
     
  2. Dimaev

    Dimaev New Member

    Публикаций:
    0
    Регистрация:
    7 май 2009
    Сообщения:
    8
    После всех сообщений собрал такое:
    .386
    .model tiny
    .code
    org 100h
    mov ax,3h
    int 10h
    push 0B800h
    pop es
    mov di,20*80
    mov cx,40
    mov eax,0716072Eh
    rep stosd
    xor ax,ax
    int 16h
    ret
    end

    Открывается чёрное окно, но ничего не происходит. 1 нажатие любой клавиши и закрывается.... 0_о
     
  3. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.784
    Dimaev
    Напиши как было в #1596 и не пались -- препод поймет что это не ты писал, дяди так шутят :)
     
  4. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.784
    murder
    Удивительно, но чтобы твой пример заработал пришлось переписать его так
    Код (Text):
    1. .286;<-- без этого под WinXP в досовском окне выводилось черное окно, а так работает нормально, наверное проблемы в VM
    2. .model tiny
    3. .code
    4. .386
    5.     org   100h
    6. start:  mov   ax,3h
    7.     int   10h
    8.     mov ax,0B800h
    9.     mov es,ax
    10.     mov edi,20*80
    11.     mov ecx,40
    12.         mov eax,72E075Fh
    13.     rep stosd
    14.     xor   ax,ax
    15.     int   16h
    16.     ret
    17. end start
     
  5. Dimaev

    Dimaev New Member

    Публикаций:
    0
    Регистрация:
    7 май 2009
    Сообщения:
    8
    Линию то рисует, но она должна по заданию появиться слева посередине, дойти до правой стороны и исчезнуть :)
     
  6. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Код (Text):
    1. org   100h
    2. mov   ax,3h
    3. int   10h
    4.  
    5. push  ds
    6. pop   fs
    7. mov   di,20*80
    8. mov   esi,0716072Eh
    9. mov   bx,1
    10.  
    11. mov   word[gs:1Ch*4],main
    12. mov   [gs:1Ch*4+2],cs
    13.  
    14. @@:   jmp @b
    15. exit: ret
    16.  
    17. main:push   0B800h
    18.       pop   es
    19.       mov   cx,bx
    20.       mov   di,20*80
    21.       mov   eax,esi
    22.       rep   stosd
    23.       inc   bx
    24.       cmp   bx,40
    25.       jne   @f
    26.          xor  bx,bx
    27.          test si,si
    28.          je   exit
    29.          xor  esi,esi
    30.       @@:
    31. iret
     
  7. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    строки
    Код (Text):
    1. push  ds
    2. pop   fs
    3. mov   di,20*80
    нужно удалить
     
  8. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Mikl___
    У меня этод код нормально работает. Проблема в компиляторе.
     
  9. AntonBV

    AntonBV New Member

    Публикаций:
    0
    Регистрация:
    10 май 2009
    Сообщения:
    6
    Народ выручайте с курсачом, я не бум-бум.))
    В ЯП 28 разместить сумму положительных и чётных по номеру слов, а в ЯП 29 сумму отрицательных и нечётных по номеру слов.
     
  10. AntonBV

    AntonBV New Member

    Публикаций:
    0
    Регистрация:
    10 май 2009
    Сообщения:
    6
    алгоритм понимаю...а написать не могу, ассемблер не знаю
     
  11. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    пишешь на языке на котором понимаешь
    потом либо сам суешь модуль в иду
    либо оставляешь его тут - сунет тот кому не лень
     
  12. AntonBV

    AntonBV New Member

    Публикаций:
    0
    Регистрация:
    10 май 2009
    Сообщения:
    6
    Нужно написать прогу, именно на асме..задание такое.
    код программный на языке ассемблера TMS320C6x
     
  13. AntonBV

    AntonBV New Member

    Публикаций:
    0
    Регистрация:
    10 май 2009
    Сообщения:
    6
    кто нибудь сможет справиться??уже весь инет прелопатил.
     
  14. Ukito

    Ukito New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2008
    Сообщения:
    14
    как пощетать пример: y = a^2*b+(a-10*c)/(5*b*c) ?
     
  15. Ukito

    Ukito New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2008
    Сообщения:
    14
    точнее так: y = (a^2*b)+((a-10*c)/(5*b*c))
     
  16. AntonBV

    AntonBV New Member

    Публикаций:
    0
    Регистрация:
    10 май 2009
    Сообщения:
    6
    посмотрите правильный код?
    Stk SEGMENT Stack 'STACK'
    dw 128
    Stk ENDS
    data SEGMENT word public 'DATA'
    mas dw 1000, 20000, -20000, 30000, -6000, -10000
    I en equ ($-mas)/2
    Mas1 dw len dup(O)
    data ENDS
    text SEGMENT word public 'CODE'
    ASSUME csrtext, DS: data, ss: stk
    start:
    mov AX, data
    mov DS, AX
    ;zadaniel
    mov SI, offset mas
    mov DI, [SI]
    push DI
    mov DI,[SI+2*len-2]
    push Dl
    mov Dl, SI
    xor вх,вх
    xor BP,BP
    mov cx, len
    S4itaem:
    mov AX,[si]
    OR AX,AX
    js otr
    jmp poloj
    otr:
    inc BX
    jmp dalee
    polоj:
    inc BP dalee:
    add SI,2
    Loop s4itaem
    ; est' li u nas i +, i -?
    cmp BX,0
    je exit
    cmp BP,0
    je exit
    mov cx, BX
    mov DI, offset mas
    cikl:
    mov SI,DI
    na4alo:
    mov AX,[si]
    OR AX,AX
    js met add SI,2 jmp na4alo
    met:
    mov DI, SI
    NAME:
    cmp si, offset mas
    je nameste mov AX, [Sl-2]
    OR AX,AX
    js nameste
    mov AX, [Sl-2]
    mov BX, [SI]
    mov [SI], AX
    mov [SI-2], BX
    sub SI, 2 jmp name
    nameste:
    add DI, 2 Loop cikl
    exit:
    ;zadani e2
    mov SI, offset mas mov AX, [SI]
    cwd
    mov BP, DX mov BX, AX
    mov cx, len-1
    metka:
    mov AX, [SI+2]
    add SI, 2
    cwd
    add BX, AX
    adc BP, DX
    loop metka
    mov DX, BP
    mov AX, BX
    mov DI, word ptr Ten
    idiv DI
    ;sravnim
    mov si, offset mas
    mov DI, offset mas1
    mov CX, len
    poisk:
    cmp [si],AX
    nenashli
    mov BX, [si]
    mov [DI], BX
    add DI, 2 nenashli:
    add si, 2
    Loop poisk
    mov AX,4c00h lnt 21h
    text ENDS
    END START
     
  17. AntonBV

    AntonBV New Member

    Публикаций:
    0
    Регистрация:
    10 май 2009
    Сообщения:
    6
    код к этой задачи В ЯП 28 разместить сумму положительных и чётных по номеру слов, а в ЯП 29 сумму отрицательных и нечётных по номеру слов.
     
  18. necuk

    necuk New Member

    Публикаций:
    0
    Регистрация:
    11 май 2009
    Сообщения:
    2
    Здравствуйте, нужно решить следующую задачу:
    дана непустая последовательность от 1 до 20 слов, в каждом от 1 до 8 латинских букв, соседние слова разделенны запятой, за последним словом - точка. Требуется ввести эту последовательность в виде списка слов, упорядоченных по алфавиту, и затем просто вывести все слова с указанием порядкового номера вхождения.
    Благодарю за любую помощь :р
     
  19. necuk

    necuk New Member

    Публикаций:
    0
    Регистрация:
    11 май 2009
    Сообщения:
    2
    забыл добавить: обязательно описать отдельно следующие процедуры:
    -чтение очередного слова, дополнение его справа пробелами до 8 символов и запись в --фиксированное место памяти
    -вставка нового слова в список
    -просмотр и печать списка
    Для размещения звеньев списков выделить в памяти область подходящего размера (кучу), и описать процедуру аналогичную процедуре New в Паскале, которая при каждом обращении к ней выделяет из кучи свободные ячейки под новое звено.
     
  20. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    AntonBV
    Код (Text):
    1. var
    2. a: array[0..15] of smallint=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
    3. sum1,sum2: integer;
    4. i: word;
    5. begin
    6. for i:=0 to 15 do
    7.     if (i and 1=0)and(a[i]>=0) then
    8.         sum1:=sum1+a[i]
    9.     if (i and 1=1)and(a[i]<0) then
    10.         sum2:=sum2+a[i]
    11. end.