Начал изучать ассемблер... И понял что после программы "Hello, Assembler!", мне необходимо написать программу калькулятор... встает вопрос - как это сделать?
volodya ты сам понял, что сказал??? Какой анализатор, если программу могу написать только типа "Хеллоу, Ассемблер"... Ты сейчас хвастался или ты просто вообще ничего не знаешь, а просто умничаешь?
ты сам понял, что сказал??? Да, и достаточно неплохо. Если у самого низкий уровень серого вещества - это не повод обвинять в этом других. Ты сейчас хвастался или ты просто вообще ничего не знаешь, а просто умничаешь? Разумеется, я знаю, что ничего не знаю. Но слегка побольше, чем ты. А тебе, перед тем как калькулятор писать, не худо бы научиться чему-нибудь.
1. Берешь где-нибудь функцию "строка->float" и два вещественный регистра 2. Рисуешь в RadAsm морду калькулятора, которая бы позволяла вводить строчки из чисел на экран калькулятора и по нажатию кнопок "+","-","*","/" на морде брала бы число из первого регистра и помещала во второй, а строку с "экрана" калькулятора - в первый 3. Пишешь процедуру "Регистр-операция-регистр", которая бы срабатывала при нажатии кнопки "=" 4. Склеиваешь все это в кучу и называешь гордым именем "Калькулятор"
DissDoc Для простоты можно сперва ограничится только целыми числами. Когда с целыми будет работать, после первых восторгов доработать для работы с вещественными.
А зачем калькулятору лексический анализатор? %) Мы же не компилятор пишем... Имхо, тут главная проблема будет это работа с FPU
Вот здесь исходник консольной программы-калькулятора с готовым exe-шником. http://sysadmin.ru.ru/calc.zip
А зачем калькулятору лексический анализатор? %) Ты читал трупа Страуса 3-е издание? Нет? Почитай, чтобы я не повторялся
volodya Ты про какой-то не тот калькулятор думаешь Я держу как пример виндовый калькулятор.. А ты видимо имеешь ввиду калькулятор выражений что-то типа (a+b)/c*m
Люди объясните мне глупому почему мой dos'овский складыватель чисел не пашет? Код (Text): org 100h mov ah,1 mov bl,al ; Пыталя занечти в bx al но размер ;не подошел mov dx,13 ;это я пытался перейти на новую строку int 21h mov ah,1 int 21h add dl,al int 21h xor ax,ax int 16h ret Но что то он не работает. Я в dos окошке я могу ввести только цифры. Но они не складываюстся.
Все разобрался 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