Определить третью справа цифру данного натурального числа - Assembler

Узнай цену своей работы

Формулировка задачи:

1. Дано натуральное число N. Определить третью справа его цифру. на Асемблере

Решение задачи: «Определить третью справа цифру данного натурального числа»

textual
Листинг программы
@stack  segment para stack
        db      1024 dup(?)
@stack  ends
 
@data   segment
        N       dw      12345
        K       dw      3
        D       dw      ?
        Msg     db      'Result: '
        Result  db      ?
        CrLf    db      0Dh, 0Ah, '$'
@data   ends
 
@code   segment
        assume  cs:@code, ds:@data, ss:@stack
main    proc
        ;инициализация сегментного регистра данных
        mov     ax,     @data
        mov     ds,     ax
        ;вычисление K-ой цифры
        mov     ax,     [N]             ;ax:=N
        mov     bx,     10
        mov     cx,     [K]             ;for i:=1 to K do
        @@For:
                mov     dx,     0       ;  dx:=ax mod 10
                div     bx              ;  ax:=ax div 10
        loop    @@For
        mov     [D],    dx              ;D:=dx
        ;вывод результата
        mov     ax,     dx
        aam
        add     ax,     '00'
        mov     [Result],al
        mov     ah,     09h
        lea     dx,     [Msg]
        int     21h
        ;завершение программы
        mov     ax,     4C00h
        int 21h
main    endp
 
@code   ends
 
        end     main

Объяснение кода листинга программы

  1. Начальная инициализация сегментного регистра данных
  2. Вычисление K-ой цифры числа N — Переменная N содержит 12345 (начальное натуральное число) — Переменная K содержит 3 (третья справа цифра) — В цикле for перебираются цифры числа N от старшей к младшей — Результат сохраняется в переменной D
  3. Вывод результата — Результат выводится в формате строки с использованием функции int 21h — Результат выводится на экран с использованием функции lea dx, [Msg] и int 21h
  4. Завершение программы — Завершение программы выполняется с использованием функции int 21h и кода 4C00h

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы