Нужно вычислить выражение По таким шагам Начиная с 51 строки в расчете начинаются ошибки stk segment stack db 128 dup(?) stk ends data segment para public 'data' a dw -170 b dw 45 c dw 5000 d dw 2 result dw ? data ends code segment para public 'code' assume cs:code, ds:data, ss:stk begin: mov ax, data mov ds, ax mov ax, a idiv d ; AX = a / d mov bx, ax mov ax, d add ax, bx ; AX = d + (a / d) mov cx, ax mov ax, a add ax, d ; AX = a + d mov bx, ax mov ax, c idiv bx ; AX = c / (a + d) mov dx, ax mov ax, b sub ax, dx ; AX = b - (c / (a + d)) mov bx, ax mov ax, cx ; AX = d + (a / d) ; с этой строки неправильный расчет cwd idiv bx ; AX = (d + (a / d)) / (b - (c /(a + d))) add ax, 10 ; AX = (d + (a / d)) / (b - (c / a(a + d))) + 10 mov result, ax mov dx, result add dl, 30h mov ah, 2 int 21h mov ax, 4C00h int 21h code ends end begin Код stk segment stack db 128 dup(?) stk ends data segment para public 'data' a dw -170 b dw 45 c dw 5000 d dw 2 result dw ? data ends code segment para public 'code' assume cs:code, ds:data, ss:stk begin: mov ax, data mov ds, ax mov ax, a idiv d ; AX = a / d mov bx, ax mov ax, d add ax, bx ; AX = d + (a / d) mov cx, ax mov ax, a add ax, d ; AX = a + d mov bx, ax mov ax, c idiv bx ; AX = c / (a + d) mov dx, ax mov ax, b sub ax, dx ; AX = b - (c / (a + d)) mov bx, ax mov ax, cx ; AX = d + (a / d) ; с этой строки неправильный расчет cwd idiv bx ; AX = (d + (a / d)) / (b - (c /(a + d))) add ax, 10 ; AX = (d + (a / d)) / (b - (c / a(a + d))) + 10 mov result, ax mov dx, result add dl, 30h mov ah, 2 int 21h mov ax, 4C00h int 21h code ends end begin В чем может быть ошибка?
soulgoodman001, stk segment stack db 128 dup(?) stk ends data segment para public 'data' a dw -170 b dw 45 c dw 5000 d dw 2 result dw ? data ends code segment para public 'code' assume cs:code, ds:data, ss:stk begin: mov ax, data mov ds, ax mov ax, a idiv d ; AX = a / d mov bx, ax mov ax, d add ax, bx ; AX = d + (a / d) mov cx, ax mov ax, a add ax, d ; AX = a + d mov bx, ax mov ax, c idiv bx ; AX = c / (a + d) mov dx, ax mov ax, b sub ax, dx ; AX = b - (c / (a + d)) mov bx, ax mov ax, cx ; AX = d + (a / d) cwd idiv bx ; AX = (d + (a / d)) / (b - (c /(a + d))) add ax, 10 ; AX = (d + (a / d)) / (b - (c / (a + d))) + 10 mov result, ax mov dx, result add dl, 30h mov ah, 2 int 21h mov ax, 4C00h int 21h code ends end begin Код stk segment stack db 128 dup(?) stk ends data segment para public 'data' a dw -170 b dw 45 c dw 5000 d dw 2 result dw ? data ends code segment para public 'code' assume cs:code, ds:data, ss:stk begin: mov ax, data mov ds, ax mov ax, a idiv d ; AX = a / d mov bx, ax mov ax, d add ax, bx ; AX = d + (a / d) mov cx, ax mov ax, a add ax, d ; AX = a + d mov bx, ax mov ax, c idiv bx ; AX = c / (a + d) mov dx, ax mov ax, b sub ax, dx ; AX = b - (c / (a + d)) mov bx, ax mov ax, cx ; AX = d + (a / d) cwd idiv bx ; AX = (d + (a / d)) / (b - (c /(a + d))) add ax, 10 ; AX = (d + (a / d)) / (b - (c / (a + d))) + 10 mov result, ax mov dx, result add dl, 30h mov ah, 2 int 21h mov ax, 4C00h int 21h code ends end begin