Аппаратные и программные средства встраиваемых систем



Pdf көрінісі
бет225/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   221   222   223   224   225   226   227   228   ...   268
5.3.3  Циклы 
-- Бесконечный цикл BEGIN AGAIN 
: test1 begin 
    ." test1 " 
  again ; 
 
-- Цикл со счетчиком DO LOOP, значение счетчика цикла принимает значения от  
-- 0 до 9. Аналог на языке C: for(i=0;i<10;i++) { } 
 
: test2 10 0  do 
      i .  
    loop ; 
 
-- Цикл с проверкой в начале, продолжается если перед while  
-- ИСТИНА  


 
235 
-- (не 0) 
 
: test3 begin  1 while 
 
    ." test3 " 
  repeat ; 
 
-- Цикл с проверкой в конце, продолжается пока перед repeat  
-- на стеке ЛОЖЬ (0) 
 
 
: test4 begin   
 
    ." test4 " 
 
  0 until ; 
 
5.3.4  Условные ветвления 
-- Операторы IF THEN 
 
: test3 
  2 == if 
    " это двойка... " type cr 
     then ;    
 
 
-- Операторы IF ELSE THEN 
 
: test4 
  2 == if 
    " это двойка... " type cr 
     else 
    " это не двойка" type cr 
     then ;    
5.3.5  Переменные и константы 
-- Константы 
 
0x41 constant ADDR1 
 
: test5 
  ADDR1 h. cr 
  ; 
 
 
-- Переменные 
 
variable var1 
 
: test6 
 
  0x15 var1 ! -- Записываем в переменную 
   
  var1 @ h. cr  -- Читаем из переменной 
 
  ; 


 
236 
5.3.6  Загрузка файла в SDK-1.1 
При  помощи  этого m3p-скрипта (load.m3p) производится  загрузка 
исполняемого файла в учебный стенд SDK-1.1: 
terminateonerror 
-- Открытие com-порта на скорости 9600 бит/с: 
-- com1 под MS Windows, /dev/ttyS0 под Linux 
9600 openchannel com1 
: wait 
    cr cr 
    ." Включите питание и нажмите кнопку RESET на стенде SDK." cr cr  
    ." Ожидание перезапуска... "  
    begin rsio dup emit 109 == until 
    ." Ok" cr cr 

    wait  
 
    T_RAM 
 
    0x2100       write   test_serial.bin 
    0x2100       jmp 
 
    0 term 
 
bye 


Достарыңызбен бөлісу:
1   ...   221   222   223   224   225   226   227   228   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет