__INLINE__ __integer __INTERNAL_FUNC__ SetModrmSib(PASM_OBJ pAsmObj, PASMER_OPERAND pRO, PASMER_OPERAND pModRmSib) { SetMod(pAsmObj, pModRmSib);//设置MOD SetRO(pAsmObj, pRO->Base);//设置RO SetRM(pAsmObj, pModRmSib->Base);//设置RM // 确定是否有SIB位 if (IsGotoSIB(pAsmObj)) { SetSS(pAsmObj, pModRmSib->Scale);//设置SS SetIndex(pAsmObj, pModRmSib->Index);//设置Index SetBase(pAsmObj, pModRmSib->Base);//设置Base return 2; } return 1; }
void MasukProgram() { int a,b; scanf("%d",&a); switch (a) { case 1 : { BacaJam(&J1); break; } case 2 : { BacaJam(&J2); break; } case 3 : { TulisJam(J1); break; } case 4 : { TulisJam(J2); break; } case 5 : { printf("Masukkan jam pada jam 1 yang diubah : "); scanf("%d",&b); SetHH(J1,b); break; } case 6 : { printf("Masukkan menit pada jam 1 yang diubah : "); scanf("%d",&b); SetMM(J1,b); break; } case 7 : { printf("Masukkan detik pada jam 1 yang diubah : "); scanf("%d",&b); SetSS(J1,b); break; } case 8 : { printf("Jam 1 itu %d detik\n",JamToDetik(J1)); break; } case 9 : { printf("Jam 2 itu %d detik\n",JamToDetik(J2)); break; } case 10 : { printf("Masukkan detik yang mau dikonvert : "); scanf("%d",&b); TulisJam(DetikToJam(b)); break; } case 11 : { if (JEQ(J1,J2)) { printf("Ya\n"); } else { printf("Tidak\n"); } break; } case 12 : { if (JNEQ(J1,J2)) { printf("Ya\n"); } else { printf("Tidak\n"); } break; } case 13 : { if (JLT(J1,J2)) { printf("Ya\n"); } else { printf("Tidak\n"); } break; } case 14 : { if (JGT(J1,J2)) { printf("Ya\n"); } else { printf("Tidak\n"); } break; } case 15 : { TulisJam(JPlus(J1,J2)); break; } case 16 : { TulisJam(JMinus(J1,J2)); break; } case 17 : { TulisJam(NextDetik(J1)); break; } case 18 : { printf("Masukkan jumlah detik yang mau ditambahkan : "); scanf("%d",&b); TulisJam(NextNDetik(J1,b)); break; } case 19 : { TulisJam(PrevDetik(J1)); break; } case 20 : { printf("Masukkan jumlah detik yang mau ditambahkan : "); scanf("%d",&b); TulisJam(PrevNDetik(J1,b)); break; } case 21 : { printf("Durasinya adalah %d\n",Durasi(J1,J2)); break; } case 22 : { keluar = true; break; } } }