Язык программирования Форт



         

Глава 16. Программирование на форт-ассемблере - часть 12


В MMSFORTH для IBM PC WP содержится в регистре ВХ и указывает на CFA (на 2 меньше, чем PFA); описание имеет вид : 8088-CODE-CARRAY CREATE 1+ ALLOT ;CODE АХ POP ВХ АХ ADD 2 # АХ ADD AX PUSH NEXT END-CODE Вы должны будете определить, как найти и использовать WP в вашей собственной версии Форта.

Упражнения

1. Сформируйте CODE-описания для: a) DUP б) OVER в) ROT г) 2DUP д) TUCK e) NIP ж) -ROT, используя мнемонику Z-80 и 8088. 2. Слово MMSFORTH-ассемблера PSH эквивалентно PSH2, за исключением того, что оно засылает в стек только содержимое регистра AХ. Опишите PSH. 3. Опишите слово PSH3, которое должно работать как PSH2, но заносить в стек содержимое регистров ВХ, DX и АХ в указанном порядке. 4. Опишите слово ;С так. чтобы оно выполняло NEXT END-CODE 5. Опишите слово типа CODE с именем @REGS, которое заносит в стек 8088 содержимое регистров Dl. SI, SP, DX, СХ, ВХ и АХ в указанном порядке. Теперь опишите слово типа двоеточие.REGS, которое использует @REGS и отображает содержимое регистров микропроцессора 8088. 6. Мнемокод микропроцессора 8088 SUB вычитает содержимое одного регистра из содержимого другого. Если SUB заменит ADD а описании слова +. приведенном выше, содержимое регистра DX будет вычитаться из содержимого регистра АХ (результат останется в АХ). Опишите слово -. 7. Используя ;CODE, опишите следующие слова: a) ARRAY б) DARRAY в) CONSTANT г) 2CONSTANT

Как работает ассемблер

Нам следует разобраться с тем, как работает ассемблер, с целью знакомства с техникой программирования, а также и потому, что вы можете захотеть расширить возможности и список мнемокодов в вашем ассемблере. Проще всего описать слово ассемблера NEXT. На TRS-80 в MMSFORTH это описание выглядит как ASSEMBLER DEFINITIONS : NEXT ( --) FD С, Е9 С, ; FORTH в то время как на IBM PC ASSEMBLER DEFINITIONS : NEXT ( -) AD С, 93 С, FF С, 27 С, ; FORTH Вам следует понимать, как Это работает. Конечно, в вашей версии Форта это может быть и по-другому.

Мнемоника ассемблера немного сложнее, но прямолинейнее.


Содержание  Назад  Вперед