StudyDocs.ru Logo

SPro_otchet_1.docx


Отчет по лабораторной работе №1по дисциплине «Системное программирование»по теме «ПРОГРАМУВАННЯ АРИФМЕТИЧНИХ ДІЙ»Студента группы ИНФ-11-1 Харченко ЕвгенияЗадание: 16. Обчислити для 48-бітних знакових операндівY<Object: word/embeddings/oleObject1.bin>КОД:
#include "stdafx.h"#include <iostream>using namespace std;
int _tmain(int argc, _TCHAR* argv[]){ signed __int64 y, x=8000000000, c=6000000000,he=0x1AF267; __asm{ push eax push ebx mov eax, dword ptr[x] clc rcl eax,1 mov ebx,eax mov eax, dword ptr[x+4] rcl eax,1 mov dword ptr[y], ebx mov dword ptr[y+4], eax // Y=X*2 clc mov eax, dword ptr[y] mov ebx, dword ptr[c] sub eax,ebx push eax mov eax, dword ptr[y+4] mov ebx, dword ptr[c+4] sbb eax,ebx pop ebx mov dword ptr[y],ebx
mov dword ptr[y+4],eax //Y=2X-C clc mov eax, dword ptr[y] mov ebx, dword ptr[he] add eax,ebx
push eax mov eax, dword ptr[y+4] mov ebx, dword ptr[he+4] adc eax,ebx pop ebx mov dword ptr[y],ebx mov dword ptr[y+4],eax //Y=2X-C+he pop ebx pop eax } cout<<"y= "<<y; cin.get(); return 0;}