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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2016, 07:49   #1
TATUMARS
Новичок
Джуниор
 
Регистрация: 24.10.2016
Сообщений: 1
По умолчанию Вывод на консоль

Здравствуйте! Написал код на tasm, но вывода на консоль не происходит. Знаю, что нужно что-то дописать, связанное с выводом, но сколько не пытался, не получается

Код:
model small; модель памяти 
.stack 100h; сегмент стека 
.data ;сегмент данных 
argument equ 2 
len equ 10; количество элементов mas 
mas db 1,11,9,8,3,7,8,0,2,6 
res db 10 dup(?) 
.code ;сегмент кода 
start : 
mov ax, @data ; физический адрес сегмента данных в регистрах 
mov ds, ax 
mov cx, len ; длина поля mas cx 
xor si,si ; обнуление индекса массива 
jcxz exit ;проверка cx на 0 
cycl : 
xor ax, ax 
cmp mas[si],10; 
ja m1 ; 
mov al, argument ; 
mul mas[si] 
mov res[si],al ;y=ax 
cmp mas[si],5 
jbe nxt ; 
mov al, argument 
add res[si],al ; 
jmp nxt 
m1: 
mov al,0 
mov res[si],al ; 
nxt: 
inc si ; 
loop cycl; 
exit: 
mov ax,4c00h 
int 21h; 
End start

Последний раз редактировалось Аватар; 24.10.2016 в 07:51.
TATUMARS вне форума Ответить с цитированием
Старый 25.10.2016, 12:05   #2
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Неудивительно, что нет вывода, ведь в программе не реализован вывод вообще. Какие-то странные вычисления происходят, а вывода на экран нет.
Вариантов много. Можно, например сделать так:
Код:
mov ah,9
mov dx,offset res
int 21h
Только после res db 10 dup (?) нужно добавить строку fin db '$', т.к. вывод через ah=9/int 21h происходит до символа '$'.

Или можно сделать посимвольный вывод на экран, вставив такой код в loop-цикл:
Код:
mov al,Символ
int 29h
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод на консоль Владимрл C# (си шарп) 1 03.11.2015 17:01
Вывод в консоль. fufel Win Api 5 10.11.2012 07:25
Потоки вывод на консоль Dzib C# (си шарп) 0 01.11.2012 05:15
winpcap вывод ip в консоль draculito C/C++ Сетевое программирование 3 14.11.2010 21:38
Вывод времени в консоль. BlincAttack Общие вопросы .NET 2 06.10.2009 14:57