?? math32.c
字號(hào):
// Hoarder board software http://vadim.www.media.mit.edu/Hoarder/Hoarder.htm
// Copyright (C) 2001-2002 MIT Media Laboratory
// Programmed by Vadim Gerasimov <vadim@media.mit.edu>
// 32-bit arithmetic
#define move32(to,from) {to[0]=from[0];to[1]=from[1];to[2]=from[2];to[3]=from[3];}
#define zero32(n) {n[0]=0;n[1]=0;n[2]=0;n[3]=0;}
#define is_zero32(n) ((n[0]|n[1]|n[2]|n[3])==0)
#define inc32(n) {if(++n[0]==0)if(++n[1]==0)if(++n[2]==0)++n[3];}
void dec32 (char* n) {
if (n[0]--==0) if(n[1]--==0) if (n[2]--==0) --n[3];
}
void add32 (char* a, char* b)
{
byte r[4];
r[0] = *(b);
r[1] = *(b + 1);
r[2] = *(b + 2);
r[3] = *(b + 3);
#asm
movf a,w
movwf 4
movf r[0],w
addwf 0,f
movf r[1],w
incf 4,f
btfsc 3,0
incfsz r[1],w
addwf 0,f
movf r[2],w
incf 4,f
btfsc 3,0
incfsz r[2],w
addwf 0,f
movf r[3],w
incf 4,f
btfsc 3,0
incfsz r[3],w
addwf 0,f
#endasm
}
void sub32(char* a, char* b) { // a = a - b
byte r[4];
r[0] = *(b);
r[1] = *(b + 1);
r[2] = *(b + 2);
r[3] = *(b + 3);
#asm
movf a,w
movwf 4
movf r[0],w
subwf 0,f
movf r[1],w
incf 4,f
btfss 3,0
incfsz r[1],w
subwf 0,f
movf r[2],w
incf 4,f
btfss 3,0
incfsz r[2],w
subwf 0,f
movf r[3],w
incf 4,f
btfss 3,0
incfsz r[3],w
subwf 0,f
#endasm
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -