30.01.2013 Aufrufe

download PDF (32MB)

download PDF (32MB)

download PDF (32MB)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

- ou/npu/citiLiu ljvu isuiuui<br />

0001 32807 FORTH<br />

0002 32807 WORD 'NDUP' ( n l . . . n N N - > n l . . . n N<br />

0002 32807 2E723 C O N ( 5 ) # 3 2 7 E 2 nl . nN )<br />

0002 3280C 48 CON(2) #80 + 1304<br />

0002 3280E E44455 NIBASC 'NDU f<br />

0002 32814 OD C O N ( 2 ) # 8 0 + -p.<br />

0002 32816 B1823 C O N ( 5 ) * + 5 ■<br />

0003 328 IB 143 A=DAT1 A A: =N<br />

0004 328 IE 100 R0 = A R0:=N, store!<br />

0005 32821 D6 C = A A C: =N<br />

0006 32823 C6 C = C + C A C:=2*N<br />

0007 32825 C6 C = C + C A C:=4*N<br />

0008 32827 C2 C = C + A A C:=5*N<br />

0009 32829 109 R1=C Rl:=5*N, store!<br />

0010 3282C 133 ADlEX A : = D l : = R I G H T<br />

0011 3282F 102 R2 = A R2:=RIGHT, store!<br />

0012 32832 CA A = A + C A A : = D 1 + 5 * N : = L E F T<br />

0013 32834 7230 GOSUB NDUP3 C: =nl<br />

0014 32838 145 NDUP1 DAT1=C A DATI:=nl<br />

0015 3283B 128 CROEX C:=N, recal 1 !<br />

0016 3283E CE C=C-1 A C:=N:=N-1<br />

0017 32840 8AE ?c#o A end?<br />

0018 32843 40 GOYES NDUP2 no, continue!<br />

0019 32845 03 RTNCC end!<br />

0020 32847 128 NDUP2 CROEX R0:=N:=N-1, store!<br />

0021 3284A 113 A = R3 A:=LEFT, recall!<br />

0022 3284D 131 D1=A Dl:=LEFT<br />

0023 32850 1C4 D1=D1- 5 Dl:=LEFT:=LEFT'<br />

0024 32853 133 AD1EX A:=LEFT<br />

0025 32856 7010 GOSUB NDUP3 C: -nl<br />

0026 3285A 1C4 D1=D1- 5 Dl :=RIGHT:=RIGHT'<br />

0027 3285D 133 ADlEX A:=RIGHT<br />

0028 32860 102 R2 = A R2:=RIGHT, Store!<br />

0029 32863 133 ADlEX Dl :=RIGHT<br />

0030 32866 61DF GOTO NDUP1<br />

0031 3286A 103 NDUP3 R3 = A R3:=LEFT, store!<br />

0032 3286D 133 ADlEX Dl:=LEFT<br />

0033 32870 147 C=DAT1 A C: =nl<br />

0034 32873 112 A = R2 A:=RIGHT, recall!<br />

0035 32876 131 D1=A Dl : =RIGHT<br />

0036 32879 01 RTN return!<br />

0037 3287B END<br />

PAGE 002<br />

Forth Assembler<br />

FiLeNd<br />

NDUP 1<br />

NDUP2<br />

NDUP3<br />

3287B<br />

32838<br />

32847<br />

3286A<br />

SOURCE : NDUP<br />

OBJECT : FORTHRAM<br />

LISTING : N<br />

D AT E : 0 1 : 1 0 : 4 7 o n 8 7 / 0 2 / 2 6<br />

ERRORS : 000<br />

xxxx SYMBOL TABLE xxxx<br />

NDUP<br />

Das FORTH-Wort "NDUP" ist eine Verallgemeinerung<br />

der im HP-71 FORTH Assembler<br />

vorkompilierten Worter "DUP" und "2DUP",<br />

also einer Erweiterung von 1 bzw. 2 auf N Terme.<br />

Anwenden laBt sich das Wort z.B. bei Rekursionen.<br />

Die Funktionsweise ist hoffentlich<br />

aus dem implementierten Kommentar heraus<br />

-hinreichend ersichtlich. Nachstehend noch 2<br />

Beispiele:<br />

1)21 34 65 78 4 NDUP .S ENDLINE<br />

78 65 34 21 78 65 34 21 OK {8}<br />

2) 3567 37 2 NDUP .S ENDLINE<br />

37 3567 37 3567 OK {4}<br />

Dipl. Ing. Georg Urbanski (2064)<br />

Berliner Str. 43<br />

6101 Messel<br />

^06158/1217<br />

87.3.27

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!