|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.03.2012, 00:03 | #1 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
Итоговая задача для практики
Здравствуйте! Нужно написать программу , которая вводит с клавиатуры определенное колличество цифр, а на экран выводит сумму наибольшей цифры, и цифру, стоящую на пятом месте в введенной строке, заранее спасибо)) вот мой вариант(прошу заметить, что других команд мы не используем****). Да, я конечно на асм программировать не умею, но что то пытаюсь сделать, кто знает как решить, помогите пожалуйста)
code segment para public 'code' assume cs:code,ds:code,ss:code,es:code org 100h mov dx,code mov ds,dx mov ss,dx mov es,dx jmp m1000 np1 db 'BBedite 4isla$' m1000:mov ah, 09h lea dx, np1 int 21h mov ah,2 mov dl,0ah int 21h mov dl,0dh int 21h jmp m100 par1 label byte max1 db 100 rd1 db ? str1 db 101 dup(?) m100:mov ah,10 lea dx,par1 int 21h mov ah,2 mov dl,0ah int 21h mov dl,0dh int 21h lea si,str1 mov cl,5 m1: mov dx,[si] dec si loop m1 ; пытаюсь найти пятый элемент в строке mov bx,dx lea di,str1 cmp di,9 je m2 cmp di,8 je m3 cmp di,7 je m4 cmp di,6 je m5 cmp di,5 je m6 cmp di,4 je m7 cmp di,3 je m8 cmp di,2 je m9 cmp di,1 je m10 cmp di,0 je m11 m2: add bx,9 jmp m125 m3:add bx,8 jmp m125 m4:add bx,7 jmp m125 m5: add bx,6 jmp m125 m6:add bx,5 jmp m125 m7:add bx,4 jmp m125 m8:add bx,3 jmp m125 m9:add bx,2 jmp m125 m10:add bx,1 jmp m125 m11:add bx,0 m125:mov ah,2 mov dx,bx int 21h mov ah,4ch int 21h code ends end
from dark to light)
|
21.03.2012, 14:32 | #2 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 44
|
Код:
|
21.03.2012, 21:25 | #3 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
спасибо)))
from dark to light)
|
22.03.2012, 03:07 | #4 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
объясните алгоритм нахождения максимального элемента)
как это работает)))
Код:
sub dl,60h ; переводим в число заранее спасибо)) просто хотел бы разобряться, чтобы научиться программировать на ассемблере) ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор.
from dark to light)
Последний раз редактировалось Serge_Bliznykov; 22.03.2012 в 08:31. |
22.03.2012, 08:30 | #5 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Код:
Правильно поставленная задача - три четверти решения.
|
22.03.2012, 11:39 | #6 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 44
|
sub dl,60h
Так как данные хранятся в ascii коде, то символы нужно перевести в число. Например 2+2 будет 32h+32h в символьном представлении, т.е. чтобы получить число нужно из суммы вычесть 60h |
22.03.2012, 12:15 | #7 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Код:
Правильно поставленная задача - три четверти решения.
|
|
23.03.2012, 05:06 | #8 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Цитата:
Последний раз редактировалось Mikl___; 23.03.2012 в 06:03. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа для практики | likos18 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 09.12.2011 20:42 |
Итоговая таблица | Abzim | Microsoft Office Excel | 4 | 17.11.2011 22:31 |
Двумерный массив(для практики надо) | thierryandrey | Помощь студентам | 2 | 06.06.2011 08:22 |
Идеи для практики | Ri}|{a9 | Помощь студентам | 1 | 29.03.2011 23:04 |
Rave Reports итоговая сумма поля | goldragon | Компоненты Delphi | 0 | 21.05.2010 13:16 |