[ Assembler ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by !_filin_!, 25 May 2007.

  1. alextoun

    alextoun Вылет с Трассы

    Joined:
    7 May 2006
    Messages:
    563
    Likes Received:
    216
    Reputations:
    96
    блин можете кто-нибудь сделать
     
    1 person likes this.
  2. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    alextoun -> fasm , masm ? (можно msvcrt подключить и через переходники всё резко упростится)
     
  3. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Без msvcrt тут за*бёшься...
    alextoun, тебе куда такие занудные программы нужны?

    PS Если до того момента, как я освобожусь, никто не поможет, то напишу чё-нть...
     
    1 person likes this.
  4. alextoun

    alextoun Вылет с Трассы

    Joined:
    7 May 2006
    Messages:
    563
    Likes Received:
    216
    Reputations:
    96
    Tasm
    а ты угадай :)
     
    2 people like this.
  5. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ???
    Тебе что, под дос надо? через прерывания?? А кто их сейчас помнит?... Изващение...
     
  6. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    Не помнят, но юзают интерапт лист.
     
  7. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    блин, я правда уже ничего оттуда не помню... и в интеррапт листе тоже искать что бы то ни было весьма занудно... а галавное - непонятно зачем!
    я помню только
    Code:
    mov ah, 4Ch
    int 21h
    Конечно, многое там через int 21, но как выводить вещественные числа - только используя последовательные div'ы? или есть что-нть из интов?

    Кстати, напомните кто-нибудь, что там в тасме с математическим сопроцессором?
     
  8. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    Не понятен вопрос, тебя интересуют математические команды сопроцессора?
     
  9. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    в смысле он там реализован или нет? Эх... плохо я помню историю...
     
  10. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Так, третья задачка без ввода-вывода (писал в блокноте, идея такая, но могут быть ошибки синтаксиса):
    Code:
    переменные:
    temp dw ?
    max dw ?
    min dw ?
    pos dw ?
    
    код:
    //тут читаем temp
    mov cx, temp
    mov pos, 0
    xor di,di; дней со сменой знака
    mov dl, 2; температура минусовая - 1, плюсовая - 0, Ноль - 2
    xor ax, ax
    mov max, temp
    mov min, temp
    
    cmp temp, 1
    jge sk
    cmp temp, 0
    jz circle;
    mov dl, 1
    jmp circle
    sk:
    inc pos
    mov dl, 0
    jmp circle
    
    circle:
    inc ax
    cmp ax, 31; 0..30 - 31 день
    jz exit
    //тут читаем temp
    add cx, temp
    cmp temp, min
    jge mm
    mov min, temp
    mm:
    cmp temp, max
    jle mm1
    mov max, temp
    mm1:
    cmp temp, 1
    jl mm2
    inc pos
    mm2:
    cmp temp, 0;
    jz circle; ноль нам не интересен
    
    mov dh, dl;запоминаем предыдущий знак
    
    jg sk3
    ;меньше нуля
    mov dl, 0
    jmp sk4
    sk3:
    ;больше нуля
    mov dl, 1;
    
    sk4:
    cmp dh, 2;пока только нули
    jz circle
    
    cmp temp, 0;
    jg sk2
    ;меньше нуля
    cmp dh, 0; предыдущий +
    jnz circle
    inc di
    sk2:
    ;больше нуля
    cmp dh, 1; предыдущий -
    jnz circle
    inc di
    exit:
    
    ;cx-сумма температур
    ;di - дней со сменой знака
    ;max - наиб. температура
    ;min - наим. температура
    ;pos - температура болше нуля
    PS я считал, что "-10, 0, 0, -5" знак температуры не меняется
     
  11. NetSter

    NetSter Moderator

    Joined:
    30 Jul 2007
    Messages:
    810
    Likes Received:
    414
    Reputations:
    62
    Нужен совет знающих людей.
    Вопрос о видеосервисе VGA (он же находится в прерываниях BIOS 10h), номер функции 11h.
    как я заранее понял в этой функции есть 4 подфункции. (по ходу которые отвечают за установку видеопараметров)
    вот часть кода программы, (которая создает и загружает свой символ в знакогенератор) что устанавливает видеоадаптер в какой нить режим (здесь в 3-ий):

    --------
    mov ah,0
    mov al,3
    int 10h

    --------
    собственно вопрос:
    1) правильно ли осуществляется переключение видеоадаптера в 3-ий режим?
    2) дайте подробное описание других режимов и особенности их применения

    ps/ немного знаю о нулевой функции (al = 0), при использовании которой данные определенные программистом переносятся с памяти в спец блок символов.
    Заранее спасибо.
     
    _________________________
  12. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    2NetSter:
     
    #312 iv., 6 Jun 2008
    Last edited: 6 Jun 2008
    1 person likes this.
  13. lm137

    lm137 New Member

    Joined:
    21 Nov 2007
    Messages:
    17
    Likes Received:
    3
    Reputations:
    0
    Только начал изучать, 2 глупых вопроса.
    1)Зачем нужен отладчик?
    Если для проверки написанного, то, что бы я не писал он выдает однои то же Unknow command
    Например пробовал присвоение регистру ах
    mov ax,10h
    ну или mov ax,0Ah

    и

    2)Вопрос, как сохранить программу в MS-DOS..?

    ПС на форуме поиск юзал, скожих тем\сообщений не нашел..)
     
  14. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    прочитав вопросы уместно будет спросить:
    а ты с помощью чего(какого отладчика) и что отлаживаешь(com, exe, dll)?
    меня смущает:
    ЗЫ: в гугл вбей: "Что такое отладчик?"
     
  15. lm137

    lm137 New Member

    Joined:
    21 Nov 2007
    Messages:
    17
    Likes Received:
    3
    Reputations:
    0
    Прочитав вопросы уместно будет ответить на них, т.к. тема для новичков, а новичок здесь - я.
    Спрашивать у новичка про то, о чем он не знает - не поддается логики.

    Представь, что я в 1м классе а ты в 9м, и спрашиваешь у меня как решать логорифмы,ога?

    Жду адекватных постов..

    Ну или сам разберусь.

    Кстати, "только начал изучать" - имеется ввиду, что читаю Ассемблер для чайников - 4-5часов.
    Тебе это о чем нибудь говорит,нет?

    ЗЫ: В гугл вбей: "мозг - как часть организма."
     
    #315 lm137, 7 Jun 2008
    Last edited: 7 Jun 2008
    1 person likes this.
  16. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    1) Ты пишешь, что написал простейшую программу, которая кладет в регистр AX 10h! Попытался открыть её с помощью отладчика! А он пишет, что комманда неизвестна! Вот я и спрашиваю: "Что за отладчик ты используешь!"

    2)
    >>Вопрос, как сохранить программу в MS-DOS..?
    Я не понимаю вопроса! Может быть ты хочешь скомпилировать программу в *.com!?

    Следую банальной логике, ты мог отрыть только OllyDbg! А она отлаживает только 32bit программы тоесть EXE, а не COM!

    Вот я и задаю вопросы какого хера ты делаешь... Чтоб объяснить что ты делаешь не так!

    не груби мне! я те помочь пытаюсь между прочем! не*** тупые вопросы задавать, на которые можно без труда ответы найти!
     
    #316 taha, 7 Jun 2008
    Last edited: 7 Jun 2008
  17. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    Лучше не трогай MS-DOS и вообще сразу начинай с винды... Потому дос - это уже все муть практически ненужная (мое имхо). читаем

    http://wasm.ru/publist.php?list=1

    Отладчик - ollydbg. Самое то.

    http://ollydbg.de/

    Ну и в реверсинг почаще заглядывай. там на эту тему инфы полно
     
    2 people like this.
  18. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    По-моему, ты хамеешь...
     
    1 person likes this.
  19. lm137

    lm137 New Member

    Joined:
    21 Nov 2007
    Messages:
    17
    Likes Received:
    3
    Reputations:
    0
    Сорри, ща просто сессия.. по 8ч. занятия, крыша едет. х_Х
    Прога AFD pro.
    Программу для начала хочу в MS-DOS сохранить, что бы проверить на работоспособность

    Так отладчик нужен для перевода в разные расширения или для проверки на предмет ошибок?
     
    #319 lm137, 7 Jun 2008
    Last edited: 7 Jun 2008
  20. lm137

    lm137 New Member

    Joined:
    21 Nov 2007
    Messages:
    17
    Likes Received:
    3
    Reputations:
    0
    Спасибо большое..
    Ща полазию.