Программа на языке ассемблера с полным описанием сегментов для вычисления значения y.

Программа на языке ассемблера с полным описанием сегментов для вычисления значения y.
Гость
Ответ(ы) на вопрос:
Гость
data segment   a db ?    x db ?    y db 0    y1 db 0   y2 db 0   per db 10,13,'$'    mesa db 10,13,'input a: $'   mesx db 10,13,'input x: $',10,13 data ends                  stk segment stack          db 128 dup(?)            stk ends                  assume cs:code, ds:data, ss:stk      code segment               start:             mov ax,data        mov ds,ax           mov dx, offset mesa         mov ah,9 ;приглашение на ввод а        int 21h                  mov ah,1 ;считывание нажатого символа         int 21h         mov a,al                   mov dx,offset mesx         mov ah,9 ;приглашение на ввод x          int 21h                 mov ah,1 ;считывание нажатого символа         int 21h          mov x,al                  mov dx,offset per          mov ah,9         int 21h                   mov al,a          cmp x,al          jle Lower ;если x<=a, то перейти на метку Lower. Иначе на метку Higher.         jg Higher         Lower:             mov al,a              add al,al             sub al,x             mov y1,al              jmp short m2                  Higher:             mov al,a             add al,x             mov y1,al                     m2:          mov al,10         cmp x,al          jge Small1;если x<=10, то перейти на метку Small1. Иначе на метку Bigg1.          jl Bigg         Small1:          mov al,x         mov y2,al          jmp short m3          Bigg:          mov al,a          mul x         mov y2,al          m3:         mov al,y1         mov bl,y2          add al,bl          mov y,al     ;вывод на экран  aam      add ax,3030h     mov dl,ah     mov dh,al     mov ah,02      int 21h     mov dl,dh      int 21h mov ah,0 int 16h   mov ah,4ch int 21h     code ends                end start
Не нашли ответ?
Ответить на вопрос
Похожие вопросы