Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


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

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


Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2021, 13:47   #1
avadog
Новичок
Джуниор
 
Регистрация: 04.04.2021
Сообщений: 2
По умолчанию Верно отображается сумма только однозначных чисел

Добрый день. В ассемблере я совсем начинающий. Ниже код. Выдает верную сумму, пока она - однозначное число. Если же она является двузначным числом, результат - какой-либо символ, например, ";". Почему? Спасибо
Код:
section	.text
   global _start        
	
_start:	                
   mov	eax,'7'
   sub     eax, '0'
	
   mov 	ebx, '4'
   sub     ebx, '0'
   add 	eax, ebx
   add	eax, '0'
	
   mov 	[sum], eax
   mov	ecx,msg	
   mov	edx, len
   mov	ebx,1	         
   mov	eax,4	         
   int	0x80	         
	
   mov	ecx,sum
   mov	edx, 1
   mov	ebx,1	        
   mov	eax,4	         
   int	0x80	         
	
   mov	eax,1	         
   int	0x80	         
	
section .data
msg db "The sum is:", 0xA,0xD 
len equ $ - msg   
segment .bss
sum resb 1
avadog вне форума Ответить с цитированием
Старый 04.04.2021, 20:39   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 3,162
По умолчанию

Потому что нужно преобразовать поразрядно число в строку (как правильно сделано для одного разряда с прибавлением '0') и её уже выводить. А при задании исходных данных нужно прямо указывать число, а не его символьный эквивалент.
Код:
   mov	eax,7
и никаких
Код:
   sub     eax, '0'
Вот если имеем дело со вводом с клавы - там нужны обратные действия: цифровую строку придётся поразрядно "утаптывать" в число. Могу только на словах, потому что на РС-шном асме не писал лет 40.
digitalis на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме 20000 рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив из п четырехзначных натуральных чисел. Вывести на экран только те, у которых сумма первых Nod123 Помощь студентам 7 04.01.2015 09:17
Ввести 10 чисел. Подсчитать сколько среди них однозначных чисел, двухзначных чисел, трехзначных чисел. Olzhakesh Общие вопросы по Java, Java SE, Kotlin 3 14.12.2014 20:27
Выяснить, верно ли, что сумма тех вещественных чисел , которые больше 20,5, мен Anonim123 Паскаль, Turbo Pascal, PascalABC.NET 6 21.05.2014 16:07
Сайт не отображается в IE и Opera. Отображается только в FireFox. Roman_K HTML и CSS 3 03.02.2011 22:32
Delphi-console-поиск однозначных чисел в файле trigger Помощь студентам 1 01.02.2011 19:12


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS