Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. extern int assembleraddsub(int,int,int,int*);
  5.  
  6. unsigned short addsub(int op1, int op2, int what, int *result);
  7.  
  8. int main(int argc, char** argv)
  9. {
  10. if(argc != 4)
  11. {
  12. printf("\n Usage: ./a5 OP1 WHAT OP2\n");
  13. exit(1);
  14. }
  15.  
  16. int op1 = atoi(argv[1]);
  17. int op2 = atoi(argv[3]);
  18. int what= 0;
  19. int result;
  20. unsigned short flags;
  21.  
  22. if(strcmp(argv[2],"+")==0)
  23. {
  24. what = 1;
  25. } else if(strcmp(argv[2],"-")==0)
  26. {
  27. what = 0;
  28. } else
  29. {
  30. printf("\n Falsche Operation! (Nur + oder -)\n");
  31. }
  32.  
  33. flags = addsub(op1,op2,what,&result);
  34.  
  35. printf("\nO D I T S Z A P C\n");
  36. int i = 11;
  37. int stelle;
  38. for(; i>=0; i--)
  39. {
  40. stelle = flags >> i;
  41. if(stelle & 1)
  42. {
  43. printf("1 ");
  44. } else
  45. {
  46. printf("0 ");
  47. }
  48. }
  49. printf("\n\nErgebnis und Operanden Signed:\n");
  50. printf("%d %s %d = %d " ,(signed short)op1
  51. ,argv[2]
  52. ,(signed short)op2
  53. ,(signed short)result);
  54.  
  55. if(flags >> 11 == 1)
  56. {
  57. printf("(Ergebnis ist falsch!)\n");
  58. } else
  59. {
  60. printf("(Ergebnis ist richtig!)\n");
  61. }
  62.  
  63. printf("\n\nErgebnis und Operanden Unsigned:\n");
  64. printf("%d %s %d = %d " ,(unsigned short)op1
  65. ,argv[2]
  66. ,(unsigned short)op2
  67. ,(unsigned short)result);
  68.  
  69. if(flags & 0x01)
  70. {
  71. printf("(Ergebnis ist falsch!)\n");
  72. } else
  73. {
  74. printf("(Ergebnis ist richtig!)\n");
  75. }
  76.  
  77. return 0;
  78. }
  79.  
  80. unsigned short addsub(int op1, int op2, int what, int *result)
  81. {
  82. return assembleraddsub(op1,op2,what,result);
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement