Консультация № 198393
26.04.2020, 12:52
0.00 руб.
1 18 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:


Разработать программу на языке ассемблера, выполняющую арифметические операции сложения и вычитания над целыми двоичными числами в соответствии с вариантом задания. С числами до 254 получается, а дальше не понимаю как и в методичках моего колледжа толком не показано что и как. Спасибо.



Прикрепленные файлы:
52270bf9f133024fc880cd8046271cb1d6d2a977.jpg

Обсуждение

давно
Посетитель
402031
115
26.04.2020, 13:26
общий
Ели я правильно понял, то надо произвести арифметические действия приведенные в примере ?????
давно
Посетитель
403977
7
26.04.2020, 14:00
общий
26.04.2020, 14:01
Адресаты:
Цитата: cain52
Ели я правильно понял, то надо произвести арифметические действия приведенные в примере ?????


Да, арифметические примеры приведены внизу на фото

на всякий продублирую текстом

144 + 256
75 348 + 94 723
62 999 + (-23 652)
587 - 321
давно
Посетитель
402031
115
26.04.2020, 14:08
общий
Здесь все очень просто

Ты сам то что то пытался сделать ????
Или ты хочешь, что бы за тебя кто то сделал ?
давно
Посетитель
402031
115
26.04.2020, 14:11
общий
И на каком ассемблере надо это сделать ?
Ввод и вывод данных DOS или в Windows ?
давно
Посетитель
403977
7
26.04.2020, 14:13
общий
Адресаты:
Я пытался сам, с числами до 254 получается, а дальше не понимаю как числа представлять и в методичках моего колледжа толком ничего не написано, как всегда дают задания на дистанционку и нигде ничего не объясняют.

Буду благодарен, если хотя-бы 2 таких примера кто-нибудь поможет сделать

75 348 + 94 723
62 999 + (-23 652)
давно
Посетитель
403977
7
26.04.2020, 14:16
общий
Адресаты:
DOS или в Windows без разницы
можно на tasm, но если нету сделайте на любом другом только укажите название проги
давно
Посетитель
402031
115
26.04.2020, 14:37
общий
Адресаты:
Да я же говорю, что все элементарно. Здесь обычная целочисленная арифметика
надо конвертировать числа в двоичный формат.
75 348 + 94 723 здесь обычное сложение add - сложение
потом результат преобразовать в десятиричный формат и вывести
62 999 + (-23 652) - здесь также конвертируешь в двоичный и делаешь sub - вычитание из большего меньшее
так же результат конвертишь в десятиричный - вывод

И будет тебе счасть
под винду проще сделать.
Полтора часа вместе с перекуром.
давно
Посетитель
403977
7
26.04.2020, 14:59
общий
Адресаты:
хотя-бы на одном примере было бы понятнее
давно
Посетитель
402031
115
26.04.2020, 15:16
общий
Адресаты:
Если на одном то можно здесь.
Ввести первое число в переменную - A (75 348)
Конвертировать в двоичный формат (atol, addr 'a') конвертирует в двоичный формат,
результат в регистре eax - сохрани в переменной - B
Вводишь второе число в переменную А (94 723)
и также конвертируешь в двоичный формат как и первое
Затем складываешь ( add eax, с ячейкой В)
Результат в eax.
теперь конвертируешь результат в десятиричный формат ( dwtoa,eax,addr А)
и выводишь на экран.

Так же поступаешь и со следующим примером только можно отрицательное число привести в дополнительное
и выполнить add - сложение или преобразовать без знака и выполнить sub - вычитание

Дерзай
давно
Старший Модератор
31795
6196
26.04.2020, 15:24
общий
Адресаты:
Цитата: telivaj120
хотя-бы на одном примере было бы понятнее

код FASM:
[code lang=asm]org 100h
;
mov di,ddOne
mov si,ddTwo
mov ax,[di]
mov bx,[di+2]
add ax,[si]
adc bx,[si+2]
;
ret
ddOne dd 75348
ddTwo dd 94723[/code]
BX:AX - результат
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402031
115
26.04.2020, 15:29
общий
Адресаты:
Ему не охота думать. Да и инете на эту тему миллион живых примеров, на любой вкус
давно
Старший Модератор
31795
6196
26.04.2020, 15:50
общий
Адресаты:
Он на различиях синтаксиса FASM vs TASM - "отыграется".
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402031
115
26.04.2020, 16:35
общий
Адресаты:
Это точно. Для них все ассемьлеры одинаковы, и про различия в синтаксисе, даже не догадываются
давно
Старший Модератор
31795
6196
26.04.2020, 16:44
общий
Адресаты:
хоть что-то прочитает.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402031
115
26.04.2020, 17:22
общий
Адресаты:
Если буквы вспомнит.
Я вот тут голову сломал. Не могу пока найти решение.
У в программе есть несколько контолов STATIC.
Мне надо изменять их цвет в зависимости от ситуации.
Нужно какое то не стандартное решение, по тому что то что есть в винде не подходит.
У тебя не было таких проблем???
Если что то поделись.
давно
Посетитель
402031
115
27.04.2020, 08:19
общий
Адресаты:
Привет !!!!
Ну и как результат, получилось ????
давно
Посетитель
403977
7
27.04.2020, 21:02
общий
Адресаты:
в FASM все примеры сделал, а c tasm так и не разобрался
давно
Старший Модератор
31795
6196
30.04.2020, 17:55
общий
это ответ
Здравствуйте, telivaj120!

Смотрите код(FASM), как пример сложения больших чисел:
[code lang=asm]org 100h
;
mov di,ddOne
mov si,ddTwo
mov ax,[di]
mov bx,[di+2]
add ax,[si]
adc bx,[si+2]
;
ret
ddOne dd 75348
ddTwo dd 94723[/code]
Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа