Реализация арифметических действий 

                  на Аssembler        



                                                Выполнила: Журавлёва Полина

                                                        ФИТ ПИН 1206



Программа сложение двух чисел


SEG1 SEGMENT

OPER1 DB 2

OPER2 DB 11

SEG1 ENDS

SEG2 SEGMENT

RESULT DB?

SEG2 ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:SEG1

START:                                mov AX, SEG1

                               mov        DS, AX

                               mov        AH, OPER1

                               add        AH, OPER2

ASSUME DS:NOTHING, DS:SEG2

                               mov        SP, SEG2

                               mov        DS, SP

НЕ нашли? Не то? Что вы ищете?

                               mov        RESULT, AH

                               mov        AH,4CH

                               int        21H

CODE ENDS

END START

Программа вычитание двух чисел


SEG1 SEGMENT

OPER1 DB 11

OPER2 DB 2

SEG1 ENDS

SEG2 SEGMENT

RESULT DB?

SEG2 ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:SEG1

START:                                mov AX, SEG1

                               mov        DS, AX

                               mov        AH, OPER1

                               sbb        AH, OPER2

ASSUME DS:NOTHING, DS:SEG2

                               mov        SP, SEG2

                               mov        DS, SP

                               mov        RESULT, AH

                               mov        AH,4CH

                               int        21H

CODE ENDS

END START

Программа умножение двух чисел


SEG1 SEGMENT

OPER1 DB 2

OPER2 DB 11

SEG1 ENDS

SEG2 SEGMENT

RESULT DB?

SEG2 ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:SEG1

START:                                mov AX, SEG1

                               mov        DS, AX

                               mov        AH, OPER1

                               mul        AH, OPER2

ASSUME DS:NOTHING, DS:SEG2

                               mov        SP, SEG2

                               mov        DS, SP

                               mov        RESULT, AH

                               mov        AH,4CH

                               int        21H

CODE ENDS

END START

Программа деление двух чисел


SEG1 SEGMENT

OPER1 DB 11

OPER2 DB 2

SEG1 ENDS

SEG2 SEGMENT

RESULT DB?

SEG2 ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:SEG1

START:                                mov AX, SEG1

                               mov        DS, AX

                               mov        AH, OPER1

                               mov        Al, OPER2

                               div delt

ASSUME DS:NOTHING, DS:SEG2

                               mov        SP, SEG2

                               mov        DS, SP

                               mov        RESULT, AH

                               mov        AH,4CH

                               int        21H

CODE ENDS

END START

Решить  ((13+44)*2-33)/6


seg1 segment

x1 dw 13

x2 db 44

x3 db 2

x4 db 33

x5 db 6

seg1 ends

seg2 segment

result db?

seg2 ends

code segment

assume cs:code, ds:seg1

start:

       mov ax, seg1

       mov ds, ax

       mov ax, x1

       add ax, x2

       mov al, ax

       mul  x3

       sub al, x4

       mov ax, al

       div  x5

assume ds:nothing, ds:seg2

       mov bx, seg2

       mov ds, bx

       mov result, al

       mov ah, 4ch        

       int 21h

code ends

end start