Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
melbnik
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 2
1

Как лучше представлять вещественные числа, вводимые с клавиатуры

16.12.2012, 19:51. Просмотров 283. Ответов 0
Метки нет (Все метки)

Посоветуйте пожалуйста, как лучше представлять вещественные числа вводимые с клавы, чтобы потом можно было легко делать с ними любые арифметические операции(+,-,/,*)

Вот мой код, по которому сразу видно что в таком представлении у меня никаких арифметических операций не получится Очень нужна ваша помощь

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
model small
.stack 100h
.data
 
    msg1 db "Enter integral part of number:  $"
    msg2 db "Enter fractional part of number:  $"
    msg3 db "Enter integral part of second number:  $"
    msg4 db "Enter fractional part of second number:  $"
    msg5 db "Result:  $"
    a dw 10
    b dw ?
    c dw ?
    d dw ?
    e dw ?
 
.code
 
input proc near
 push ax
 push cx
 push dx
 xor bx, bx
 xor cx, cx
 
m1:
mov ah, 01h
int 21h
cmp al, 0Dh
je endinp
cmp al, 30h
jc m1
cmp al, 3Ah
jnc m1
sub ax, '0'
mov cl, al
mov ax, bx
mul a
mov bx, ax
add bx, cx
jmp m1
 
endinp:
pop dx
pop cx
pop ax
ret
 
input endp
 
input2 proc near
 push ax
 push cx
 push dx
 xor bx, bx
 xor cx, cx
 
m2:
mov ah, 01h
int 21h
cmp al, 0Dh
je endinp2
cmp al, 30h
jc m2
cmp al, 3Ah
jnc m2
sub ax, '0'
mov cl, al
mov ax, bx
mul a
mov bx, ax
add bx, cx
jmp m2
 
endinp2:
pop dx
pop cx
pop ax
ret
 
input2 endp
 
 
 output proc near
    push ax
    push bx
    push cx
    push dx
    xor cx, cx
    plus2:
    xor bx, bx
    div a
    push dx
    inc cx
    cmp ax, 0
    jne plus2
    
    plus3:
    pop dx
    add dx, '0'
    mov ah, 02h
    int 21h
    loop plus3
    pop dx
    pop cx
    pop bx
    pop ax
    ret
    
 output endp
 
 
start:
mov ax, @data
mov ds, ax
 
xor ax, ax
xor bx, bx
xor cx, cx
xor dx, dx
 
mov bx, offset msg1
mov ah, 09h
int 21h
 
call input
mov b, bx
 
xor bx, bx
 
mov bx, offset msg3
mov ah, 09h
int 21h
 
xor ax, ax
xor cx, cx
xor dx, dx
 
call input2
mov c, bx
 
xor bx, bx
 
call output
 
mov ah, 4ch
int 21h
end start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 19:51
Ответы с готовыми решениями:

Вещественные числа
Здравствуйте. Помогите разобраться в представлении числа с плавающей запятой...

Если число заканчивается на 9 увеличить на 1 (вещественные числа)
Всем доброго времени суток. Друзья, обрабатываю массив, пытался так:...

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

В файловую переменную внести числа, вводимые с клавиатуры
Составить программу,которая в файловую переменную Fx будет вносить 10...

В файловую переменную внести числа, вводимые с клавиатуры
Помогите пожалуйста решить задачу. Создать программу, которая в файловую...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 19:51

Определить одного ли знака, два числа,вводимые с клавиатуры
Помогите решить пожалуйста)))Спасибо заранее)Определить одного ли знака, два...

Определить одного ли знака, два числа,вводимые с клавиатуры
Помогите решить пожалуйста)))Спасибо заранее)Определить одного ли знака, два...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru