📄 main.c
字号:
#include <stdio.h>
#include "swi.h"
unsigned *swi_vec = (unsigned *)0x08;
extern void SWI_Handler(void);
unsigned Install_Handler( unsigned routine, unsigned *vector )
{
unsigned vec, old_vec;
vec = (routine - (unsigned)vector - 8) >> 2;
if (vec & 0xff000000)
{
printf("Handler greater than 32MBytes from vector");
}
vec = 0xea000000 | vec; /* OR in 'branch always' code */
old_vec = *vector;
*vector = vec;
return (old_vec);
}
int main( void )
{
unsigned long long input1,input2;
unsigned int firstL,firstH,secondL,secondH;
void * resultPtr;
printf("Please input the first 64 bits integer numbers:");
scanf("%lld",&input1);
printf("Please input the second 64 bits integer numbers:");
scanf("%lld",&input2);
firstL = (unsigned int)input1;
firstH = (unsigned int)(input1>>32);
secondL = (unsigned int)input2;
secondH = (unsigned int)(input2>>32);
Install_Handler( (unsigned) SWI_Handler, swi_vec );
resultPtr = add_64( firstL,firstH,secondL,secondH );
printf("The sum is: %llu",((unsigned long long *)resultPtr)[0]);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -