Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .586
- .MODEL FLAT, C
- .DATA
- order1Switch DB 0 ;Set to 0 if addition, 1 if subtraction
- a DWORD 5
- b DWORD 2
- .CODE
- MAINNEW PROC
- mov ecx, 0 ;Set ECX to 0 for counter
- ; Initalize data register (EAX, accumulator) with first value
- mov eax, 0
- add eax, a
- cmp order1Switch, 0
- je execAdd
- jmp execSub
- execAdd:
- call ADDITION
- jmp endSect
- execSub:
- call SUBTRACTION
- jmp endSect
- execMulti:
- call MULTIPLICATION
- jmp endSect
- endSect:
- mov eax, eax
- MAINNEW ENDP
- ADDITION PROC
- add eax, b
- ret
- ADDITION ENDP
- SUBTRACTION PROC
- sub eax, b
- ret
- SUBTRACTION ENDP
- MULTIPLICATION PROC
- mov ecx, b
- multiply:
- add eax, a
- loop multiply
- ret
- MULTIPLICATION ENDP
- DIVISION PROC
- DIVISION ENDP
- END
Advertisement
Add Comment
Please, Sign In to add comment