Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для Slav-0n
0 / 0 / 0
Регистрация: 12.07.2012
Сообщений: 13

Арифметическая прога с переменными TurboASM 4.0

12.07.2012, 18:16. Показов 2608. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
3 дня брожу по форумам - никак не могу разобраться. Надо решить задание (ну в институт) примерно x=1-(A*2+B*C)/D-3. Как образец дан код программы его решающий:


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
SSEG SEGMENT STACK          ;Сегмент стека
DB 256 DUP(?)
SSEG ENDS
 
DATA SEGMENT                    ;Сегмент данных
X DW ?                               ;Память для переменных
A DW ?
B DW ?
C DW ?
D DW ?
DATA ENDS
 
CODE SEGMENT                   ;Сегмент кода
ASSUME CS:CODE, DS:DATA, SS:SSEG
START:
MOV AX,Data                      ;Инициализация DS
MOV DS,AX
                                        ;Вычислительная часть
MOV AX,2                           ;Загрузка константы
IMUL A                               ;dx:ax = a*2
MOV BX,DX
MOV CX,AX                         ;bx:cx = a*2
MOV AX,B
IMUL C                               ;dx:ax = b*c
ADD AX,CX
ADC DX,BX                          ;dx:ax = a*2+b*c
MOV CX,D
SUB CX,3                            ;cx = d-3
IDIV CX                              ;ax = (a*2+b*c)/(d-3)
NEG AX                               ;ax = -ax
INC AX                               ;ax = ax+1
MOV X,AX                           ;Сохранение результата
 
MOV AH,4CH
INT 21H
 
CODE ENDS
END START

Так вот, потому что ничего не происходит вопрос - что должно получится в итоге?
Turbo Assembler v4.0 borland. Линкер Turbo v4.1 (в консоле пишет ошибку Warning: No Stack) хотя он же есть. Простенькие программки я уже запускал - т.е. TASM работает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.07.2012, 18:16
Ответы с готовыми решениями:

Первая прога с переменными на Яве
Вот смотрю видеоурок по яВе. Вот там ,такой код. package proga; public class Main { public static void main(String args) { ...

Прога на Билдере 5.Проблема с динамическими переменными
вылетает ошибка:Projest такой-то raised exception class EAccessViolation with message 'Access violation at adress 325032ce.Write of address...

Скажите почему прога зависает. Не пойму. Прога имитирует входной потол: пользователь вводит предложение которое сохраняется в буфер.
STAK SEGMENT STACK db 256 dup(?) STAK ENDS DATA SEGMENT buf db 256d dup(?) ; nash bufer len equ $-buf ; dlina nashego...

24
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
13.07.2012, 20:35
Студворк — интернет-сервис помощи студентам
Редко мне попадались задачки с выводом чисел на консоль.
0
 Аватар для _lucius_
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
13.07.2012, 21:14
Slav-0n, дак тебе и ввод нужен. Вот посмотри.
0
 Аватар для Slav-0n
0 / 0 / 0
Регистрация: 12.07.2012
Сообщений: 13
14.07.2012, 02:35  [ТС]
Ну наконец-то TLINK седьмой раздобыл Хотя ничего особо не изменилось Тот же Warning: No Stack (ну это может и не критично конечно - просто предупреждение). Делаю другое задание - Алелуя! .exe пишет divide owerflow

_lucius_, да спасибо конечно, но думаю можно сразу в код значения подставить

Добавлено через 4 часа 57 минут
Exoo, похоже ты таки прав оказался. В отладчике значение можно посмотреть если переменные в коде задать, т.е. и проверить код на работоспособность.

Всем большое спасибо за содействие.

Тему можно закрывать
0
25 / 22 / 15
Регистрация: 26.11.2011
Сообщений: 92
14.07.2012, 22:35
Цитата Сообщение от Slav-0n Посмотреть сообщение
Exoo, похоже ты таки прав оказался. В отладчике значение можно посмотреть если переменные в коде задать, т.е. и проверить код на работоспособность.
ну я так и думал, потому что вывод вещественного числа консоль и возможно отрицательного(все зависит от вводимых данных) - задача не совсем для новичков.
Цитата Сообщение от Slav-0n Посмотреть сообщение
Ну наконец-то TLINK седьмой раздобыл Хотя ничего особо не изменилось Тот же Warning: No Stack (ну это может и не критично конечно - просто предупреждение).
Попробуйте по другому стек объявить после дата сегмент и строку ASSUME нужно вынести из сегмента кода, у меня на TASM 2.51, TLINK 2.0 предупреждений нет.
и наверное всеже стоит задать значения переменным, при таких значениях
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DATA SEGMENT                    ;Сегмент данных
X DW ?                               ;Память для переменных
A DW 0
B DW 1
C DW 2
D DW 2
DATA ENDS
 
SSEG SEGMENT Stack  ; Открыть сегмент стека
         DB 100h DUP (?)               ; Отвести под стек 256
                ; байт
  SSEG ENDS                       ; Закрыть сегмент стека
;!!! 
ASSUME CS:CODE, DS:DATA, SS:SSEG ;эту строку нужно вынести из сегмента кода
;!!!
 
CODE SEGMENT                   ;Сегмент кода
START:
MOV AX,Data 
;дальнейший код
0
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
16.07.2012, 00:40
А можно вообще линковать COM и не париться со стеком.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2012, 00:40

надо что то добавить!!прога просто выводит список групп,учеников и первых 3 оценок.надо чтобы прога в конце показывала по убыванию средего балла
#include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<stdlib.h> main() {int t,o1,o2,o3; char...

Арифметическая прогрессия
Вообщем, поиск по форму ничего не дал, а с++ я помню плохо. Есть задачка, дана последовательность, скажем из 5 чисел, в виде массив,...

Арифметическая прогрессия
по условию: a1^2+a11^2=3 , a2*a14=k , a1*a15=? Помогите с решение или пример решения похожего будет даже лучше.

Арифметическая задача
Необходимо решить с процедурой или функцией с использованием цикла))помогите В простую переменную последовательно вводятся N...

Арифметическая задача
Прошу помощи( Напечатать таблицы температур по Цельсию от 0 до 100 градусов с дискретностью в один градус и их эквивалентов по шкале...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru