Помощь - Поиск - Пользователи - Календарь
Полная версия: запись обратного порядка
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
Ирочка
Ребята помоги пожалуйста немогу разобрать...
Составить программу определения чила, полученного записью обратного порядка цифр заданного числа. Заданное число вводится с клавиатуры.
SuperMozg
Примерно так:

var
num: integer;
i, j: integer;
mas: array[1..10] of integer;
begin
writeln('Введите число:');
readln(num);
i:= 0;
repeat
i:= i + 1;
mas[i]:= num mod 10;
num:= num div 10;
until num=0;
writeln('Число в обратном порядке:');
for j:= 1 to i do write(mas[j]);
readln;
end.
volvo
SuperMozg, на название раздела не смотрел? Посмотри, помогает!!!
Гость
Только вот ещё проблема мне её надо на Асемблре сделать ((
zloy_pes
Еще актуально? Никак не пойму - должно быть так - ввожу: 123, после на экране появляется 321? Или надо этот набор символов превратить в число и сунуть память?
Код

.model tiny
.data
buff db 6 dup('$')
nxtln db 0dh,0ah,'$'
.code
org 100h
start:
mov bx,offset buff
@c1:
mov ah,01h
int 21h
cmp al,0dh
je @n1
mov [bx],al
inc bx
jmp @c1
@n1:
push bx
sub bx,offset buff
mov cx,bx
push cx
mov dx,offset nxtln
mov ah,09h
int 21h
pop cx
pop bx
@c2:
dec bx
mov dl,[bx]
mov ah,06h   ;Если нужно сформировать число в памяти, то надо поменять на sub dl,'0'
int 21h          ;mov [di=куда класть число],dl и inc dl
loop @c2
xor ax,ax
int 16h
ret
end start

Гость
Да всё правильно ... нужно вводить 123 а что бы появилось 321...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.