Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для Sagavin2457
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 29
TASM

Сложение двух BCD чисел

04.04.2016, 15:00. Показов 2528. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При проверке программы (через Тасм в проге фар, выдаёт ошибку в выводе результат на экран), а ошибку не знаю как исправить (может быть забыл кое-что там написать в конце).

Сама задача вот:
Задать в клавиатуре два двухразрядных BCD числа и выполнить сложение BCD чисел, предусматривая:
1) приглашение к вводу чисел
2) вывод результат на экран

А вот, что собственно у меня и получилось:

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
include io.asm                                                                                     
                                                                                                   
Sseg SEGMENT STACK                                                                                 
    DB 256 DUP (?)                                                                             
Sseg ENDS                                                                                          
                                                                                                   
Dseg SEGMENT                                                                                       
    a1 db 2,4                                                                                  
    a2 db 0dh,0ah,'Vvedite chislo 24 - $'                                                      
                                                                                                   
    b1 db 2                                                                                    
    b2 db 0dh,0ah,'Vvedite chislo 2 - $'                                                       
                                                                                                   
    r db 0                                 ;Ячейка для записи результата                       
    c db 0dh,0ah,'Rezultat slojenia: $'    ;Вывод результата                                   
                                                                                               
    a3 dw ?                                                                                    
    b3 dw ?                                                                                    
Dseg ENDS                                                                                          
                                                                                                   
Cseg SEGMENT                                                                                       
    ASSUME CS:Cseg,DS:Dseg,SS:Sseg                                                             
    Start:                                                                                     
    MOV AX,Dseg                                                                                
    MOV DS,AX                                                                                  
                                                                                                   
    lea dx,a2                        ;Вывод строки                                             
    outstr                           ;И                                                        
    inint a3                         ;Ввод числа                                               
                                                                                               
    newline                                                                                    
                                                                                                   
    lea dx,b2                        ;Вывод строки                                             
    outstr                           ;И                                                        
    inint b3                         ;Ввод числа                                               
                                                                                                   
    mov ah,0                                                                                   
    mov al,0                                                                                   
                                                                                                   
    mov si,0                                                                                   
    mov al,a1[si]                    ;24                                                       
    inc si                                                                                     
    mov ah,b1[si]                    ;2                                                        
    aaa                              ;Команда коррекции                                        
                                                                                                   
    add al,a1                        ;Сложение 24 и 2                                          
        add al,b1                                                                                  
    mov r,al                         ;Запись результата в r                                    
                                                                                               
    outstr r                         ;Результата                                               
    outword                          ;На экран                                                 
                                                                                                   
    finish                                                                                     
Cseg ENDS                                                                                          
END Start
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2016, 15:00
Ответы с готовыми решениями:

Сложение двух BCD чисел
Помогите с задачей, нужно чтобы вводилось двухзначное число, я сделал что вводится однозначное число. Препод обьяснил, но что-то не понял. ...

Задача на сложение двух bcd чисел
Народ, подскажите как исправить...у меня задача на сложение двух bcd чисел, я прогу написал, все правильно считает, вот только ответ...

Сложение неупакованных bcd-чисел
Всем Привет!! Возникла проблема со сложением неупакованных bcd-чисел(принцип “младший байт по младшему адресу”). Пыталась сделать. Но что...

4
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
04.04.2016, 21:02
Цитата Сообщение от Sagavin2457 Посмотреть сообщение
include io.asm
а макросы в черном ящике?
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
05.04.2016, 08:56
Цитата Сообщение от Sagavin2457 Посмотреть сообщение
outstr r
Это разве правильно?
0
 Аватар для Sagavin2457
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 29
05.04.2016, 13:08  [ТС]
модер ты читал описание темы? У меня именно там выводит ошибку, а как исправить её я не знаю.
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
05.04.2016, 14:18
Sagavin2457, Я рад что вы умеете читать, но дальше статуса Вы читать не стали(хамить не нужно).
ВНИМАТЕЛЬНО посмотрите на все строчки с outstr и ответьте, ЧЕМ выделеная мной строчка отличается от предыдущих?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2016, 14:18
Помогаю со студенческими работами здесь

Сложение упакованных BCD чисел
Мне требуется сложить два упакованных BCD числа: 5643 и 9127 Вот что я сделал: .model small .stack 256 .data b db 5643h...

Ввод/вывод, сложение BCD чисел
задать с клавиатуры два BCD числа, числа двухразрядные. выполнить сложение BCD чисел.. предусмотреть: вывод заданных чисел на экран..

Сложение неупакованных BCD чисел, неверный результат
При сложении 2 неупакованных BCD числа получается один и тот же результат, 50. Подскажите, где ошибка? .model small .stack .data ...

BCD (сложение и вычитание)
Здравствуйте! Пытаюсь выполнить задание из книжки по BCD-числам и не совсем получается. Итак, смотрите... Имеется задание: вычилить: A+B-C....

Сложение двух чисел
Доброго времени суток! Нашел программу, попытался запустить (через DosBox) Но программа выводит символы в другой кодировке, как...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru