| Ćwiczenie - linkowanie |
|
Polecenie Napisz program złożony z dwóch modułów: a) moduł pierwszy – powinien zawierać program główny, który "zaświeca" na przemian parzyste i nieparzyste diody wyjściowe oraz podczas ich wyświetlania generuje napisy odpowiednio “parzyste” i “nieparzyste” na wyswietlaczu ciekłokrystalicznym. Na diodach portu p5 dodatkowo wyświetla linijkę świetlną. b) moduł drugi – powinien zawierać dwie pętle opóźniające – 1 i 3 sekundową. Autorzy: Adrian Dolewski Robert Kiełbasa Tomasz Krawczyk klasa IV Technikum Elektronicznego A51 MACRO ASSEMBLER LIN DATE 26/11/07 PAGE 1 MS-DOS MACRO ASSEMBLER A51 V4.21OBJECT MODULE PLACED IN LIN.OBJASSEMBLER INVOKED BY: A51 LIN.ASM LOC OBJ LINE SOURCE 1 extrn code (op3,op1) 2 cseg at 0 F300 3 init_lcd_c equ 0f300h 4 init_lcd_w equ 0f303h 5 lcd_str_put equ 0f309h 6 clear_lcd equ 0f31bh 7 diody Xdata 9700H 8 p5 equ 0F8H 9 using 0 10 prog:lcall init_lcd_c 11 lcall init_lcd_w 12 mov dptr,#text 13 lcall lcd_str_put 14 lcall op1 15 lcall clear_lcd 16 lcall op1 17 mov a,#01010101 18 mov dptr,#diody 19 movx @dptr,a 20 lcall op3 21 lcall init_lcd_c 22 lcall init_lcd_w 23 mov dptr,#text 24 lcall lcd_str_put 25 lcall op1 26 lcall clear_lcd 27 lcall op1 28 mov a,#10101010 29 mov dptr,#diody 30 movx @dptr,a 31 lcall op3 32 mov A,#1H 33prog3:mov p5,A 34 rlc A 35 inc A 36 lcall op1 37 jnc prog 38 sjmp prog 39 text:db'NIEPARZYSTE $' 40 text2:db'PARZYSTE $' 41 end DATE 26/11/07 PAGE 1 MS-DOS MACRO ASSEMBLER A51 V4.21OBJECT MODULE PLACED IN OP.OBJASSEMBLER INVOKED BY: A51 OP.ASM LOC OBJ LINE SOURCE 1 time segment code 2 public op3,op1 3 rseg time 4 op3:mov r2,#15d 5 l1:mov r1,#200d 6 l2:mov r3,#200d 7 l3:djnz r3,l3 8 djnz r1,l2 9 djnz r2,l1 10 ret 11 op1:mov r2,#5d 12 e1:mov r1,#200d 13 e2:mov r3,#200d 14 e3:djnz r3,e3 15 djnz r1,e2 16 djnz r2,e1 17 ret 18 end |
;



