Уравнение на ассемблере z=(x-y)*((x+y)/2) - Assembler
Формулировка задачи:
title word ; z=(x-y)*((x+y)/2) dat1 segment x dw 8000 y dw 6000 c dw 2 z dw ? dat1 endS cod1 segment assume cs:cod1, ds:dat1 start1: mov ax, dat1 mov ds, ax xor ax, ax mov ax, x sub ax, y ;x-y mov bx, ax ;x-y mov ax, x add ax, y ; x+y mov dx,0 div c; ((x+y)/2) mul bx; (x-y)*((x+y)/2) mov z, ax mov z+2, dx mov ah,4Ch int 21h cod1 endS end Start1
Решение задачи: «Уравнение на ассемблере z=(x-y)*((x+y)/2)»
textual
Листинг программы
title word ;z=(x-y)*((x+y)/2) dat1 segment x db 8 y db 6 c db 2 z dw ? dat1 endS stk1 segment db 256 dup(?) stk1 ends cod1 segment assume cs:cod1,ds:dat1,ss:stk1 start: mov ax,dat1 mov ds,ax mov al,x sub al,y ;x-y mov bl,al ;x-y mov al,x add al,y ;x+y cbw idiv c ;(x+y)/2 imul bl ;(x-y)*((x+y)/2) mov byte ptr [z],al mov byte ptr [z+2],ah mov ah,4Ch int 21h cod1 endS end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д