Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main() {
- const int ARR_SIZE = 5;
- int arr[ARR_SIZE];
- int res_c = 0;
- int res_asm = 0;
- cout << "This program finds sum of negative elements in array of size 5" << endl;
- for (int i = 0; i < ARR_SIZE; i++) {
- printf("Input element %d: ", i + 1);
- cin >> arr[i];
- }
- for (int i = 0; i < ARR_SIZE; i++) {
- if (arr[i] < 0)
- res_c += arr[i];
- }
- __asm {
- lea esi, arr
- mov ecx, ARR_SIZE
- xor eax, eax
- next_:
- mov ebx, [esi]
- cmp ebx, 0
- jge skip_
- add eax, ebx
- skip_:
- add esi, 4
- loop next_
- mov res_asm, eax
- }
- printf("Result in c++: %d\nResult in asm: %d\n", res_c, res_asm);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement