Asembler wykład 30-10-2000, Assembler - wykład


Assembler - wykład

30-10-2000

WPROWADZENIE DO PROGRAMOWANIA W JĘZYKU TURBO ASSEMBLER - C.D.

Turbo Assembler wyświetla wiadomość o błędzie, jeśli napotka go w kodzie twojego programu, i jest to błąd który powoduje niemożliwość dokonania asemblacji i wygenerowania pliku obiektowego. Błędy musisz poprawić zanim uruchomisz program. Wiele błędów i wiadomości ostrzegawczych Turbo Assembler może wygenerować i ukryć w treści.

Tak jak w każdym języku programowania Turbo Assembler nie potrafi odnaleźć błędów logicznych. Potrafi on powiadomić cię czy twój kod może być zasemblowany, ale nie może powiedzieć ci czy będzie działał tak jak zamierzałeś.

Aby wydrukować kod programu na drukarce najlepiej użyć do tego edytora tekstu. Ale pliki źródłowe są przecież normalnymi plikami tekstowymi w kodzie ASCII, a więc możesz także drukować każdy plik źródłowy assemblera z poziomu linii komend DOS'a, z użyciem polecenia print.

Program - wysyłanie wiadomości do drukarki:

.model small

.stack 100h

.DATA

HelloMessage DB `Hello, World' 13, 10, 12

Hello_Message_Length EQU $

.CODE

startupcode

mov ah, 40h ; ustawienie przerwania nr 21h w tryb

mov bx, 4 ; przesyłania danych do standardowej drukarki

mov cx, Hello_ Message_Length ; określa liczbę bajtów do przesłania

mov dx, OFFSET HelloMessage ; ciąg znaków do wydrukowania

int 21h ; wywołanie przerwania - drukowanie

exitcode 0

END

Drukarka jest urządzeniem operacji wyjściowych. Nie będziesz chciał tylko wysyłać swoich programów do drukarki, ale także będziesz chciał, by te programy wysyłały wiadomości do drukarki na żądanie.

Poprzedni przykład jest wersją programu HelloWorld, która wyświetla swoje dane wyjściowe na drukarce (HELLO3.ASM).

W tej wersji programu zastępujesz dosową funkcję drukowania ciągu znaków na ekranie, funkcją DOS'a, która wysyła ciąg znaków do wybranego urządzenia.

Wprowadź i uruchom program, a zobaczysz, że zdanie HELLO WORLD zostanie wydrukowane (nie zapomnij zapisać programu na dysk, ta operacja zapisze zmodyfikowany kod w pliku Hello.asm, a poprzednia wersja programu zostanie zastąpiona). Możesz zmodyfikować ten program, aby wysyłał wiadomość HELLO WORLD na ekran, a nie na drukarkę zmieniając linię:

mov bx, 4 ; obsługa drukarki

na:

mov bx, 1 ; standardowa obsługa wyjścia

Dokonaj powyższej poprawki, następnie zasembluj i zlinkuj program zanim uruchomisz go ponownie.

Pisanie twojego drugiego programu w Turbo Assemblerze.

Teraz jesteś już gotów do napisania i uruchomienia kolejnego programu - REVERSE.ASM. Wpisz w edytorze:

.model small

.stack 100h

.DATA

MAXIMUM_STRING_LENGTH EQU 1000

StringToReverse DB MAXIMUM_STRING_LENGTH dup(?)

ReverseString DB MAXIMUM_STRING_LENGTH dup(?)

.CODE

mov ax, @data

mov ds, ax

mov ah, 3fh

mov bx, 0

mov cx, MAXIMUM_STRING_LENGTH

mov dx, OFFSET StringToReverse

int 21h

and ax, ax

jz DONE

mov cx, ax

push cx

mov ax, OFFSET StringToReverse

mov si, OFFSET ReverseString

add si, cx

dec si

REVERSELOOP:

mov al, [bx]

mov [si], al

inc bx

dec si

loop REVERSELOOP

pop cx

mov ah, 40h

mov bx, 1

mov dx, OFFSET ReverseString

int 21h

DONE:

mov ah, 4ch

int 21h

---------------------------------------

REVERSE.ASM

---------------------------------------



Wyszukiwarka

Podobne podstrony:
Biochemia - V - 30.10.2000, materiały medycyna SUM, biochemia, seminaria
Asembler wykład 16-10-2000, Zaczynamy (pracę) z programem Turbo Assembler, Rozdział 1
Asembler wykład 09-10-2000
Asembler wykład 20-11-2000, Assembler - wykład
Asembler wykład 02-10-2000, Maciej Kostyra
2013 2014 ZARZADZANIE ZASOBAMI LUDZKIMI wyklad 4 30 10
KPC Wykład (5) 30 10 2012
Biochemia - W02 - 09.10.2000, Wykład II
30 10 2013 POCZATKI PANSTWOWO wyklad id 34483 (2)
Ekonomia. wykład 4. 30.10.2006, Studja, Ekonomia SGGW, Wykłady
Algebra wyklad 30 10 id 57336 Nieznany
wykład nr 4 - 30.10, Psychologia KUL
ochrona środowiska przyrodniczego - wykład - 30.10.2006, semestr V
KPC - Wykład (5), 30.10.2012
PSYCHOLOGIA wyklad II 30.10, Pedgogika
Wykład 4 ZDOLNOŚĆ PRAWNA A ZDOLNOŚĆ DO CZYNNOŚCI PRAWNYCH (30 10 09)
Prawo konkurencji wykład 3 - 30.10, WPiA UŁ, Prawo ochrony konkurencji i konsumentów (T. Ławicki)

więcej podobnych podstron