Решение выражения x=(155d-c)/(a+b)+c*c - Assembler

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

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

Здравствуйте. Помогите пожалуйста с программой. Надо чтоб число выводило больше 65535 на экран.
text segment 'code' 
assume cs:text, ds:data 
myproc proc 
mov ax, data 
mov ds, ax 
lea dx, str1 
mov ah, 09h 
int 21h 
 
mov ax,155 
imul d 
mov bx,dx
mov cx,ax
mov cx,c 
sub ax,cx 
mov cx,ax 
mov ax,a 
mov bx,b 
add ax,bx 
mov bx,ax 
mov ax,cx 
idiv bx 
 
mov cx,ax 
mov ax,c 
imul c 
add ax,cx 
 
call outp 
mov x, ax 
lea dx, str2 
mov ah, 09h 
int 21h 
mov ax, 4c00h 
int 21h 
myproc endp 
 
outp proc 
push ax 
push cx 
push dx 
push bx 
xor cx,cx 
mov bx, 000Ah 
cont: xor dx, dx 
div bx 
push dx 
inc cx 
or ax, ax 
jnz cont 
mov ah, 02h 
next: 
pop dx 
add dl, 30h 
int 21h 
loop next 
pop bx 
pop dx 
pop cx 
pop ax 
ret 
outp endp 
text ends 
data segment 
a dw 6 
b dw 2 
c dw 60 
d dw 4 
x dw ? 
str1 db 'Решение выражения , x=(155d-c)/(a+b)+c*c', 0Ah, 0Dh, '$' 
str2 db 0Ah, 0Dh, 'Решение закончено', 0Ah, 0Dh, '$' 
data ends 
stack1 segment para stack 'stack' 
db 128 dup (?) 
stack1 ends 
end myproc

Решение задачи: «Решение выражения x=(155d-c)/(a+b)+c*c»

textual
Листинг программы
model   tiny
.code
org 100h
start:  mov ah,9
    lea dx,dbRes
    int 21h
    FINIT
;
    FILD    word ptr c
    FIMUL   word ptr c;c^2
;
    FILD    word ptr e;155;
    FIMUL   word ptr d;155*d
    FISUB   word ptr c;155*d-c
;
    FILD    word ptr a
    FIADD   word ptr b;a+b
;
    FDIVP;  st(1),st(0);(155*d-c)/(a+b)
    FADDP;  st(1),st(0);(155*d-c)/(a+b)+c^2
;
    FBSTP   dat
;
    lea si,outdat+9
    mov cx,10
    std
@@01:   lodsb
    aam 10h
    or  ax,'00'
    xchg    ah,al
    int 29h
    xchg    ah,al
    int 29h
    loop    @@01
    ret
;
dbRes   db  10,13,'Result:$'
a   dw  6
b   dw  2
c   dw  60
d   dw  4
e   dw  155
outdat  label   byte
dat DT  ?
    db  98h
    end start

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


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

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

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