Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2010, 14:48   #1
Stasmotion
 
Регистрация: 17.05.2010
Сообщений: 6
По умолчанию Не могу написать программу

Вроде бы все просто, но додуматься не могу. Прошу вашей помощи.
"Сложить 2 числа(макс 18 можно получить). После сложения получились 2 цифры - их перемножить"
Сложить вроде понимаю как, а дальше ступор.
Stasmotion вне форума Ответить с цитированием
Старый 02.09.2010, 15:04   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Получил, 12. Сделать 1*2=2
p51x вне форума Ответить с цитированием
Старый 02.09.2010, 15:40   #3
BVOG
Python,C++,ASM,Php
Пользователь
 
Аватар для BVOG
 
Регистрация: 29.08.2010
Сообщений: 58
По умолчанию

add ax, bx - сложить ax и bx
mul ax, bx - умножить ax на bx
Хакер - это не ламер с завышенным самомнением, а программист с заниженной зарплатой.
Нелегка и неказиста жизнь простого программиста.
BVOG вне форума Ответить с цитированием
Старый 02.09.2010, 15:51   #4
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Код:
mov al,5
mov ah,6
add al,ah
mov ah,al
shr ah,4
mul ah
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 02.09.2010, 16:20   #5
BVOG
Python,C++,ASM,Php
Пользователь
 
Аватар для BVOG
 
Регистрация: 29.08.2010
Сообщений: 58
По умолчанию

Почему не 16-битные регистры?
Хакер - это не ламер с завышенным самомнением, а программист с заниженной зарплатой.
Нелегка и неказиста жизнь простого программиста.
BVOG вне форума Ответить с цитированием
Старый 02.09.2010, 17:42   #6
Stasmotion
 
Регистрация: 17.05.2010
Сообщений: 6
По умолчанию

Код:
.MODEL Tiny
.CODE
Org 100h
Start:
lea dx, I
MOV AH, 0Ah
Int 21h
mov dl, 10
mov ah, 2
int 21h
lea dx, s
mov ah,9
int 21h

mov dl, i+2
sub dl, i+4
add dl, 30h
mov ah, 2
int 21h

mov dl, 10
mov ah, 2
int 21h

lea dx, n
mov ah, 9
int 21h

mov dl, i+4
add dl, i+3
sub dl, 30h
add dl, i+2
sub dl, 30h
mov ah, 2
int 21h

mov al,5
mov ah,6
add al,ah
mov ah,al
shr ah,4
mul ah

ret
I DB 4,?,4 DUP('$')
s db 'разность=$'
n db 'сумма=$'
END START
похоже? сори в коде не силен)

UP! Очень срочно нужна помощь

Последний раз редактировалось Stilet; 06.09.2010 в 08:23.
Stasmotion вне форума Ответить с цитированием
Старый 06.09.2010, 05:09   #7
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Сложение и вычитание здесь есть... Но на цифры ничего не раскладывается.
Код:
I DB 4,?,4 DUP('$')
Это похоже на буфер для ф-ции 0ah, однако она сама нигде не вызывается, хотя буфер и используется.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 06.09.2010, 08:31   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю свой вариант:
Секция программы:
Код:
 xor eax,eax
 mov ax,[a]
 add ax,[b]
 cmp ax,18
 jg no
 mov ebx,10
 div bl
 add [c],ah
 add [c], al

no:
 ret
Данные
Код:
a dw 5
b dw 9
c db 0
Да кстати - тут без вывода на экран.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.09.2010, 20:51   #9
Stasmotion
 
Регистрация: 17.05.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Получил, 12. Сделать 1*2=2
Да именно так.

сначала сложение, допустим 8+5=15
Потом цифры полученные при результате умножить, 1*5=5
Если при сложении получается одна цифра, то 0*X=0

Кому не сложно скиньте пожалуйста весь код программы с выводом.

Последний раз редактировалось Stasmotion; 06.09.2010 в 20:54.
Stasmotion вне форума Ответить с цитированием
Старый 06.09.2010, 20:52   #10
Stasmotion
 
Регистрация: 17.05.2010
Сообщений: 6
По умолчанию

delleteplz

Последний раз редактировалось Stasmotion; 06.09.2010 в 20:55. Причина: обшибся)
Stasmotion вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу написать программу. v.olga Помощь студентам 4 23.03.2010 17:48
Нужна помощь с лабой, не могу написать программу.... Tanushka5606 Паскаль, Turbo Pascal, PascalABC.NET 3 05.05.2009 18:51
Не могу написать функцию Dima_mazhor БД в Delphi 1 17.12.2008 05:28
Не могу написать цикл ((( DM_bite Общие вопросы Delphi 10 30.07.2008 21:57
не могу написать кириллицей Алёна БД в Delphi 0 28.05.2007 14:04