Question
• In the data segment, define variables ordered by: varA, varB, varC, varD, and Res with some integers initialized
• In the code segment
o calculate A + B with mov and add
o calculate C + D with mov and add
o calculate (A + B) – (C + D) with sub
o save the result in Res with mov
You can copy the following to fill the blanks with your implementations.
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
.data
; define variables: varA, varB, varC, varD, and Res
; ... ...
.code
main1 proc
; calculate Res = (A + B) – (C + D)
; calculate A + B
; ... ...
; calculate C + D
; ... ...
; calculate (A + B) – (C + D)
; ... ...
; save the result in Res
invoke ExitProcess,0
main1 endp
end main1
When finished, test your program in debugger. If you define DWORD varA as 10, varB 20, varC 30, and varD 40, Res should be -40.
Solution Preview
This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.
.386.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
.data
; define variables: varA, varB, varC, varD, and Res
varA DWORD 10d
varB DWORD 20d
varC DWORD 30d
varD DWORD 40d
Res DWORD 0h
.code
main proc
; calculate Res = (A + B) – (C + D)
; calculate A + B...