Wasm32 Калькулятор

Тема в разделе "WASM.ASSEMBLER", создана пользователем DissDoc, 10 дек 2004.

  1. DissDoc

    DissDoc New Member

    Публикаций:
    0
    Регистрация:
    8 дек 2004
    Сообщения:
    2
    Начал изучать ассемблер... И понял что после программы "Hello, Assembler!", мне необходимо написать программу калькулятор... встает вопрос - как это сделать?
     
  2. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Хе... Прилепить лексический анализатор, прилепить под него логику и усе :)
     
  3. DissDoc

    DissDoc New Member

    Публикаций:
    0
    Регистрация:
    8 дек 2004
    Сообщения:
    2
    volodya

    ты сам понял, что сказал??? Какой анализатор, если программу могу написать только типа "Хеллоу, Ассемблер"...

    Ты сейчас хвастался или ты просто вообще ничего не знаешь, а просто умничаешь?
     
  4. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    ты сам понял, что сказал???



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



    Ты сейчас хвастался или ты просто вообще ничего не знаешь, а просто умничаешь?



    Разумеется, я знаю, что ничего не знаю. Но слегка побольше, чем ты.

    А тебе, перед тем как калькулятор писать, не худо бы научиться чему-нибудь.
     
  5. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    1. Берешь где-нибудь функцию "строка->float" и два вещественный регистра

    2. Рисуешь в RadAsm морду калькулятора, которая бы позволяла вводить строчки из чисел на экран калькулятора и по нажатию кнопок "+","-","*","/" на морде брала бы число из первого регистра и помещала во второй, а строку с "экрана" калькулятора - в первый

    3. Пишешь процедуру "Регистр-операция-регистр", которая бы срабатывала при нажатии кнопки "="

    4. Склеиваешь все это в кучу и называешь гордым именем "Калькулятор"
     
  6. pas

    pas New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2003
    Сообщения:
    330
    Адрес:
    Russia
    DissDoc

    Для простоты можно сперва ограничится только целыми числами. Когда с целыми будет работать, после первых восторгов доработать для работы с вещественными.
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    А зачем калькулятору лексический анализатор? %)

    Мы же не компилятор пишем...

    Имхо, тут главная проблема будет это работа с FPU :derisive:
     
  8. ViKT0R

    ViKT0R New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2004
    Сообщения:
    38
    Адрес:
    Russia
    Вот здесь исходник консольной программы-калькулятора с готовым exe-шником. http://sysadmin.ru.ru/calc.zip
     
  9. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    А зачем калькулятору лексический анализатор? %)





    :)

    Ты читал трупа Страуса 3-е издание? Нет? Почитай, чтобы я не повторялся :)
     
  10. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    volodya

    Ты про какой-то не тот калькулятор думаешь :derisive:

    Я держу как пример виндовый калькулятор..

    А ты видимо имеешь ввиду калькулятор выражений что-то типа

    (a+b)/c*m
     
  11. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Ну да
     
  12. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    Люди объясните мне глупому почему мой dos'овский складыватель чисел не пашет?


    Код (Text):
    1.  
    2. org 100h
    3. mov ah,1
    4. mov bl,al    ; Пыталя занечти в bx al но размер
    5. ;не подошел
    6. mov dx,13    ;это я пытался перейти на новую строку
    7. int 21h
    8. mov ah,1
    9. int 21h
    10. add dl,al
    11. int 21h
    12. xor ax,ax
    13. int 16h
    14. ret      


    Но что то он не работает. Я в dos окошке я могу ввести только цифры. Но они не складываюстся.
     
  13. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    Все разобрался



    org 100h

    mov ah,1

    int 21h

    mov bl,al

    int 21h

    push ax

    mov ah,2

    mov dl,10

    int 21h

    mov dl,13

    int 21h

    pop ax

    mov ah,2

    add bl,al

    mov dl,bl

    sub dl,32+16

    int 21h

    xor ax,ax

    int 16h

    ret