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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2013, 16:15   #1
Asel01
 
Регистрация: 26.02.2013
Сообщений: 3
Счастье даны натуральные числа n и k (assembler). определить к-ую справа цифру n.

Код:
.model tiny
.code 
org 100h
.data
start:
mov	dx, offset message1
mov	ah, 9
int	21h
mov	dx,   offset buffer
mov	ah, OAh
int	21h
mov	dx, offset message3
mov	ah, 9
int	21h
call	translateFromSymToNum
push	ax
mov	dx, offset message2
mov	ah,   9
int	21h
mov	dx, offset buffer
mov	ah,OAh
int	21h
mov	dx, offset message3
mov	ah, 9
int	21h
pop	ax
xor	cx, cx
mov	cl, blength
mov	di, cx
sub	di, ax
xor	ax, ax
mov	dl, byte ptr bcontents[di]
mov	ah, 2
int	21h
ret translateFromSymToNum:
xor	di,di
xor	ax,ax
mov	cl, blength
xor	ch,ch
xor	bx,bx
mov	si,cx
mov	cl,10
xor	bp,bp
cloopl:
  mov bl,byte ptr bcontents[di]
cmp	bl,'-'
jnz	dalee1
mov	bp,1
jmp short   dalee2
dalee1:
sub	bl,'0'
mul	cx
add	ax,bx
dalee2:
inc	di
cmp	di,si
jb	cloopl
cmp	bp,1
jnz	dalee3
call  reverse!
dalee3:
ret
reversel:
not   ax
add   ax,1
ret
message1     db    'Input k S'
message2     db    'Input n $'
meessage3     db    0Dh,0Ah,'S'
buffer       db    16
blength	db    ?
bcontents:
 end   start

выдает ошибку:
(10) wrong parameters: MOV ah, OAh
(10) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: OAh
не получается исправить, только начинаю изучать этот язык. Помогите, пожалуйста.

________________
Для оформления кода нужно использовать теги: [CODE] .. [ /CODE] (это на панели форматирования кнопочка с решёточкой #)

Модератор

Последний раз редактировалось Asel01; 26.02.2013 в 19:11.
Asel01 вне форума Ответить с цитированием
Старый 26.02.2013, 17:09   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

ну так, исправь букву О на цифру 0.... там 0Ah
GreenWizard вне форума Ответить с цитированием
Старый 26.02.2013, 19:06   #3
Asel01
 
Регистрация: 26.02.2013
Сообщений: 3
По умолчанию

Спасибо, но когда я меняю на 0, он еще больше ругается(
(12) cannot be evaluated: offset message3
(12) undefined variable or over 16 bits
(15) wrong parameters: call translateFromSymToNum
((((((((((((((
Asel01 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны натуральные числа k,n, действительные числа... (Pascal) Макс Мел Помощь студентам 0 04.06.2012 13:43
. Даны натуральные M, N и матрица действительных чисел размером MxN. Определить числа B1,B2,...,BM, равные разностям наи Proskurina Паскаль, Turbo Pascal, PascalABC.NET 3 29.05.2012 23:59
Даны натуральные числа oWneDiT Общие вопросы C/C++ 2 19.07.2011 02:17
Даны натуральные числа n и m. Получить сумму m последних цифр числа n pahanzona Microsoft Office Excel 11 27.02.2011 02:17
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22