Задача Assembler

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

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

Здравствуйте, нужно написать код, если кто поможет, буду очень благодарен. В этой дисциплине вообще не разбираюсь, по-этому прошу вашей помощи. Что нужно: В регистры AX,BX вводятся 2 числа, их надо распечатать, затем находим сумму этих чисел, и разницу, если сумма больше разницы - нужно вывести знак ">", если меньше - "<" Если кто сможет помочь, напишите пожалуйста.

Решение задачи: «Задача Assembler»

textual
Листинг программы
model   tiny
.code
org 100h
start:
    lea dx,dbEnterA
    call    inpNumb
    mov numbA,ax
    lea dx,dbEnterB
    call    inpNumb
    mov numbB,ax
    mov ax,numbA
    lea dx,dbNumberA
    call    outNumb
    mov ax,numbB
    lea dx,dbNumberB
    call    outNumb
    mov ax,numbA
    add ax,numbB
    mov summ,ax
    lea dx,dbSumm
    call    outNumb
    mov ax,numbA
    sub ax,numbB
    mov subb,ax
    lea dx,dbSubb
    call    outNumb
    mov bl,'>'
    mov ax,summ
    cmp ax,subb
    ja  @@01;
    mov bl,'<'
@@01:
    lea dx,dbRes
    mov ah,09
    int 21h
    mov al,bl
    int 29h
    xor ax,ax
    int 16h
    ret
outNumb:
    push    ax
    mov ah,9
    int 21h
    pop ax
    xor cx,cx
    mov bx,10
@@02:
    xor dx,dx
    div bx
    push    dx
    inc cx
    or  ax,ax
    jnz @@02
@@03:   pop ax
    or  al,'0'
    int 29h
    loop    @@03
    ret
inpNumb:
    push    ax
    mov ah,9
    int 21h
    pop ax
    xor di,di   
    mov bx,10
@@04:
    xor ax,ax
    int 16h
    cmp al,13
    jz  @@05
    cmp al,'0'
    jb  @@04
    cmp al,'9'
    ja  @@04
    push    ax
    int 29h
    pop ax
    and ax,0fh
    xchg    di,ax
    xor dx,dx
    mul bx
    add di,ax
    jmp @@04
@@05:
    mov ax,di
    ret
dbEnterA    db  10,13,'Enter A:$'
dbEnterB    db  10,13,'Enter B:$'
dbNumberA   db  10,13,'Number A:$'
dbNumberB   db  10,13,'Number B:$'
dbSumm      db  10,13,'Summa:$'
dbSubb      db  10,13,'Difference:$'
dbRes       db  10,13,'Result:$'
numbA       dw  ?
numbB       dw  ?
Summ        dw  ?
subb        dw  ?
    end start

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

15   голосов , оценка 3.6 из 5