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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2017, 19:33   #1
FallenRace
 
Регистрация: 03.11.2017
Сообщений: 5
По умолчанию Вывести поле структуры в TASM в DosBox

Доброго времени суток, есть код - нужно вывести имена всех авторов из структуры. когда я вывожу - на экран выводит просто мусор, что не так?
Код:
.MODEL SMALL
.STACK 100h

print macro m
mov ah,09h
mov dx,offset m
int 21h
endm

author STRUC			
nameof db 20 DUP (' ')
bookname db 20 DUP (' ')
vidav db 20 DUP (' ')
year db 5 DUP (' ')
amount db 3 dup(' ')
author ENDS

.DATA
n equ 3			
allstuct author <"David And", "Calling", "Goodsfd", "1999", 32>, <"Makfard Andy", "Faster", "Oops", "1954", 24>, <"Stephen King", "Misery", "Objection", "1984", 54>
count db 0

.CODE
mov ax,@data
mov ds,ax
call Check				
mov ah, 04ch            
int 21h 

Check Proc near
lea bx , allstuct
mov cx, n
 
@@1: 
print [bx].nameof	
loop @@1

Check Endp
END
FallenRace вне форума Ответить с цитированием
Старый 03.11.2017, 22:59   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

1)
Код:
mov dx, offset m
не сработает тут, нужно
Код:
lea dx, m
2) Оно будет печатать кучу мусора, так как нет '$', который должен завершать строку при выводе по int 21h, ah = 09h
3) Оно будет печатать каждый раз одно и то же, так как bx в цикле не изменяется
Black Fregat вне форума Ответить с цитированием
Старый 03.11.2017, 23:22   #3
FallenRace
 
Регистрация: 03.11.2017
Сообщений: 5
По умолчанию

@Black Fregat спасибо, помогли
FallenRace вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра на ассемблере(TASM, DOSBOX) ilionis Фриланс 2 18.03.2016 09:53
Найти максимальный элемент в массиве. Вывести четные элементы массива. TASM Tixme Помощь студентам 0 25.06.2014 14:34
как вывести текст на экран (TASM) Аlex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 05.03.2010 19:53
Помогите вывести строку на экран в обратном порядке(TASM .small) depocomp Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 13 21.05.2009 11:22