Professional Documents
Culture Documents
Vjezbe RJESENJA
Vjezbe RJESENJA
u ax.
.MODEL small
.DATA
.STACK
.CODE
Start:
mov bx, 5
mov ax, bx
mov ax, 4c00h
int 21h
END Start
Vjeba 2:
Napisati program koji ispisuje poruku "Zdravo svima!!!" na ekran.
Kada to proradi proiriti program da ispie dvije poruke i to jedu ispod druge.
a)
.MODEL small
.DATA
string DB "Zdravo svima!$"
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov dx, OFFSET string
mov ah, 09h
int 21h
mov ax, 4c00h
int 21h
END Start
b)
.MODEL small
.DATA
string DB "Zdravo svima!$"
pok_str DW string
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov dx, pok_str
mov ah, 09h
int 21h
mov ax, 4c00h
int 21h
END Start
Vjeba 3:
Napisati program koji na ekran ispisuje broj 3 (koristiti prekid za ispis znaka).
.MODEL small
.DATA
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov dl, '3'
mov ah, 02h
int 21h
mov ax, 4c00h
int 21h
END Start
Vjeba 4:
Napisati program koji unosi znak s tastature i odmah ga zatim ispisuje na ekran.
.MODEL small
.DATA
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov ah, 01h
int 21h
mov dl, al
mov ah, 02h
int 21h
mov ax, 4c00h
int 21h
END Start
Vjeba 5:
ispisuje 3.
Napii program koji simulira for petlju. npr. program koji 10 puta na ekranu
.MODEL small
.DATA
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov cx, 0
ponovo:
cmp cx, 10
jge kraj
mov dl, '3'
Vjeba 6:
Napii program koji simulira if-else grananje. Npr. Program koji provjerava da li
je broj u registru AX (prethodno upiemo neki broj) vei od 10 i ako je u BX upisati 0, a ako nije
u BX upisati FFFFh.
.MODEL small
.DATA
stringa DB "Upisao 0!$"
stringb DB "Upisao 1!$"
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov ax, 20
mov cx, ax
cmp cx, 10
jge upis
mov bx, 0FFFh
mov dx, OFFSET stringa
mov ah, 09h
int 21h
jmp kraj
upis:
mov bx, 0
mov dx, OFFSET stringb
mov ah, 09h
int 21h
kraj:
mov ax, 4c00h
int 21h
END Start
Vjeba 7:
kao string.
.MODEL small
.DATA
str DB 5 DUP ()
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
mov si, 0
mov cx, 0
petlja:
cmp cx, 5
jge ispis
mov ah, 01h
int 21h
mov str[si], al
inc si
inc cx
jmp petlja
ispis :
mov str[si], '$'
mov dl, 10
mov ah, 02h
int 21h
mov dx, OFFSET str
mov ah, 09h
int 21h
mov ax, 4c00h
int 21h
END Start
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;KRAJ POZDRAVA
;********************************UNOS LANOVA NIZA
;Niz unosimo lano po lan
mov si, 0
mov cx, 0
petlja:
cmp cx, 10
je ispis
mov ah, 01h
int 21h
mov str[si], al
inc si
inc cx
jmp petlja
;KRAJU UNOSA
;*************************ISPIS LANOVA NIZA U NOVI RED
ispis:
mov str[si], '$'
mov dl, 13
mov ah, 02h
int 21h
mov si, 0
ispetlja:
mov dl, str[si]
mov ah, 02h
int 21h
mov dl, 32
mov ah, 02h
int 21h
inc si
cmp si ,10
jl ispetlja
;KRAJ ISPISA LANOVA NIZA U NOVI RED
;********************************NOVI RED
mov dl, 10
mov ah, 02h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
;si = i , di = j
mov si, 0
mov di, 0
fora:
;for (i=0;i<10;i++)
cmp si, 10
jge krajsort
;
for (j=i;j<10;j++)
mov di, si
forb:
;
if pod(i)>pod(j)
mov dl, str[di]
mov al, str[si]
cmp al, dl
jle endforb
;
temp=pod(i)
mov dl, str[si]
pod(i)=pod(j)
mov al, str[di]
mov str[si], al
pod(j)=temp
mov str[di], dl
jmp endforb
endforb:
inc di
cmp di, 10
jge endfora
jmp forb
endfora:
inc si
jmp fora
krajsort:
mov dx, OFFSET str
mov ah, 09h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;KRAJ SORTIRANJA NIZA
;********************************KRAJ PROGRAMA
;Oekujemo unos bilo kojeg znaka kako bi se vidio rezultat
;prikazan na ekranu, inae e se .exe program izvriti i
;zatvoriti ekran pa rezultat nee biti vidljiv
mov ah, 01h
int 21h
mov ax, 4C00h
int 21h
END Start
ret
minclan ENDP
;ENDP TRAENJE NAJMANJEG LANA NIZA
;*******************************************************************************
;
TRAENJE NAJVEEG LANA NIZA
;*******************************************************************************
maxclan PROC NEAR
mov si, 0
mov dl, str[si]
maxpetlja:
inc si
cmp si, 10
jge maxispis
cmp str[si], dl
jle maxpetlja
mov dl, str[si]
jmp maxpetlja
maxispis:
mov ah, 02h
int 21h
ret
maxclan ENDP
;ENDP TRAENJE NAJVEEG LANA NIZA
;*******************************************************************************
;
SORTIRANJE NIZA
;*******************************************************************************
sortiranje PROC NEAR
;si = i , di = j
mov si, 0
mov di, 0
;
;
endfora:
fora:
;for (i=0;i<10;i++)
cmp si, 10
jge krajsort
; for (j=i;j<10;j++)
mov di, si
forb:
if pod(i)>pod(j)
mov dl, str[di]
mov al, str[si]
cmp al, dl
jle endforb
;temp=pod(i)
mov dl, str[si]
pod(i)=pod(j)
mov al, str[di]
mov str[si], al
pod(j)=temp
mov str[di], dl
jmp endforb
endforb:
inc di
cmp di, 10
jge endfora
jmp forb
inc si
jmp fora
krajsort:
mov dx, OFFSET str
mov ah, 09h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
ret
sortiranje ENDP
;ENDP SORTIRANJE NIZA
;KRAJ DEKLARACIJE PROCEDURA
;*******************************************************************************
;------------------------------------------------------------------------------;*******************************************************************************
;*****************
DEKLARACIJA MAKROA
*********************
;*******************************************************************************
;------------------------------------------------------------------------------;*******************************************************************************
;
UNOS ZNAKA S TASTATURE
;*******************************************************************************
;Skuplja znak po znak s tastature i sprema u niz koji se zove str[si]
;koji deklarirano ima 10 elemenata
unosznaka MACRO
mov ah, 01h
int 21h
mov str[si], al
ENDM
;ENDM UNOS ZNAKA S TASTATURE
;*******************************************************************************
;
ISPIS STRINGA
;*******************************************************************************
ispisstringa MACRO
mov dx, adrstr
mov ah, 09h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
ENDM
;ENDM ISPIS STRINGA
;*******************************************************************************
;
ISPIS NIZA
;*******************************************************************************
;Ispisuje niz koji je definiran poetnom adresom i brojem elemenata
ispisniza MACRO
LOCAL ispetlja:
mov bx, adrniz
mov cx, 0
ispetlja:
mov dl, [bx]
mov ah, 02h
int 21h
mov dl, 32
mov ah, 02h
int 21h
inc bx
inc cx
cmp cx, n
jl ispetlja
ENDM
;ENDM ISPIS NIZA
;KRAJ DEKLARACIJE MAKROA
;*******************************************************************************
;------------------------------------------------------------------------------;*******************************************************************************
;*******************************************************************************
;**************************
START PROGRAMA
***************************
;*******************************************************************************
;*******************************************************************************
;------------------------------------------------------------------------------Start:
mov ax, @DATA
mov ds, ax
;*******************************************************************************
;
POZDRAVNA PORUKA
;*******************************************************************************
mov adrstr, OFFSET zvjezdice
ispisstringa [adrstr]
mov adrstr, OFFSET pozdrav1
ispisstringa [adrstr]
mov adrstr, OFFSET zvjezdice
ispisstringa [adrstr]
;NOVI RED i POETAK REDA
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;KRAJ POZDRAVA
;*******************************************************************************
;*******************************************************************************
;
UNOS LANOVA NIZA
;*******************************************************************************
;Niz unosimo lano po lan
mov si, 0
mov cx, 0
petlja:
cmp cx, 10
je krajunosa
unosznaka
inc si
inc cx
jmp petlja
;KRAJU UNOSA
krajunosa:
;*******************************************************************************
mov str[si], '$'
mov n, si
mov dl, 13
mov ah, 02h
int 21h
;*******************************************************************************
;
ISPIS LANOVA NIZA U NOVI RED
;*******************************************************************************
mov adrniz, OFFSET str[0]
ispisniza[adrniz, n]
;KRAJ ISPISA LANOVA NIZA U NOVI RED
;*******************************************************************************
;NOVI RED
mov dl, 10
mov ah, 02h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;*******************************************************************************
;*******************************************************************************
;
NAJMANJI LAN
;*******************************************************************************
;Najmanji lan niza traimo na nain da postavimo prvi lan kao najmanji i zatim
;prelazimo po svim lanovima niza i taj najmanji prvi lan usporeujemo sa s
;ostalim lanovima niza, ako naiemo na manjega njega zapiemo kao najmanjega i
;idemo dalja sa pretraivanjem niza, dok ne doemo do kraja niza
;POZDRAVNA PORUKA
mov adrstr, OFFSET zvjezdice1
ispisstringa [adrstr]
mov dl, 10
mov ah, 02h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;*******************************************************************************
;
SORTIRANJE NIZA
;*******************************************************************************
;POZDRAVNA PORUKA SORTIRANO
mov adrstr, OFFSET zvjezdice2
ispisstringa [adrstr]
mov adrstr, OFFSET sort
ispisstringa [adrstr]
mov adrstr, OFFSET zvjezdice2
ispisstringa [adrstr]
;KRAJ POZDRAVA SORTIRANO
;SORTIRANJE
;*******************************************************************************
;bubble sort - Sortiranje se vri na nain da se koriste dva brojaa u nizu.
;Prvi broja slui nam za pregledavanje lanova niza...dok nam drugi slui
;za usporeivanje preglednog lana niza sa svim preostalim lanovima niza.
;Kako bi se lake napisao kod poeljno je u komentarima zapisati pseudo kod
;bubble sorta
mov adrstr, OFFSET sortstr
ispisstringa [adrstr]
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
CALL sortiranje
;KRAJ SORTIRANJA NIZA
;*******************************************************************************
;Oekujemo unos bilo kojeg znaka kako bi se vidio rezultat
;prikazan na ekranu, inae e se .exe program izvriti i
;zatvoriti ekran pa rezultat nee biti vidljiv
mov ah, 01h
int 21h
mov ax, 4C00h
int 21h
END Start
;*******************************************************************************
;
KRAJ PROGRAMA
;*******************************************************************************
;-------------------------------------------------------------------------------
Vjeba 10: Napisati program koji unosi 5 znakova s tastature ili prestaje s radom ako se unese
3. Pri tome koristiti makro za unos znaka s tastature.
.MODEL small
.DATA
niz DB 6 DUP (0)
.STACK
.CODE
;*******************************************************************************
;
UNOS ZNAKA S TASTATURE
;*******************************************************************************
;Skuplja znak po znak s tastature i sprema u niz koji se zove str[si]
;koji deklarirano ima 10 elemenata
unosznaka MACRO
mov ah, 01h
int 21h
mov niz[si], al
ENDM
;ENDM UNOS ZNAKA S TASTATURE
;*******************************************************************************
;
POETAK PROGRAMA
;*******************************************************************************
Start:
mov ax, @DATA
mov ds, ax
mov cx, 0
petlja:
cmp cx, 5
jge kraj
mov si, cx
unosznaka
inc cx
cmp al, '3'
je kraj
jmp petlja
kraj:
;novi red
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;ispis niza
inc si
mov niz[si], '$'
mov dx, OFFSET niz
mov ah, 09h
int 21h
mov ah, 01h
int 21h
mov ah, 4Ch
int 21h
END Start
Vjeba 11: Napisati program koji prebacuje unaprijed definirani string (npr. "Zdravo svima!!!")
s jedne mem. lokacije na drugu, i onda ga ispisuje. String se prebacuje u niz
definiran s ostalim varijablama. Prebacivanje stringa napraviti unutar procedure.
a) Program uzima da je string poznate duljine.
b) Duina stringa nije poznata.
c) String ispisati u obrnutom redoslijedu znak po znak i pri tome koristiti stog
(duljina stringa nije poznata).
11.a.
rjeenje
.MODEL small
.DATA
string DB "Pozdrav!$"
niz DB 9 DUP ()
pokstr DW string
pokniz DW niz
.STACK
.CODE
;------------------------------------------------------------------------------;
DEKLARACIJA PROCEDURA
;------------------------------------------------------------------------------premjesti PROC NEAR
mov si, pokstr
mov di, pokniz
mov cx, 9
rep movsb
ret
premjesti ENDP
;*******************************************************************************
;
START PROGRAMA
;*******************************************************************************
Start:
mov ax, @DATA
mov ds, ax
mov es, ax
call premjesti
;s orginalne adrese
mov dx, pokstr
mov ah, 09h
int 21h
;novi red
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;s kopirane adrese
mov dx, pokniz
mov ah, 09h
int 21h
;novi red
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;kraj
mov ah, 01h
int 21h
mov ah, 4Ch
int 21h
END Start
11.b.
rjeenje
.MODEL small
.DATA
string DB "Pozdrav!Svima koliko vas ima!$"
niz DB 50 DUP ()
pokstr DW string
pokniz DW niz
.STACK
.CODE
;------------------------------------------------------------------------------;
DEKLARACIJA PROCEDURA
;------------------------------------------------------------------------------zamjeni PROC NEAR
mov si, pokstr
mov di, pokniz
petlja:
movsb
inc cx
mov al, [si]
cmp al,'$'
je kraj
jmp petlja
kraj:
ret
zamjeni ENDP
;kraj
;*******************************************************************************
;
START PROGRAMA
;*******************************************************************************
Start:
mov ax, @DATA
mov ds, ax
mov es, ax
mov cx, 0
call zamjeni
inc cx
mov si, cx
mov niz[si], '$'
;s orginalne adrese
11.c.
.MODEL small
.DATA
string DB "Pozdrav!Svima koliko vas ima!$"
niz DB 50 DUP ()
pokstr DW string
pokniz DW niz
.STACK
.CODE
;------------------------------------------------------------------------------;
DEKLARACIJA PROCEDURA
;------------------------------------------------------------------------------zamjeni PROC NEAR
mov si, pokstr
mov di, pokniz
petlja:
movsb
inc cx
mov al, [si]
cmp al,'$'
je kraj
jmp petlja
kraj:
ret
zamjeni ENDP
;kraj
;*******************************************************************************
;
START PROGRAMA
;*******************************************************************************
Start:
mov ax, @DATA
mov ds, ax
mov es, ax
mov cx, 0
call zamjeni
inc cx
mov si, cx
mov niz[si], '$'
;s orginalne adrese
mov dx, pokstr
mov ah, 09h
int 21h
;novi red
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;s kopirane adrese
mov dx, pokniz
mov ah, 09h
int 21h
;novi red
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;s orginalne adrese obrnuti redoslijed
mov si, pokstr
petlja_red:
mov bx, [si]
cmp bl, '$'
je kraj_red
push bx
inc si
jmp petlja_red
kraj_red:
;printanje obrnuti redoslijed
petlja_obispis:
pop dx
mov ah, 02h
int 21h
dec si
cmp si, pokstr
jne petlja_obispis
;kraj
mov ah, 01h
int 21h
mov ah, 4Ch
int 21h
END Start
Vjeba 12: Napraviti program koji zbraja i oduzima dva 32-bitna broja i rezultat zbrajanja
sprema u AX i BX (u AX ide viih 16 bita sume), a rezultat oduzimanja u CX i DX (u CX
ide viih 16 bita razlike).
.MODEL small
.DATA
var1 DD 69DBD151h
var2 DD 2959ED51h
suma DD 0h
razlika DD 0h
ptr1 DW var1
ptr2 DW var2
ptrs DW suma
ptrr DW razlika
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
;START PROGRAMA
;------------------------------------------------------------------------------;PRVI BROJ - U AX VIIH 16 BITA, U BX NIIH 16 BITA
mov si, OFFSET var1
mov bx, [si]
inc si
inc si
mov ax, [si]
;DRUGI BROJ - U CX VIIH 16 BITA, U DX NIIH 16 BITA
mov si, OFFSET var2
mov dx,[si]
inc si
inc si
mov cx, [si]
;------------------------------------------------------------------------------;ZBROJ
add bx, dx
adc ax, cx
;
;------------------------------------------------------------------------------;PRVI BROJ - U AX VIIH 16 BITA, U BX NIIH 16 BITA
mov si, OFFSET var1
mov bx, [si]
inc si
inc si
mov ax, [si]
;DRUGI BROJ - U CX VIIH 16 BITA, U DX NIIH 16 BITA
mov si, OFFSET var2
mov dx,[si]
inc si
inc si
mov cx, [si]
;-------------------------------------------------------------------------------
;ODUZIMANJE
sub ax, cx
sbb bx, dx
;------------------------------------------------------------------------------;KRAJ PROGRAMA
mov ah, 01h
int 21h
mov ax, 4C00h
int 21h
END Start
jmp ponovi_test0
kraj_test0:
mov bh, cl
mov nula, bh
;
;provjera da li je 2 bit u 1
mov si, -1
mov cl, 0
ponovi_test2:
inc si
mov dl, niz[si]
cmp dl, '$'
je kraj_test2
and dl,00000100b
cmp dl, 0
je ponovi_test2
inc cl
jmp ponovi_test2
kraj_test2:
mov bl, cl
mov dvica, bl
;
;provjera da li je 4 bit u 1
mov si, -1
mov cl, 0
ponovi_test4:
inc si
mov dl, niz[si]
cmp dl, '$'
je kraj_test4
and dl,00010000b
cmp dl, 0
je ponovi_test4
inc cl
jmp ponovi_test4
kraj_test4:
mov ch, cl
mov cetvorki, ch
;
;provjera da li je 6 bit u 1
mov si, -1
mov cl, 0
ponovi_test6:
inc si
mov dl, niz[si]
cmp dl, '$'
je kraj_test6
and dl,00000001b
cmp dl, 0
je ponovi_test6
inc cl
jmp ponovi_test6
kraj_test6:
mov sestica, cl
;
kraj_testa:
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
mov dx,OFFSET rezultat
mov ah, 09h
int 21h
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;Naslov tabele
mov dl, 9
mov ah, 02h
int 21h
mov dx,OFFSET rezultat1
mov ah, 09h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dx,OFFSET rezultat2
mov ah, 09h
int 21h
;TAbela
;sestice
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, '6'
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
add cl, 48
mov dl, cl
mov ah, 02h
int 21h
;cetvorke
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, '4'
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov cl, ch
add cl, 48
mov dl, cl
mov ah, 02h
int 21h
;
;dvice
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, '2'
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov dl, 9
mov ah, 02h
int 21h
mov cl, bl
add cl, 48
mov dl, cl
Vjeba 16: Napisati program koji koritenjem procedura i makroa uzima string s tastature,
ifrira ga, ispisuje ifriranog, deifrira i ispisuje deifriranog. U rjeavanju zadatka
koristiti prekid za unos stringa s tastature.
.MODEL small
.DATA
koder DB 01010101b
niz DB 11 DUP (13)
sifrirani DB 11 DUP ()
desifrirani DB 11 DUP ()
.STACK
.CODE
Start:
mov ax, @DATA
mov ds, ax
;-----------mov dx, OFFSET niz
mov niz[0], 10
mov ah, 0Ah
int 21h
;------------mov cx, 0
petlja:
cmp cx, 11
jge kraj_petlje
mov si, cx
mov bl, koder
xor bl, niz[si]
mov sifrirani[si], bl
inc cx
jmp petlja
kraj_petlje:
mov dl, '$'
mov sifrirani[12],dl
;
mov dx, OFFSET sifrirani
mov ah, 09h
int 21h
;
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
;
mov cx, 0
petlja1:
cmp cx, 11
jge kraj_petlje1
mov si, cx
mov bl, koder
xor bl, sifrirani[si]
mov desifrirani[si], bl
inc cx
jmp petlja1
kraj_petlje1:
mov dl, '$'
mov desifrirani[12],dl
;
mov dx, OFFSET desifrirani
mov ah, 09h
int 21h
kraj:
mov ah, 01h
int 21h
mov ax, 4c00h
int 21h
END Start
Vjeba 17: Ispisati 16 bitni broj u binarnom obliku koritenjem naredbi za rotiranje
.MODEL small
.DATA
binarno DB 'Broj u binarnom zapisu: $'
.STACK
.CODE
;------------------------------------------------------------------------------novi_red PROC near
mov dl, 10
mov ah, 02h
int 21h
mov dl, 13
mov ah, 02h
int 21h
ret
novi_red ENDP
;------------------------------------------------------------------------------Start:
mov ax, @DATA
mov ds, ax
mov bx, 0A23h
;------------------------------------------------------------------------------call novi_red
mov dx, OFFSET binarno
mov ah, 09h
int 21h
call novi_red
;------------------------------------------------------------------------------;binarni zapis broja
;------------------------------------------------------------------------------mov cx, 16
petlja:
shl bx,1
lahf
and ah, 00000001b
cmp ah, 0
je cf_0
mov dl, '1'
mov ah, 02h
int 21h
jmp ptlj
cf_0:
mov dl, '0'
mov ah, 02h
int 21h
ptlj:
loop petlja
;------------------------------------------------------------------------------kraj:
mov ah, 01h
int 21h
mov ax, 4c00h
int 21h
END Start