IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Арифметические операции, Число, находящееся в регистре AX, необходимо представить по основанию
dron4ik
сообщение 6.10.2009 16:39
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Привет. Программа вычисляет правильно,но не могу вывести на экран результат..помогите кто знает...пожалуйста
Число, находящееся в регистре AX, необходимо представить по основанию BX [2; 36] в виде остатков и вывести результат на экран в коде"36" с помощью int 21h $.

MySegment Segment 'code'
assume CS:MySegment,SS:MySegment,DS:MySegment,ES:MySegment
     org 100h
   
Main Proc

     mov ax,word ptr Source
     mov bx,word ptr Base
 
     mov di,8
  division:
     xor dx,dx
     div bx
     dec di
     mov str1[di],dl
     cmp ax,0
     jnz division
 
     mov ax,4C00h
     int 21h
 
 Main EndP
Base DW 13
  Source DW  256
str1 db 8 dup(0)
				     ; результат после выполнения:ВОТ ЭТОТ РЕЗУЛЬТАТ НАДО ВЫВЕСТИ НА ЭКРАН
               			     ; 00 00 00 00 00 01 06 09
   
       MySegment EndS
       End Main


Та же проблема с выводом на экран результата..
Прога делает следующее:Программа решает задачу, обратную к той, что решалась в программе которая находится выше: дана строка остатков в DS:SI и основание BX [2; 36]. Получить число в AX и вывести результат на экран в коде"36" с помощью int 21h $.
MySegment Segment 'code'
assume CS:MySegment,SS:MySegment,DS:MySegment,ES:MySegment
org 100h
Main Proc

     mov bx,word ptr Base
     xor ax,ax
     xor cx,cx
 
     lea si,str1
     mov cl,len
 work:
     mul bl
     add al,[si]
     jnc normal
     inc ah
 normal:
     inc si
     loop work
    
     ; AX = 0100h
    
    mov ax,4C00h
    int 21h
  Main EndP
Base DW 13
     str1 db 1,6,9
     len db $-str1
  MySegment EndS
     End Main


Сообщение отредактировано: dron4ik - 6.10.2009 17:27
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Client
сообщение 6.10.2009 18:05
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


mov	dl,s ; тут то что надо вывести, правда с числами кажется не то выводит
int	21h
Вроде то

Сообщение отредактировано: Client - 6.10.2009 18:06
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
dron4ik
сообщение 6.10.2009 18:35
Сообщение #3


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


спасибо!. А где это исправить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.10.2009 19:10
Сообщение #4


Гость






На кой тебе строка тут?

Main Proc
	mov ax,256
	mov bx,13
	
	mov cx, 0
division:
	xor dx,dx
	div bx
	push dx
	inc cx
	cmp ax, 0
	jnz division
	
print_res:
	pop ax
	cmp ax, 10
	jb digit
	sub ax, 10
	add ax, 'A'
digit:
	add ax, '0'
	int 29h
	loop print_res
	
	mov ax,4C00h
	int 21h 
 Main EndP
 К началу страницы 
+ Ответить 
dron4ik
сообщение 6.10.2009 19:30
Сообщение #5


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Спасибо.а как вывести резулт на экран?

Добавлено через 2 мин.
что за 29-ое прерывание?мы такое еще не проходили..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.10.2009 21:04
Сообщение #6


Гость






Цитата
Спасибо.а как вывести резулт на экран?
Может, ты сначала запустишь программу, а потом вопросы задавать будешь?

Добавлено через 43 сек.
Цитата
что за 29-ое прерывание?мы такое еще не проходили..
Пользуйся теми, которые проходили... Я не телепат, чтобы знать, кто что проходил, а кто - нет.
 К началу страницы 
+ Ответить 
dron4ik
сообщение 7.10.2009 9:03
Сообщение #7


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


не работает((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 26.07.2025 3:28
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"