ماشین برنامه ذخیره‌شده با دسترسی تصادفی
مرحلهٔ اجرایی INC، DEC

شرح زیر، تفسیر ماشینِ حالت RAM از فرمان‌های برنامه‌ای، یعنی INC h، DEC h، را کامل می‌کند و بدین ترتیب نمایش چگونگی "جعل هویت" RASP توسط RAM را تمکیل می‌نماید.
مجموعه فرمان برنامه‌ای هدف: { INC h; DEC h; JZ h,xxx, HALT }
بدون فرمان‌های غیرمستقیم ماشینِ حالت، INCi و DECi، جهت اجرای فرمان‌های برنامه‌ایِ INC و DEC، ماشینِ حالت باید از کپی غیرمستقیم جهت گرفتن مقادیر رجیستر مورد اشاره به درون رجیستر یدکی #۳ استفاده نماید، آن را DEC یا INC کرده، و سپس برای بازفرستادن آن به رجیستر مورد اشاره، از کپی غیرمستقیم استفاده کند.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|  |  |  | PC | IR |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|  |  | hole # → | ۱ | ۲ | ۳ | ۴ | ۵ | ۶ | ۷ | ۸ | ۹ | ۱۰ | ۱۱ | ۱۲ | ۱۳ | ۱۴ | ۱۵ | ۱۶ | ۱۷ | ۱۸ | ۱۹ |
|  |  | program, parameters → | ۵ |  |  |  | JZ | ۱۸ | ۱۵ | DEC | ۱۸ | INC | ۱۹ | JZ | ۱۵ | ۵ | H |  |  | n |  |
|  |  | encoded program → | ۵ |  |  |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n |  |
| step |  | state machine instructions ↓ |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
: 
| ۱۵   |   | J fetch_instr | ۸ | ۱۸ | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| ۱۶ | fetch_instr:   | CPY <<1>>,<2> | 8 i | [۲] | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| ۱۷   | parse:   | JZ 2,halt | ۸ | ۲ | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| ۱۸   |   | 2-Dec | ۸ | [۱] | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| ۱۹   |   | JZ 2, inc_routine: | ۸ | ۱ | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| ۲۰   |   | 2-Dec | ۸ | [۰] | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| 21 |  | JZ 2, dec_routine: | ۸ | ۰! | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n |  |
| ۲۲   | dec_routine:   | INC 1 | ۹ | ۰ | n   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n   |  |
| 23 |  | CPY <<1>>,<2> | 9 i | ۱۸ | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n |  |
| 24 |  | CPY <<2>>,<3> | ۹ | 18 i | n |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n |  |
| ۲۵   |   | JZ 3,*+۲ | ۹ | ۱۸ | n   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n   |  |
| 26 |  | .DEC 3 | ۹ | ۱۸ | n-1 |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n |  |
| 27 |  | CPY <3>,<<2>> | ۹ | 18 i | n-1 |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 |  |
| 28 |  | INC 1 | ۱۰ | ۱۸ | n-1 |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 |  |
| ۲۹   |   | J fetch_instr | ۱۰ | ۱۸ | n-1   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n-1   |  |
|   |   |  |  |  |   |  |  |  |  |  |  |  |  |  |  |  |   |   |  |   |  |
| ۳۰ | fetch_instr:   | CPY <<1>>,<2> | 10 i | ۱ | n-1   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n-1   |  |
| ۳۱   | parse:   | JZ 2,halt | ۱۰ | ۱ | n-1   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n-1   |  |
| ۳۲   |   | 2-Dec | ۱۰ | ۰ | n-1   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n-1   |  |
| ۳۳   |   | JZ 2,inc_routine: | ۱۰ | ۰! | n-1   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n-1   |  |
| 34 | inc_routine: | INC 1 | ۱۱ | ۰ | n-1 |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 |  |
| 35 |  | CPY <<1>>,<2> | 11 i | ۱۹ | n-1 |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 |  |
| 36 |  | CPY <<2>>,<3> | ۱۱ | 19 i | ۰ |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 | ۰ |
| 37 |  | INC 3 | ۱۱ | ۱۹ | ۱ |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 | ۰ |
| 38 |  | CPY <3>,<<2>> | ۱۱ | 19 i | ۱ |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 | ۱ |
| 39 |  | INC 1 | ۱۲ | ۱۹ | ۱ |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 | ۰ |
| 40 |  | J fetch_instr | ۱۲ | ۱۹ | ۱ |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰ |  |  | n-1 | ۰ |
| ۴۱ | fetch_instr:   | etc. | ۱۲ | ۱۹ | ۱   |  | ۳ | ۱۸ | ۱۵ | ۲ | ۱۸ | ۱ | ۱۹ | ۳ | ۱۵ | ۵ | ۰   |   |  | n-1 | ۰ |
فرمان‌های جایگزین: اگرچه این نمایش به یک RASP اولیه از تنها چهار فرمان منجر شد، خواننده باید حدس بزند که یک فرمان اضافی مانند "ADD <h>" یا "MULT <ha>,<<hb>"، چگونه ممکن است انجام شود.
برنامه‌های RASP خود اصلاح
زمانیکه یک RAM به عنوان یک RASP عمل می‌کند، مورد جدیدی به دست می‌آید: RASP، بر خلاف RAM، ظرفیت خود اصلاحی فرمان‌های برنامه‌ای خود را دارد (فرمان‌های ماشینِ حالت ثابت بوده و غیرقابل تعدیل توسط ماشین هستند). کوک-رکهو (Cook-Reckhow) (1971) (صفحه ۷۵)، مانند هارتمانیس (Hartmanis) (1971) (صفحات ff239)، در توصیفشان از مدل RASP خود، دربارهٔ این موضوع اظهارنظر کرده‌اند.
تعریفی اولیه از این مفهوم را می‌توان در گلدشتین-فون نویمان (Goldstine-von Neumann) (1946) یافت:
"ما به دستوری (فرمانی) نیاز داریم که بتواند یک عدد را درون یک ردیف مشخص جایگزین نماید… با استفاده از چنین دستوری، نتایج یک محاسبه را می‌توان به صورت فرمان‌هایی نشان داد که این محاسبه یا یک محاسبهٔ دیگر را کنترل می‌کنند" (صفحه ۹۳).
چنین قابلیتی، موارد زیر را ممکن می‌سازد:
زیر روال‌ها: روال (یا شاید زیر روال) فراخوانده شده، آدرس بازگشت "return_address" را در آخرین فرمان زیر روال ذخیره می‌کند، به‌طور مثال "JMP return_address"
به اصطلاح JUMP-tables (فهرست‌های JUMP)
کد خود اصلاح