Advertisement
dllbridge

for_ sdcc

Apr 26th, 2025
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.34 KB | None | 0 0
  1.  
  2.  
  3. //   sdcc -mz80 --no-std-crt0 --code-loc 0x8000 --data-loc 0xC000 main.c
  4.  
  5. #include   <stdint.h>
  6.                                                                        // Аналог Z80_OUT через ассемблерную вставку
  7. #define PORT_OUT 0x01                                                  // Произвольный порт для вывода
  8.  
  9.  
  10. /////////////////////////////////////////////////////////////////////////
  11. void delay(uint16_t ms)                                                //
  12. {
  13.     for (uint16_t i = 0; i < ms; i++)
  14.     {
  15.         for (uint16_t j = 0; j < 100; j++)
  16.         {
  17.             __asm__("nop");                                            //     Задержка с помощью NOP
  18.         }
  19.     }
  20. }
  21.  
  22.  
  23. /////////////////////////////////////////////////////////////////////////
  24. void main()                                                            //
  25. {
  26.  
  27.     while (1)
  28.     {
  29.  
  30.         __asm                               // Вывод 0x55 в порт PORT_OUT
  31.             ld a, #0x55
  32.             out (PORT_OUT), a
  33.         __endasm;
  34.        
  35.         delay(1000);
  36.        
  37.  
  38.         __asm                               // Вывод 0xAA в порт PORT_OUT
  39.             ld a, #0xAA
  40.             out (PORT_OUT), a
  41.         __endasm;
  42.        
  43.         delay(1000);
  44.     }
  45. }
  46.  
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement