Add function prototypes.

This commit is contained in:
carl 2019-03-25 00:11:19 +08:00
parent 053c509fc9
commit ef3a6b3cc4
2 changed files with 53 additions and 26 deletions

View file

@ -42,3 +42,21 @@ char dr_m[8][8] = {
-1, -1, -1, -1, -1, -1, -1, -1
};
#endif
/* 8086 specific routines */
void ea_1(int param);
void ea_2(int param);
void reverse(void);
void badsyntax(void);
void regsize(register int sz);
void indexed(void);
void branch(register int opc,expr_t exp);
void pushop(register int opc);
void addop(register int opc);
void rolop(register int opc);
void incop(register int opc);
void callop(register int opc);
void xchg(register int opc);
void test(register int opc);
void mov(register int opc);
void imul(int opc);

View file

@ -8,7 +8,8 @@
* INTEL 8086 special routines
*/
ea_1(param) {
void ea_1(int param)
{
if ((mrg_1 & 070) || (param & ~070)) {
serror("bad operand");
@ -41,7 +42,7 @@ ea_1(param) {
}
}
ea_2(param) {
void ea_2(int param) {
mrg_1 = mrg_2;
exp_1 = exp_2;
@ -49,8 +50,10 @@ ea_2(param) {
ea_1(param);
}
reverse() {
register m, r; expr_t e;
void reverse(void)
{
register int m, r;
expr_t e;
m = mrg_1; mrg_1 = mrg_2; mrg_2 = m;
e = exp_1; exp_1 = exp_2; exp_2 = e;
@ -59,13 +62,15 @@ reverse() {
#endif
}
badsyntax() {
void badsyntax(void)
{
serror("bad operands");
}
regsize(sz) register sz; {
register bit;
void regsize(register int sz)
{
register int bit;
sz <<= 3;
bit = 010;
@ -77,7 +82,8 @@ regsize(sz) register sz; {
mrg_2 &= ~bit;
}
indexed() {
void indexed(void)
{
int sm1, sm2;
if (mrg_2 & ~7)
@ -98,8 +104,9 @@ indexed() {
}
}
branch(opc,exp) register opc; expr_t exp; {
register sm,dist;
void branch(register int opc,expr_t exp)
{
register int sm,dist;
int saving = opc == 0353 ? 1 : 3;
dist = exp.val - (DOTVAL + 2);
@ -132,7 +139,8 @@ branch(opc,exp) register opc; expr_t exp; {
emit1(dist);
}
pushop(opc) register opc; {
void pushop(register int opc)
{
regsize(1);
if (mrg_1 & 020) {
@ -161,8 +169,8 @@ pushop(opc) register opc; {
}
}
addop(opc) register opc; {
void addop(register int opc)
{
regsize(opc);
if (mrg_2 >= 0300) {
emit1(opc); ea_1((mrg_2&7)<<3);
@ -197,8 +205,9 @@ addop(opc) register opc; {
badsyntax();
}
rolop(opc) register opc; {
register cmrg;
void rolop(register int opc)
{
register int cmrg;
cmrg = mrg_2;
mrg_2 = mrg_1;
@ -217,7 +226,8 @@ rolop(opc) register opc; {
badsyntax();
}
incop(opc) register opc; {
void incop(register int opc)
{
regsize(opc);
if ((opc&1) && mrg_1>=0300) {
@ -228,8 +238,8 @@ incop(opc) register opc; {
}
}
callop(opc) register opc; {
void callop(register int opc)
{
regsize(1);
if (mrg_1 & 040) {
if (opc == (040+(0351<<8))) {
@ -249,8 +259,8 @@ callop(opc) register opc; {
}
}
xchg(opc) register opc; {
void xchg(register int opc)
{
regsize(opc);
if (mrg_2 == 0300 || mrg_1 < 0300)
reverse();
@ -262,8 +272,8 @@ xchg(opc) register opc; {
badsyntax();
}
test(opc) register opc; {
void test(register int opc)
{
regsize(opc);
if ((mrg_1 & 040) || mrg_2 >= 0300)
reverse();
@ -288,8 +298,8 @@ test(opc) register opc; {
badsyntax();
}
mov(opc) register opc; {
void mov(register int opc)
{
regsize(opc);
if (mrg_1 & 020) {
emit1(0216); ea_2((mrg_1&3)<<3);
@ -334,8 +344,7 @@ mov(opc) register opc; {
}
}
imul(opc)
int opc;
void imul(int opc)
{
regsize(opc);
if (exp_2.typ != S_ABS || ((mrg_2 & 040) == 0)) {