.686
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
_a sword 10
_b sword 5
_c sword 2
_d sword 3
res sword 0
format db "Answer y = %d", 0
err_msg db "Error: Division by zero!", 0
buffer db 64 DUP(0)
title_w db "Equation 8", 0
.code
start:
mov ax, _b
imul ax, _c
add ax, _d
sub ax, _b
cmp ax, 0
je division_error
mov res, ax
mov ax, _a
imul ax, _a
mov bx, ax
mov ax, _b
imul ax, _b
sub bx, ax
mov ax, bx
cwd
idiv res
mov res, ax
movsx eax, res
invoke wsprintf, addr buffer, addr format, eax
invoke MessageBox, 0, addr buffer, addr title_w, MB_OK
jmp final
division_error:
invoke MessageBox, 0, addr err_msg, addr title_w, MB_ICONERROR
final:
invoke ExitProcess, 0
end start