Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .386
- .stack 256h
- .data
- ;здесь окажется сумма чисел в символьном виде, чтобы вывести её на экран
- outp db 3 dup('$')
- .code
- start:
- mov ax, @data
- mov ds, ax
- ;http://calculatori.ru/perevod-chisel.html
- mov ax, 1747o ;помещаем в ax трёхзначное число
- mov cx, 10 ;делитель
- xor bx, bx
- Calc PROC
- deep_in:
- cmp ax,0
- jz exit
- inc bx
- cwd ; Команда CWD копирует значение старшего бита
- ; регистра АХ на все биты регистра DX. Без неё нормально не
- ; поделишь.
- div cx ;разделить ax на 10
- add si, dx ;поместить в si остаток от деления
- jmp deep_in
- ret
- MyProc ENDP
- call Calc
- ;-------------------------------------------------
- exit:
- mov ax, si ;прибавляем последнюю цифру к сумме первых двух
- aam ;корректировка
- add ah,30h ;преобразование в символьный вид для вывода
- add al,30h
- mov [outp], ah ;помещаем в переменную
- mov [outp+1], al
- lea dx,outp ;выводим на экран
- mov ah, 09h
- int 21h
- mov ah, 4ch
- int 21h
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement