mgokce Üye Katılım 7 Kas 2009 Mesajlar 88 Puanları 1 Yaş 36 26 Kas 2010 #1 Data belleğin 0100h segment,0200h ofset adresinden itibaren byte olarak tutulan FFh 256 adet veriyi okuyup yine data belleğin 1F00h segment 0110h ofset adresinden itibaren yazan assembly programını 8086 komutlarıyla yazınız ?
Data belleğin 0100h segment,0200h ofset adresinden itibaren byte olarak tutulan FFh 256 adet veriyi okuyup yine data belleğin 1F00h segment 0110h ofset adresinden itibaren yazan assembly programını 8086 komutlarıyla yazınız ?
denzi Üye Katılım 18 Eyl 2010 Mesajlar 31 Puanları 1 26 Kas 2010 #2 XOR BX,BX MOV CX,0200h MOV DX,0110h DEVAM: MOV DS,0100h MOV SI,CX MOV AL, BYTEPTR DS:[SI] INC SI MOV CX,SI MOV DS,1F00H MOV SI,DX MOV BYTEPTR DS:[SI], AL INC SI MOV DX,SI İNC BX CMP BX,FFh JNE DEVAM RET Emin degilim
XOR BX,BX MOV CX,0200h MOV DX,0110h DEVAM: MOV DS,0100h MOV SI,CX MOV AL, BYTEPTR DS:[SI] INC SI MOV CX,SI MOV DS,1F00H MOV SI,DX MOV BYTEPTR DS:[SI], AL INC SI MOV DX,SI İNC BX CMP BX,FFh JNE DEVAM RET Emin degilim
denzi Üye Katılım 18 Eyl 2010 Mesajlar 31 Puanları 1 26 Kas 2010 #3 emulatorde yaptigin icin memory adreslerini hesaplayarak : ornek icin : (segment * 16) + offset 0100h * 16 demek bir sola kaydir yani 01000h, offseti ekle 0200h = 03000h adresi, burdan itibaren ornegin 5 sayi ekle sirasiyla 03000h, 030001h... . daha sonra programda FFh yerine 05h yaparsin. calistirip Segmenti 1F00h offseti 0110h oolan yerde gormen gerekiyor normalde ama benim yazdigimda bilmiyorum ayni sekilde 1F00 * 16 = 1F000 + 0110h = 20110h adresine bakarsin
emulatorde yaptigin icin memory adreslerini hesaplayarak : ornek icin : (segment * 16) + offset 0100h * 16 demek bir sola kaydir yani 01000h, offseti ekle 0200h = 03000h adresi, burdan itibaren ornegin 5 sayi ekle sirasiyla 03000h, 030001h... . daha sonra programda FFh yerine 05h yaparsin. calistirip Segmenti 1F00h offseti 0110h oolan yerde gormen gerekiyor normalde ama benim yazdigimda bilmiyorum ayni sekilde 1F00 * 16 = 1F000 + 0110h = 20110h adresine bakarsin
Konu Sah mgokce Üye Katılım 7 Kas 2009 Mesajlar 88 Puanları 1 Yaş 36 26 Kas 2010 #4 programda hata verdi ya :S hatta mesajlarıda yazayım size:S (6) wrong parameters: MOV DS,0100h (6) cannot use segment register with an immediate value :S
programda hata verdi ya :S hatta mesajlarıda yazayım size:S (6) wrong parameters: MOV DS,0100h (6) cannot use segment register with an immediate value :S
denzi Üye Katılım 18 Eyl 2010 Mesajlar 31 Puanları 1 26 Kas 2010 #5 XOR BX,BX DEVAM: MOV CX,0100h MOV DS,CX MOV SI,0200h ADD SI,BX MOV AL, BYTEPTR DS:[SI] MOV CX,1F00h MOV DS,CX MOV SI,0110h ADD SI,BX MOV BYTEPTR DS:[SI], AL INC BX CMP BX,FFh JNE DEVAM RET
XOR BX,BX DEVAM: MOV CX,0100h MOV DS,CX MOV SI,0200h ADD SI,BX MOV AL, BYTEPTR DS:[SI] MOV CX,1F00h MOV DS,CX MOV SI,0110h ADD SI,BX MOV BYTEPTR DS:[SI], AL INC BX CMP BX,FFh JNE DEVAM RET
Konu Sah mgokce Üye Katılım 7 Kas 2009 Mesajlar 88 Puanları 1 Yaş 36 26 Kas 2010 #6 oradaki hata düzeldi ama malesef bundada hata verdi :S (8) wrong parameters: MOV AL, BYTEPTR [SI] (8) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: BYTEPTR [SI]
oradaki hata düzeldi ama malesef bundada hata verdi :S (8) wrong parameters: MOV AL, BYTEPTR [SI] (8) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: BYTEPTR [SI]
denzi Üye Katılım 18 Eyl 2010 Mesajlar 31 Puanları 1 26 Kas 2010 #7 XOR BX,BX DEVAM: MOV CX,0100h MOV DS,CX MOV SI,0200h ADD SI,BX MOV AL, DS:[SI] MOV CX,1F00h MOV DS,CX MOV SI,0110h ADD SI,BX MOV DS:[SI], AL INC BX CMP BX,FFh JNE DEVAM RET böyle bir dene
XOR BX,BX DEVAM: MOV CX,0100h MOV DS,CX MOV SI,0200h ADD SI,BX MOV AL, DS:[SI] MOV CX,1F00h MOV DS,CX MOV SI,0110h ADD SI,BX MOV DS:[SI], AL INC BX CMP BX,FFh JNE DEVAM RET böyle bir dene
Konu Sah mgokce Üye Katılım 7 Kas 2009 Mesajlar 88 Puanları 1 Yaş 36 26 Kas 2010 #8 bu kezde şu hatayı verdi (17) wrong parameters: CMP BX,FFh (17) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: FFh
bu kezde şu hatayı verdi (17) wrong parameters: CMP BX,FFh (17) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: FFh
denzi Üye Katılım 18 Eyl 2010 Mesajlar 31 Puanları 1 26 Kas 2010 #9 XOR BX,BX DEVAM: MOV CX,0100h MOV DS,CX MOV SI,0200h ADD SI,BX MOV AL, DS:[SI] MOV CX,1F00h MOV DS,CX MOV SI,0110h ADD SI,BX MOV DS:[SI], AL INC BX CMP BX,00FFh JNE DEVAM RET BX 16 bit ffh ise 8 bit oldugundan dolayi herhalde ffh yerine 00ffh yaptim
XOR BX,BX DEVAM: MOV CX,0100h MOV DS,CX MOV SI,0200h ADD SI,BX MOV AL, DS:[SI] MOV CX,1F00h MOV DS,CX MOV SI,0110h ADD SI,BX MOV DS:[SI], AL INC BX CMP BX,00FFh JNE DEVAM RET BX 16 bit ffh ise 8 bit oldugundan dolayi herhalde ffh yerine 00ffh yaptim
Konu Sah mgokce Üye Katılım 7 Kas 2009 Mesajlar 88 Puanları 1 Yaş 36 26 Kas 2010 #10 çok teşekkür ettim oldu sanrım