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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2014, 08:03   #1
Mblp
Новичок
Джуниор
 
Регистрация: 27.03.2014
Сообщений: 1
По умолчанию Преобразование из кода Морзе в цифры и обратно Assembler(NASM)

в общем есть задание
Цифры представляются кодом Морзе следующим образом:
1 . - - - - 6 - . . . .
2 . . - - - 7 - - . . .
3 . . . - - 8 - - - . .
4 . . . . - 9 - - - - .
5 . . . . . 0 - - - - -
Составьте программу по переводу набора цифр код Морзе, а так преобразование из кода Морзе в цифры.
что не так?
Код:
global _main
extern _printf
extern _scanf ; новая функция, но уже знакома нам их языка Си
section .data
o db ".----"
t db "..---"
tr db "...--"
f db "....-"
fi db "....."
s db "-...."
se db "--..."
et db "---.."
n db "----."
z db "-----"
f_pf: db "result: %f", 10, 0 ; формат вывода
welcome: db "Enter your number: ", 0 ; приглашение
f_sf: db "%f", 0 ; формат ввода
a dd 0
section .text
_main:
mov eax, 0
 
push welcome
call _printf
add esp, 4
 
push a
push f_sf
call _scanf
add esp, 8
 
; очищаем регистры от мусора
xor eax,eax
xor ebx,ebx
xor edx,edx
; основной код.
mov eax,a
cmp eax,1
je chisl1
jmp pro1
chisl1: mov eax,o
pro1: cmp eax,o
je morze1
jmp end 
morze1: mov eax,1
cmp eax,2
je chisl2
jmp pro2
chisl2: mov eax,t
pro2: cmp eax,t
je morze2
jmp end 
morze2: mov eax,2
cmp eax,3
je chisl3
jmp pro3
chisl3: mov eax,tr
pro3: cmp eax,tr
je morze3
jmp end 
morze3: mov eax,3
cmp eax,4
je chisl4
jmp pro4
chisl4: mov eax,f
pro4: cmp eax,f
je morze4
jmp end 
morze4: mov eax,4
cmp eax,5
je chisl5
jmp pro5
chisl5: mov eax,fi
pro5: cmp eax,fi
je morze5
jmp end 
morze5: mov eax,5
cmp eax,6
je chisl6
jmp pro6
chisl6: mov eax,s
pro6: cmp eax,s
je morze6
jmp end 
morze6: mov eax,6
cmp eax,7
je chisl7
jmp pro7
chisl7: mov eax,se
pro7: cmp eax,se
je morze7
jmp end 
morze7: mov eax,7
cmp eax,8
je chisl8
jmp pro8
chisl8: mov eax,et
pro8: cmp eax,et
je morze8
jmp end 
morze8: mov eax,8
cmp eax,9
je chisl9
jmp pro9
chisl9: mov eax,n
pro9: cmp eax,n
je morze9
jmp end 
morze9: mov eax,9
cmp eax,0
je chisl0
jmp pro0
chisl0: mov eax,z
pro0: cmp eax,z
je morze0
jmp end 
morze0: mov eax,"0"
push eax
push f_pf
call _printf
add esp,8
end: mov eax,0
ret
Mblp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет элементов массива. Assembler NASM IL_89 Помощь студентам 2 01.10.2013 15:44
Преобразование текстового файла в ASCII код (NASM) wano13 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 01.04.2012 19:27
Линии или прямоугольники на NASM, assembler Lexeres Помощь студентам 0 26.03.2011 11:25
Портирование кода на NASM Celestia Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 28.01.2011 12:20