Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
3 / 3 / 1
Регистрация: 07.11.2013
Сообщений: 49
1

Программа перевода чисел в 10-ю, 2-ю и 16-ю систему исчисления

28.11.2013, 16:05. Показов 1269. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня.

У меня такая проблема.
Создаю этот калькулятор по частям, начало есть, оно правильное.
А вот дальше.. не могу понять, что не так и как с этим бороться

Вот кусок:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.model tiny 
.code 
    org 100h
 
begin:
 
    mov ax,0003h
    int 21h
 
 
 
    MOV AH,0AH     ;Запрос функции ввода   
    LEA DX,NAMEPAR ;Загрузить адреса списка параметров      
    INT 21H        ;Вызвать DOS
 
    mov k,1               
    mov s,0
    mov l,actlen
 
punkt2:        mov bx,word pr actlen ;считываем последний 
               lea dx,namepar+bx     ;элемент строки
               mov p,bx     
               mov ax,30h            ;
               sub dx,ax             ;отнимаем из кода символа 48
               mul dx,k              ;полученное значение умножаем на K
               add s,dx              ;
               mul k,p               ;умножаем на основание системы изчисления, в которой введны данные
               dec l                 ;уменьшаем L 
               je  punkt11           ;если L равно 0, то
               dec p                 ;уменьшаем P
               jmp punkt2            ;перейти на 
punkt11:       
           ret                   ;завершение алгоритма
 
NAMEPAR LABEL BYTE      ;Список параметров:
MAXLEN DB 20            ;Максимальна количество байтов     
ACTLEN DB ?             ;Реальное количество байтов         
NAMEFLD DB 20 DUP (' ') ;Введенные символы
 
end begin
Я так понимаю, в области данных нужно объявить переменные, но как это сделать?

П.С. Программа не полная, хочу разобраться пока только с этим куском.
Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2013, 16:05
Ответы с готовыми решениями:

Нужна программа перевода целого числа в двоичную систему исчисления на С++ Builder.
В общем я написал начало программы а часть кода где происходит вычисление с 10-й в 2-ю скопировал...

Рекурсия перевода числа в другую систему исчисления
Уважаемые, возникла проблема с решением задачи типа : Составить рекурсивную функцию которая...

Создание функции перевода из 10-чной в 16-чную систему исчисления
Доброго времени суток! Данный кусок кода производит перевод из 10-чной в 16-чную систему...

Программа перевода чисел в 10-ю, 2-ю и 16-ю систему счисления
После запуска программы, она запрашивает у пользователя ввести число. Пользователь вводить в одной...

5
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
28.11.2013, 17:46 2
CrazyDrummer13,
а я так понимаю, что ТС не удосужился хотя бы пролистать любой учебник или справочник по ассемблеру, начнем с того, что команда MUL имеет только один аргумент, а не как придумал ТС "mul dx,k" "mul k,p", во-вторых, судя по названию темы "Программа перевода чисел в 10-ю, 2-ю и 16-ю систему исчисления" для CrazyDrummer13, наверное, будет открытием, что при умножении/делении на числа являющиеся степенью двойки (2, 24=16) используют сдвиги влево/вправо.
0
3 / 3 / 1
Регистрация: 07.11.2013
Сообщений: 49
28.11.2013, 17:58  [ТС] 3
Я попросил помощи, а не сарказма!
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
28.11.2013, 18:34 4
CrazyDrummer13,
а помощь заключается в написании за тебя ТВОЕЙ программы? Или кому-то кроме ТЕБЯ нужно читать учебник?
0
3 / 3 / 1
Регистрация: 07.11.2013
Сообщений: 49
28.11.2013, 18:42  [ТС] 5
Я всего лишь хотел помощи, а не написания программы!!! Именно по этому куску программы! Хотел спросил, как объявить те переменные, которые участвуют в математических операциях?
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
28.11.2013, 18:53 6
Лучший ответ Сообщение было отмечено как решение

Решение

CrazyDrummer13,
показываю:
  • объявляю переменную Х размером в байт и даю ей значение -55
    Assembler
    1
    
    X db -55
  • резервирую место под переменную Y размером в слово
    Assembler
    1
    
    Y dw ?
  • объявляю массив Z из 40 байт с повторяющимися значениями 1, 2, 3, 4
    Assembler
    1
    
    Z db 10 dup(1,2,3,4)
чтение учебника/справочника это не отменяет
3
28.11.2013, 18:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2013, 18:53
Помогаю со студенческими работами здесь

Программа для перевода чисел в десятичную систему
Ребят, нужна программа для перевода чисел в десятичную систему, а затем проверьте результаты,...

Написать функцию для перевода десятичного числа в другую систему исчисления (2-16)
1.Написать функцию для перевода десятичного числа в другую систему исчисления (2-16).

Написать программу для перевода десятичного числа в шестнадцатеричную систему исчисления, и обратно.
Написать программу для перевода десятичного числа в шестнадцатеричную систему исчисления, и...

Разработать программу с графическим интерфейсом, реализующую алгоритмы перевода чисел между системами исчисления.
Разработать программу с графическим интерфейсом, реализующую алгоритмы перевода чисел между...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru