version 1.36, 2008/04/26 20:13:22 |
version 1.37, 2008/04/28 06:35:09 |
|
|
{ |
{ |
int idx; |
int idx; |
struct stack *stack; |
struct stack *stack; |
struct value *value, copy; |
struct value *value; |
|
|
idx = readreg(); |
idx = readreg(); |
if (idx >= 0) { |
if (idx >= 0) { |
|
|
value = stack_pop(stack); |
value = stack_pop(stack); |
} |
} |
if (value != NULL) |
if (value != NULL) |
push(stack_dup_value(value, ©)); |
push(value); |
else |
else |
warnx("stack register '%c' (0%o) is empty", |
warnx("stack register '%c' (0%o) is empty", |
idx, idx); |
idx, idx); |
|
|
if (n == NULL) |
if (n == NULL) |
return; |
return; |
i = get_ulong(n); |
i = get_ulong(n); |
|
free_number(n); |
if (i == BN_MASK2 || i == 0) |
if (i == BN_MASK2 || i == 0) |
warnx("Q command requires a number >= 1"); |
warnx("Q command requires a number >= 1"); |
else if (bmachine.readsp < i) |
else if (bmachine.readsp < i) |