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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2014, 13:47   #1
ahurtep
Пользователь
 
Регистрация: 24.12.2013
Сообщений: 12
Вопрос Вывод чисел от 1 до 30

Есть программа:
Код:
.stack 100h
.data
.code
start: 

mov cx, 30
 	mov dl, '1'
 	mov ah, 02
C:	 
 	int 21h
 	inc dl
 	loop C  
 	
end start
Она выводит числа от 1 до 9, а дальше непонятные символы.
Подскажите, пожалуйста, что нужно сделать чтобы программа выводила числа от 1 до 30?
ahurtep вне форума Ответить с цитированием
Старый 15.01.2014, 14:10   #2
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Код:
.model small
.stack 100h

.code
start:

mov cx,30
xor ax,ax

@@:
inc ax
push ax

aam
or ax,3030h
cmp ah,'0'
je @1

rol ax,8
int 29h
rol ax,8

@1:
int 29h
mov al,0ah
int 29h

pop ax
loop @b

xor ax,ax
int 16h
mov ax,4c00h
int 21h

end start
vadimych вне форума Ответить с цитированием
Старый 15.01.2014, 14:22   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

например, так:
Код:
.MODEL SMALL
.stack 100h
.data
.code
start: 

  mov cx, 30
  mov dx, 1
C:
  push dx
  mov ax, dx
  mov bl,10
  div bl
  add ah, 30h 
  add al, 30h 
  mov dl,al
  mov bl,ah
  mov ah, 02h
  int 21h
  mov dl,bl
  int 21h
  mov dl,' '
  int 21h


  pop dx

  inc dl
  loop C  


  mov ax,4C00h
  int 21h
        
end start

update
извините, пока писал пост, не увидел сообщение от vadimych...

Последний раз редактировалось Serge_Bliznykov; 15.01.2014 в 14:24.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.01.2014, 14:23   #4
ahurtep
Пользователь
 
Регистрация: 24.12.2013
Сообщений: 12
По умолчанию

(29) undeclared label: loop @b
ahurtep вне форума Ответить с цитированием
Старый 15.01.2014, 14:25   #5
ahurtep
Пользователь
 
Регистрация: 24.12.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
например, так:
Код:
.MODEL SMALL
.stack 100h
.data
.code
start: 

  mov cx, 30
  mov dx, 1
C:
  push dx
  mov ax, dx
  mov bl,10
  div bl
  add ah, 30h 
  add al, 30h 
  mov dl,al
  mov bl,ah
  mov ah, 02h
  int 21h
  mov dl,bl
  int 21h
  mov dl,' '
  int 21h


  pop dx

  inc dl
  loop C  


  mov ax,4C00h
  int 21h
        
end start

update
извините, пока писал пост, не увидел сообщение от vadimych...
ооо спасибо
ahurtep вне форума Ответить с цитированием
Старый 15.01.2014, 14:28   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пожалуйста.

если добавите в конце, перех вызовом функции 4C (завершения программы)
код
Код:
  xor ax,ax
  int 16h
(см. пример в коде от vadimych))

то, программа остановится и будет ждать нажатия любой клавиши перед закрытием!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.01.2014, 21:53   #7
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Цитата:
(29) undeclared label: loop @b
Метку переименуйте.
Код:
@0:
...
loop @0
vadimych вне форума Ответить с цитированием
Старый 17.01.2014, 13:46   #8
ahurtep
Пользователь
 
Регистрация: 24.12.2013
Сообщений: 12
По умолчанию

спасибо за помощь
ahurtep вне форума Ответить с цитированием
Старый 10.02.2014, 19:50   #9
Haric_110
Форумчанин
 
Регистрация: 03.03.2013
Сообщений: 102
Вопрос

Объясните пожалуйста этот фрагмент кода:
Код:
        mov	bl, 10
	div	bl
	add	ah, 30h
	add	al, 30h
Как я понимаю, здесь младшая половина числа делится на 10, затем к обеим частям прибавляется 30h. После чего выводится сначала младший байт, затем - старший. Это что? Двоично-десятичный формат?
Haric_110 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод чисел Илья Дикушин Паскаль, Turbo Pascal, PascalABC.NET 7 28.07.2013 11:48
Вывод чисел vovken1997 Паскаль, Turbo Pascal, PascalABC.NET 9 16.11.2012 13:55
Вывод чисел Dima-War Общие вопросы C/C++ 2 27.03.2012 20:53
Вывод чисел Matt_Tuck Фриланс 11 15.03.2010 23:03
Форматированный вывод чисел frankfish Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.03.2009 17:59