projekt z informy 4QOL645FTRJCLI2JIYNQQ7WUV46FPE76ZPYHBKY


Akademia Techniczno-Rolnicza

w Bydgoszczy

wydział: Telekomunikacji i Elektroniki

przedmiot: Technika komputerowa

Sprawozdanie: Marek Makowski gr. O

1. Zadania programu:

Program ma czytać znaki wprowadzane z klawiatury i liczyć ich ilość . Po naciśnięciu Esc program ma wyświetlać statystykę naciśniętych klawiszy.

2. Listing programu:

PRO1 SEGMENT ;okreslenie segmentu kodu

ASSUME CS:PRO1 ;wskazanie segmentu kodu

ORG 100h ;zarezerwowanie 256 bajtow na naglowek (COM)

POCZATEK:

JMP BEGIN ;skocz do begin

MESSAGE DB 'Esc - statystyka',10,13,'$' ;ciag tekstowy

TABLICA DB 256 DUP (0)

PISZ: ;podprodram wyswietla bit jako znak ASCI

ADD DL,30h ;konwersja na ASCI

MOV AH,02h ;wywolanie funkcji wypisywania na ekran znaku zawartego w DL

INT 21h ;przerwanie DOSa

RET ;powrot

DZIES: ;w AL jest znak

MOV CL,AL ;CL <- AL

MOV CH,AL ;CH <- AL

;odczyt setek

MOV AH,0 ;AH <- 0

MOV AL,CL ;AL <- CL

MOV BL,100 ;BL <- dzielnik

DIV BL ;dzielenie AX/100

MOV CL,AH ;CL <- reszta

MOV DL,AL ;DL <- wynik

CALL PISZ ;wyswietla wynik

;odczyt dziesiatek

MOV AH,0 ;AH <- 0

MOV AL,CL ;CL <- AL

MOV BL,10 ;BL <- dzielnik

DIV BL ;dzielenie AX/10

MOV CL,AH ;CL <- reszta

MOV DL,AL ;DL <- wynik

CALL PISZ ;wyswietla wynik

;odczyt jednosci

MOV DL,CL ;CL <- reszta (reszta jest liczba jednosci)

CALL PISZ

RET

BEGIN:

MOV DX,OFFSET MESSAGE ;DX <- offset stringa

MOV AH,9 ;wypisz string na ekran

INT 21h

PETLA:

MOV AH,10h ;funkcja czytania znaku z klawiatury

INT 16h ;przerwanie BIOSu

MOV BX,0 ;wpisanie do tablicy

MOV BL,AL

ADD BYTE PTR TABLICA[BX],1

MOV DL,AL ;DL <- AL

MOV AH,02h ;wyswietlanie znaku

INT 21h

CMP DL,13 ;porownanie czy Enter

JNZ ENTE ;skok do etykiety jesli nie Enter

MOV DL,10 ;DL <- 10 (przejscie do nastepnel linii)

MOV AH,02h ;wyswietlanie znaku

INT 21h

ENTE:

CMP DL,27 ;porownanie czy Esc

JNZ PETLA ;skok do etykiety jesli nie Esc

;po nacisnieciu Esc

MOV DL,10 ;wyswietlanie Enter

MOV AH,02h

INT 21h

MOV DL,13

MOV AH,02h

INT 21h

MOV BL,0 ;zerowanie BX

MOV BH,0

POWT:

MOV AL,BYTE PTR TABLICA[BX] ;AL <- pobranie wartosci z tablicy

CMP AL,0 ; porownanie czy jest jakas wartosc

JZ WAR

CMP BL,32 ;sprawdzenie czy kody sterujĄce

JB DZI

;wyswietkanie znaku w ''

PUSH AX

MOV DL,39 ;wyswietlanie '

MOV AH,02h

INT 21h

MOV DL,BL ;wyswietlanie znaku

MOV AH,02h

INT 21h

MOV DL,39 ;wyswietlanie '

MOV AH,02h

INT 21h

JMP DA

DZI: PUSH AX

MOV AL,BL ;wyswietlanie kodu znaku

PUSH BX

CALL DZIES

POP BX

DA: MOV DL,45 ;wyswietlanie myslnika

MOV AH,02h

INT 21h

POP AX

PUSH BX

CALL DZIES ;wyswietlanie ilosci

POP BX

MOV DL,32 ;wyswietlanie 3 spacji

MOV AH,02h

INT 21h

INT 21h

INT 21h

WAR: ADD BL,1

CMP BL,255

JNZ POWT

MOV AX,4C01h ;funkcja zakonczenia programu

INT 21h

PRO1 ENDS ;zakonczenie segmentu kodu

END POCZATEK

  1. 0x08 graphic
    Algorytm programu.

  1. Opis działania programu.

Na początku program działa w trybie wprowadzania znaków z klawiatury. Po naciśnięciu klawisza znak zostaje wyświetlony na ekranie i do tablicy o indeksie równym kodowi ASCII znaku zostaje dodana wartość 1. Po naciśnięciu `Esc' następuje wyjście z pętli, przejś i przejście kursora do następnej linii. Następnie program przegląda ilość poszczególnych znaków. Jeżeli ilość występowania danego znaku jest różna od zera to następuje wyświetlenie go lub jego kodu ASCII jeżeli kod był mniejszy od 32 i po myślniku ilość wystąpień we wcześniej wprowadzonym tekście. Po wyświetleniu całej statystyki następuje wyjście z programu.



Wyszukiwarka

Podobne podstrony:
INF II stopien Projektowanie i zarzadzanie projektami informatycznymi
Plan infromatyzacji i projekty informatyczne
RPI IIdabek, nauka, realizacja projektu informatycznego, rpi
Logika projekt informacje, Uczelnia, II semestr, Logika Przywara Projekt grupa GPLog01, SPLog01, SPL
Gotowe projekty informacje ogólne
Prezentacja Projekt Informatyka
BYT 2004 Projekt informatyczny podstawowe zagadnienia
instrukcja do projektu, Informatyka, S. Łysek
PROJEKT INFORMATYCZNY sciaga, WSB Poznań, Zarządzanie Projektem Informatycznym
BYT 2004 Jakosc w projekcie informatycznym v1
STA06.v1, nauka, realizacja projektu informatycznego, rpi
RPI - 4. Przypadki testowe, nauka, realizacja projektu informatycznego, rpi
Wymagania pierwszego projektu, Informatyka SGGW, Semestr 4, Metody analizy danych
2006 05 Antywzorce w zarządzaniu projektami informatycznymi [Inzynieria Oprogramowania]
zarzadzanie projektami informatycznymi, ŚCIĄGI Z RÓŻNYCH DZIEDZIN, zarzadzanie
RPI II, nauka, realizacja projektu informatycznego, rpi
praca magisterska Skuteczne zarządzanie ryzykiem w projektach informatycznych, prace - moje

więcej podobnych podstron