Anda di halaman 1dari 5

ARS USPIT 1. Za prikazani niz naredbi zapisi strojni kod(heksa dekadski) i vrijeme trajanja izvoenja nerdbe uz f=1Mhz.

NAREDBA ADRESA STROJNI KOD TAKTOVI ORG 0H JP MAIN 0000H C3 99 00 10 ORG 99H MAIN: LD B00000001B 0099H 06 01 7 LD C,53H 009BH 0E 53 7 LOP1: NOP 009DH 00 1 LD Z,180 009EH 1E B4 7 LOOP2: LD HL 00A0H 2A AF CD 16 DEC E 00A3H 1D 4 JP NZ,LOOP2 00A4H C2 A0 00 10 DEC, C 00A7H OD 4 JP NZ,LOOP1 00A8H C2 9D 00 10 HALT 00ABH 76 4 ZADATAK: 10+7+7+83*(8)+180*(24)+14+4=360414 takta t=360414/1*10^6=0,360414 s 2. Napii asemblersku funkciju u kojoj se na pojavu NMI-a uitava podatak sa ulaznog A porta PIO sklopa. Ukoliko je uitani podatak iz itervala *10,50+ potrbno ga je ispisati na izlazno B portu pio sklopa. U suprotnom ispisati 0. PIOAD PIOBD PIOAC PIOBC EQU 10H EQU 11H EQU 12H EQU 13H ORG 0 LD SP,1000H CALL PIO HALT PIO: LD A,01001111B OUT (PIOAC),A LD A,00001111B OUT (PIOBC),A RET (NAPISAT PORED OVOG :d) ORG 66H IN A,(PIOAD) CP 10 JP C,IZVAN CP 51 JP C,UNUTAR JP IZVAN IZVAN: LD A,0

OUT (PIOBD),A RETN UNUTAR:OUT (PIOBD),A RETN 3.Neka je 200 podataka zaspisano u memoriji s poetkom na proizvoljnoj memorijskoj adresi definiraj konstantom MEM. U prvoj petlji potrebno je na stog staviti adrese onih podataka koji prema ASCII tablici predstavljaju mala slova. U drugoj petlji potrebno je pretvoriti mala slova u velika slova,za podatke ije su adrese na vrhu stoga. MEM EQU ORG LD LD LD LD PETLJA: LD CALL INC DJNZ LD PONOVI:POP LD SUB LD DJNZ HALT PROVJERA: CP JP CP JP PUSH INC RET KRAJ: RET 8000H 0 SP,7000H E,0 B,200 Hl,MEM A,(HL) PROVJERA HL PETLJA B,E HL A,(HL) 32 (HL),A PONOVI

97 C,KRAJ 123 C,KRAJ HL E

4.Podesiti pio sklop tako da se INT(IM 1) poziva kad su 0., 1. I 3. Bit A porta istovremeno postavljeni u '0'. U prekidnom INT programu potrebno je beskonanu petlju naizmijenino paliti i gasiti parne i neparne bitove izlaznog B porta, tj. u jednom trenutku svijetle neparni, a u drugom parni bitovi. PIOAD PIOBD PIOAC PIOBC EQU EQU EQU EQU ORG LD CALL IM EI HALT 10H 11H 12H 13H 0 SP,4000H PIO 1

PIO:

LD A,11001111B OUT (PIOAC),A LD A,11111111B OUT (PIOAC),A LD A,11010111B OUT (PIOAC),A LD A,11110100B OUT (PIOAC),A RET ORG 38H DI LOOP: LD A,10101010B OUT (PIOBD),A LD A,01010101B OUT (PIOBD),A JP LOOP EI RET 5.U bloku od 100 podataka, potrebno je pronadi niz znakova ('E','T' i 'F').Ukoliko su znakovi zapisani jedan pored drugog, spremite adresu znaka E na vrh stoga, koji je definiran s poetkom na proizvoljnoj memorijskoj adresi.Ukoliko nije pronaen traeni niz znakova, na stog je potrebno zapisati 0H. SLOVO_E SLOVO_T SLOVO_F EQU EQU EQU ORG LD LD LD DEC INC LD CP JP INC LD CP JP INC DEC JP LD CP JP DEC DEC PUSH HALT LD 69 84 70 0 SP,5000H B,100 HL,1000H HL HL A,(HL) SLOVO_E NZ,PETLJA HL A,(HL) SLOVO_T NZ,PETLJA HL B Z,KRAJ A(HL) SLOVO_F NZ,PETLJA HL HL HL HL,0

PETLJA:

KRAJ:

PUSH HL HALT