Составители:
Рубрика:
46
mov cx, 10
lea bx, CIFR ; адрес таблицы преобразования цифр в ASCII
xor si, si ; номер выводимой цифры
OUT: mov al, ‘0’
add ax, si ; ASCII код очередной цифры с номером в si
mov OUT_STR+2, al ; в буфер вывода
mov dl, COUNT[si] ; читать количество цифр с номером в si
mov al, dl
push cx ;временное сохранение cx
mov cl, 4 ; сдвиг на четыре
shr al, cl ; выделить старшую цифру
xlat ; ASCII старшей цифры в al
pop cx ; восстановление cx
mov OUT_STR+4, al ; в буфер вывода
mov al, dl ; восстановить количество цифр в
al
and al,00001111b ; выделить младшую цифру
xlat ; ASCII младшей цифры в al
mov OUT_STR+5, al ; в буфер вывода
lea dx, OUT_STR ; подготовка к выводу строки
mov ah, 09h ; номер функции
int 21h ; вывод строки
inc si ; Счетчик очередной цифры
loop OUT
QUIT: mov ax, 4C00h ; Код завершения 0
int 21h ; Выход в DOS
code ends
end START
mov cx, 10 lea bx, CIFR ; адрес таблицы преобразования цифр в ASCII xor si, si ; номер выводимой цифры OUT: mov al, ‘0’ add ax, si ; ASCII код очередной цифры с номером в si mov OUT_STR+2, al ; в буфер вывода mov dl, COUNT[si] ; читать количество цифр с номером в si mov al, dl push cx ;временное сохранение cx mov cl, 4 ; сдвиг на четыре shr al, cl ; выделить старшую цифру xlat ; ASCII старшей цифры в al pop cx ; восстановление cx mov OUT_STR+4, al ; в буфер вывода mov al, dl ; восстановить количество цифр в al and al,00001111b ; выделить младшую цифру xlat ; ASCII младшей цифры в al mov OUT_STR+5, al ; в буфер вывода lea dx, OUT_STR ; подготовка к выводу строки mov ah, 09h ; номер функции int 21h ; вывод строки inc si ; Счетчик очередной цифры loop OUT QUIT: mov ax, 4C00h ; Код завершения 0 int 21h ; Выход в DOS code ends end START 46
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »