Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .model small
  2. .stack 100h
  3. .386
  4. .data    
  5. .code    
  6.  
  7. print proc
  8.  
  9.     push AX
  10.     add DL, 30h
  11.     mov AH, 02h
  12.     int 21h
  13.     pop AX
  14.     ret
  15.  
  16. print endp
  17.  
  18. start:  
  19.     mov AX, @data
  20.     mov DS, AX
  21.  
  22.     mov AX, 22311   ;занесение числа в регистр
  23.  
  24.     mov BX, 10      ;занесение основание системы счисления
  25.  
  26.     mov CX, 0       ;счетчик кол-ва цифр устанавливае равным 0
  27.    
  28.     cmp AX, BX      ;сравниваем AX, BX
  29.     jb LL           ;если AX<BX прыгаем на добавление цифры
  30.  
  31.     cicle:          ;сюда будем возвращаться когда
  32.                     ;выделяем цифры
  33.     mov DX, 0       ;обнуляем DX
  34.     div BX          ;делим число DXAX на BX
  35.     push DX         ;сохраняем остаток в стеке
  36.     inc CX          ;увеличиваем счетчик кол-ва цифр на 1
  37.  
  38.     cmp AX, BX      ;сравниваем AX,BX
  39.     jb LL           ;если AX<BX прыгаем на добавлении цифры
  40.     jmp cicle       ;иначе прыгаем на выделение цифр
  41.  
  42.     LL:             ;метка добавление одной цифры
  43.  
  44.     push AX         ;добавляем её на верх стека
  45.     inc CX          ;увеличиваем счетчик кол-ва цифр на 1
  46.  
  47.     for:            ;цикл по цифрам
  48.         pop DX      ;вынимаем цифру в DX
  49.         call print  ;выводим DX
  50.     loop for
  51.  
  52.  
  53.     mov AX, 4C00h
  54.     int 21h
  55. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement