Протабулировать функцию - Assembler

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

Отображение таблицы значений выражения x div 3 + x mod 3. Заполнять массив результатами вычислегий. Х от 0 до 20 шаг 5

Код к задаче: «Протабулировать функцию - Assembler»

textual
LOCALS
 
.model small
 
.stack 100h
 
.data
        T       db      5 dup(0)
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        lea     si,     T
        mov     di,     0       ;di = x
@@For:
        mov     ax,     di
        call    OutInt
        mov     bl,     3
        div     bl
        add     al,     ah
        mov     [si],   al
 
        push    ax
        mov     ah,     02
        mov     dl,     ' '
        int     21h
        pop     ax
 
        call    OutInt
        push    ax
        mov     ah,     02
        mov     dl,     0Dh
        int     21h
        mov     dl,     0Ah
        int     21h
        pop     ax
 
        add     si,     1
        add     di,     5
        cmp     di,     20
        ja      @@Break
        jmp     @@For
@@Break:
 
        mov     ax,     4C00h
        int     21h
main    endp
 
OutInt  proc
        push    ax
        aam
        add     ax,     '00'
        mov     dl,     ah
        mov     dh,     al
        mov     ah,     02
        int     21h
        mov     dl,     dh
        int     21h
        pop     ax
        ret
OutInt  endp
 
end     main

12   голосов, оценка 3.750 из 5


СОХРАНИТЬ ССЫЛКУ