Yazar |
|
volkan
Giresun
Kayıt: 26.07.2006 |
|
Ben biraz kullandım emu8086'yı, çok beyendim.. Bölümün sitesinden indirdim. Elinde daha fazla örnek olan arkadaşlarımız örneklerini paylaşırsa süper olur..
|
|
Yazar |
|
burock
Kayıt: 21.06.2007 |
|
volkan yazdi | Ben biraz kullandım emu8086'yı, çok beyendim.. Bölümün sitesinden indirdim. Elinde daha fazla örnek olan arkadaşlarımız örneklerini paylaşırsa süper olur.. | evet güzelmiş=) örnekler kendi çinde var kendin yazmayı dene..
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
ben bi kaçtane yazdım
bi stringdeki kucuk b leri buyuk B ile değiştiriyor aynı zamanda counter olarak kaçtane değiştiği bx de saklanıyor.
; multi-segment executable file template.
data segment
DATA7 DB 'bbOb','$',10,13
ends
stack segment
dw 128 dup(0)
ends
code segment
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
mov bx,0
;CLD
MOV DI,OFFSET DATA7
MOV CX,15
MOV AL,'b'
back: REPNE SCASB
;mov ah,02h
;mov dl,al
JNE OVER
DEC DI
MOV BYTE PTR[DI],'B'
INC bX
dec cx
mov dx,cx
mov ah,06
int 21h
jnz back
OVER: MOV AH,09
MOV DX,OFFSET DATA7
int 21h
MAIN ENDP
END MAIN
100h dan itibaren memoryde 10 alan tarıyor.
.model small
.stack 64
.data
adres1 dw 100h
OUTL DB ?
.code
main proc far
mov ax,@data
mov ds,ax
mov si , adres1
mov cx,10
again: mov ah,[si]
MOV BX,CX
MOV BYTE PTR[SI],BL
MOV BL,[SI]
MOV OUTL,BL
ADD OUTL,30H
MOV dl,OUTL
mov AH,02h
mov dl,al
inc si
dec cx
int 21h
jnz again
;mov ah,4ch
int 21h
main endp
end main
6 tane word sayıyı topluyor
.MODEL SMALL
.STACK 64
.DATA
DATA_IN DW 234DH,1DE6H,3BC7H,566AH
SUM DW ?
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV CX,04
MOV DI,OFFSET DATA_IN
MOV BX,00
A_LP: ADD BX,[DI]
INC DI
INC DI
DEC CX
JNZ A_LP
MOV SUM,BX
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
kitaptaki bi ornek buyuk harfe cevirme
.DATA
DATA7 DB 'mY NAME is jOe'
QOUT DB 14 DUP(?)
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV SI,OFFSET DATA7
MOV BX,OFFSET QOUT
MOV CX,14
BACK:MOV AL,[SI]
CMP AL,61H
JB OVER
CMP AL,7AH
JA OVER
AND AL,11011111B
MOV AL,[BX]
OVER:MOV [BX],AL
INC SI
INC BX
LOOP BACK
MOV QOUT,AL
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
6 bayt eldeli toplama kitaptan buda
ORG 100H
DATA_IN DB 125,235,197,91,48
ORG 200H
SUM DW ?
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV SI,OFFSET DATA_IN
MOV AX,00
MOV CX,05
A_LP:ADD AL,[SI]
JNC OVER
INC AH
OVER:INC SI
DEC CX
MOV SUM,AX
JNZ A_LP
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
N/A
|
|
Yazar |
|
reccae
istanbul
banlandı
Kayıt: 15.02.2006 |
|
teşekkürler
aynı örnekler kitapta ve derleyicide de var ama 2 satır açıklama yazınca daha anlaşılır oluyorlar
insa ettigim binanin cimentosu kelâm
|
|
Yazar |
|
antirunje
Kayıt: 16.11.2006 |
|
anlamayınca o kitap gözümde büyüyor,bazen hiç bulamıyorum :) o yüzden teşekkürler orhan
Eger ac ve kimsesiz bir kopegi alip bakar ve rahata kavusturursaniz sizi isirmaz. Insan ve kopek arasindaki temel fark budur.
|
|
Yazar |
|
burock
Kayıt: 21.06.2007 |
|
com exe bin boot hangisini seçmemiz gerek
|
|
Yazar |
|
reccae
istanbul
banlandı
Kayıt: 15.02.2006 |
|
burock yazdi | com exe bin boot hangisini seçmemiz gerek |
exe olabilir
hatta oalbilir demeyim derste sadece com ve exenin ne olduğunu öğrendik ama labda exe yazdık sadece.
insa ettigim binanin cimentosu kelâm
|
|
Yazar |
|
burock
Kayıt: 21.06.2007 |
|
orhan yazdi | ben bi kaçtane yazdım
bi stringdeki kucuk b leri buyuk B ile değiştiriyor aynı zamanda counter olarak kaçtane değiştiği bx de saklanıyor.
; multi-segment executable file template.
data segment
DATA7 DB 'bbOb','$',10,13
ends
stack segment
dw 128 dup(0)
ends
code segment
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
mov bx,0
;CLD
MOV DI,OFFSET DATA7
MOV CX,15
MOV AL,'b'
back: REPNE SCASB
;mov ah,02h
;mov dl,al
JNE OVER
DEC DI
MOV BYTE PTR[DI],'B'
INC bX
dec cx
mov dx,cx
mov ah,06
int 21h
jnz back
OVER: MOV AH,09
MOV DX,OFFSET DATA7
int 21h
MAIN ENDP
END MAIN
|
orhan bu sadece ilk b yi büyük yapıyor haberin olsun
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
bu 5 tane decimal sayının kaçtanesinin çift olduğunu buluyor.
15 ten buyukolmaması lazım :D amele bi yontemle yapıyor.
jnc inc_ah kısmını jc inc_ah yapınca tekleri sayabilir :)
yalnız ben bi yere bakmadan yazamamki bunları.
; multi-segment executable file template.
data segment
data_in db 12,10,12,14,9
cnt db ?
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax, data
mov ds, ax
mov es, ax
mov si,offset data_in
mov cx,5
mov ax,0h
A_LP:mov al,[si]
shr al,1
jnc inc_ah
dec ah
inc_ah:inc si
inc ah
dec cx
jnz A_LP
mov cnt,ah
mov ah,06
;int 21h
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
bu arada com yada exe farketmiyor exe ile com arasındaki farklar kitapta yazıyor.
önemli olan .CODE yazan kısmı ve .DATA yazan kısmı doğru blokların içine yazmak.
tabi bu arada derse girip buraya birşeyler yazmayan arkadaşlara da sitemlerimi iletiyorum.
hoş yazmak zorunda değiller o da ayrı bir konu. yalnız şunu belirteyim siz birşeyler paylaşmazsanız sizinle de paylaşmazlar.
N/A
|
|
Yazar |
|
reccae
istanbul
banlandı
Kayıt: 15.02.2006 |
|
ayrıca emu8086 data org kullanmanıza izin vermiyor.
ilk labda 30 dakikasını yedi tüm sınıfın bu basit detay . sizinde %30 notunuza kan doğramasın
insa ettigim binanin cimentosu kelâm
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
burock yazdi | orhan yazdi | ben bi kaçtane yazdım
bi stringdeki kucuk b leri buyuk B ile değiştiriyor aynı zamanda counter olarak kaçtane değiştiği bx de saklanıyor.
|
orhan bu sadece ilk b yi büyük yapıyor haberin olsun |
aslında hepsini değişiyor ekrana birşeyler yazdırabilmek için test yazdığım kodu içine kodyum oda sadece dx de gördüğünü yazıyor debug edersen tek tek değerleri değiştiriyor ama değiştirdiğim şeyleri ekrana yazdıramadım.
kod şoyle olması lazım o satırları commentledim.
; multi-segment executable file template.
data segment
DATA7 DB 'bbOb','$',10,13
ends
stack segment
dw 128 dup(0)
ends
code segment
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
mov bx,0
;CLD
MOV DI,OFFSET DATA7
MOV CX,50
MOV AL,'b'
back: REPNE SCASB
;mov ah,02h
;mov dl,al
JNE OVER
DEC DI
MOV BYTE PTR[DI],'B'
INC bX
dec cx
;mov dx,cx
;mov ah,06
;int 21h
jnz back
OVER: MOV AH,09
;MOV DX,OFFSET DATA7
int 21h
MAIN ENDP
END MAIN
N/A
|
|
Yazar |
|
burock
Kayıt: 21.06.2007 |
|
reccae yazdi | ayrıca emu8086 data org kullanmanıza izin vermiyor.
ilk labda 30 dakikasını yedi tüm sınıfın bu basit detay . sizinde %30 notunuza kan doğramasın |
org kullanılamıyorsa niye mavi görünüyor peki yerine ne kullanılacak.. program terminated diye bir msj çıkıyor anlamı ne=)
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | |