С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Съехавший кодер
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 4
1

Вывести целое положительное число типа word на экран в десятичной СС. Прокомментировать код

10.06.2012, 16:35. Просмотров 860. Ответов 1
Метки нет (Все метки)

Вобщем, есть задача: Реализовать процедуру, выводящую целое положительное число типа word на экран в десятичной системе счисления. Вывести на экран пять чисел, используя разработанную
процедуру. Исходные значения жестко кодируются в программе.

Код программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.8086
.model small
.stack 20h
.data
a dw 100
b dw 77
c dw 59
d dw 62
e dw 89
.code 
Shat proc
push bp
mov bp,sp
mov ax,[bp+4]
xor cx, cx
mov bx, 10
del: 
xor dx,dx
div bx
push dx
inc cx;
test ax, ax ;0
jnz del
mov ah, 02h
izv:
pop dx
cmp dl,9
jbe norm
add dl,7
norm:
add dl, '0'
int 21h
loop izv 
mov dl, ' '
int 21h
pop bp 
ret
Shat endp 
start:
mov ax,@data
mov ds,ax
push a
call Shat
push b
call Shat
push c
call Shat
push d
call Shat
push e
call shat
mov ah,4ch
int 21h
end start

Прокомментируйте эту программу, плиз.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2012, 16:35
Ответы с готовыми решениями:

Вывести на экран целое число
Собственно вот программа которая должна вывести на консоль число -23567, но в...

Как умножить положительное целое беззнаковое число на 2?
Здравствуйте! я начала учить ассемблер и у меня появился вопрос. Как умножить...

Вычислить наибольшее целое положительное число а, удовлетворяющее условию
1.Вычислить наибольшее целое положительное число а, удовлетворяющее...

В массиве A[N] из элементов типа word ( целое 16-ти разрядное без знака) найти максимальный и минимальный.
Задан массив A из элементов типа word ( целое 16-ти разрядное без знака)....

Ввести с клавиатуры целое положительное число и вывести на экран сумму его цифр
Написать программу, которая после ввода с клавиатуры целого положительного...

1
Ant1971on
265 / 260 / 11
Регистрация: 24.12.2010
Сообщений: 328
10.06.2012, 17:21 2
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
.8086
.model small
.stack 20h
.data
a dw 100
b dw 77
c dw 59
d dw 62
e dw 89
.code 
Shat proc
push bp ;Сохраним bp.
mov bp,sp   ;Скопируем в bp адрес вершины стека.
mov ax,[bp+4] ;Число из стека копируем в ax.
xor cx, cx  ;cx = 0
mov bx, 10  ;Основание системы счисления - делитель.
del: 
xor dx,dx   ;Расширим делимое до двойного слова(dx:ax).
div bx      ;(dx:ax)/bx
push dx ;Остаток(цифра) -> в стек.
inc cx;     ;Считаем цифры.
test ax, ax     ;Частное ноль?
jnz del     ;Нет, продолжаем деление.
mov ah, 02h ;Да, все цифры в стеке, выводим их на экран.
izv:
pop dx      ;В dl очередная цифра.
;cmp dl,9   ;Лишние строки. 
;jbe norm
;add dl,7
;norm:
add dl, '0' ;Преобразуем ее в символ.
int 21h     ;Выводим на экран.
loop izv    ;Повторить для всех цифр.
mov dl, ' ' ;Вывод пробела.
int 21h
pop bp  ;Восстанавливаем bp.    
ret         ;Правильнее ret 2.
Shat endp 
start:
mov ax,@data    ;Настройка ds 
mov ds,ax   ;на данные программы.
push a      ;Число -> в стек.
call Shat   ;Вызов подпрограммы вывода.
push b
call Shat
push c
call Shat
push d
call Shat
push e
call shat
mov ah,4ch
int 21h
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2012, 17:21

Ввести с клавиатуры положительное целое число А и вывести на экран количество его цифр, больших 6
Напишите следующую программу. Ввести с клавиатуры положительное целое число А и...

Ввести с клавиатуры положительное целое число А и вывести на экран сумму его нечетных цифр
Напишите следующую программу. Ввести с клавиатуры положительное целое число А и...

Машина Тьюринга. Преобразовать целое положительное число n в десятичной системе по формуле
Целое положительное число n в десятичной системе задано на ленте машины...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru