![]() |
|
![]() ![]() ![]() |
|
user2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.3.2007 Репутация: нет Всего: 1 |
Помогите, please, разобраться с программой - ввод и вывод числа в десятичном представлении, а точнее с процедурами output и EnterFigure
Помощь хотелось бы получить, например, в виде подробных коментариев рядом с командами .model small .stack 100h .data rezAX db "АХ=$" stra db "Введите число: $" message db "Вы не ввели число. В регистре АХ хранится 0. $" n db 10,13,"$" max db 6 len db 0 figure db 6 dup ("$") .code output proc;вывод числа на экран ;>>занесение цифр в стек xor cx, cx xor bx, bx push ax mov bl, 10 cycl1: xor dx,dx div bx add dl, 30h push dx inc cl cmp ax,0 JZ next jmp cycl1 ;<<занесение цифр в стек next: mov ah, 9h lea dx, rezAX int 21h xor ax,ax xor dx,dx mov ah, 2h cycl2: pop dx int 21h loop cycl2 pop ax ret output endp ;----------------------------------------------------------------------------------------------- EnterFigure proc ;чтение числа в регистр AX xor ax,ax ;чтение mov ah, 0Ah ;числа lea dx, max ;(строки) int 21h xor ax,ax xor bx,bx xor cx,cx lea si, len mov cl, [si] cmp cl,0 JZ showmessage sub cl,1 lea si, figure mov al,[si] sub al, 30h cmp cx,0 JZ next1 cycl: mov bl,10 mul bx inc si mov bl,[si] sub bl, 30h add ax,bx loop cycl jmp next1 showmessage: mov ah, 9h lea dx, message int 21h xor ax, ax next1: ret EnterFigure endp main: mov ax,@data mov ds,ax xor ax, ax mov ah, 9h lea dx, stra int 21h mov ah, 2h mov dl, 10 int 21h mov dl,13 int 21h call EnterFigure ;>>вызов функции для ввода числа(диапазон вводимого числа 0..65535) mov bx, ax ;>>перевод каретки mov ah, 2h mov dl, 10 int 21h mov dl,13 int 21h mov ax, bx call output ;>>вызов функции для вывода числа из регистра АХ на экран mov ah, 1h int 21h mov ah,4ch int 21h end main |
|||
|
||||
Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: нет Всего: 61 |
Отредактируй свой пост и вставь теги кода (кнопочка "Код", выбрать АСМ)
Иначе нет желания разбираться -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
user2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.3.2007 Репутация: нет Всего: 1 |
Помогите, please, разобраться с программой - ввод и вывод числа в десятичном представлении, а точнее с процедурами output и EnterFigure
Помощь хотелось бы получить, например, в виде подробных коментариев рядом с командами
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
если совсем ничего не понятно, думаю надо начать с какого-нибудь учебника - Зубкова например иначе пиши какие конкретно команды не понятны -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |