home *** CD-ROM | disk | FTP | other *** search
- #include <cpu_prog_model.h>
- #include <cpu6502_addrm.h>
-
-
- void BCC( code)
- PM *code;
- {
- if (!code->Ca)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BCS( code)
- PM *code;
- {
- if (code->Ca)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BEQ( code)
- PM *code;
- {
- if (code->Ze)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BMI( code)
- PM *code;
- {
- if (code->Ne)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BNE( code)
- PM *code;
- {
- if (!code->Ze)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BPL( code)
- PM *code;
- {
- if (!code->Ne)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BVC( code)
- PM *code;
- {
- if (!code->Ov)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
-
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
- void BVS( code)
- PM *code;
- {
- if (code->Ov)
- {
- short int value;
-
- value = code->Me [(code->PC)++];
- if (value >= 0x80)
- value |= (-1 ^ 0xFF);
- (code->PC) += value;
- }
-
- else
- (code->PC)++;
- }
-
-
-