Yazar |
|
gultekinm
Kayıt: 02.02.2006 |
|
aslanera yazdi | DS:0100 MOV AX,12F3H
DS:0103 MOV BX,9
DS:0106 PUSH AX
DS:0107 PUSH BX
DS:0108 CALL 010EH
DS:010B XOR AX,AX
DS:010D PUSH AX
DS:010E POP BX
DS:010F POP AX
yıgın bellegindeki degişimi yazabilecek varmı.
işlem sonunda AX ve BX içeriği ne olur
(CS=ES=DS=SS=13BA)
geçen seneki final sorusu.call kısmında stack değişimini beceremedim. call da birsonraki offset adresini kaydediyormuydu.işlem bittikten sonra kendisi onu otomatik pop ediyormu.
kolay gelsin. |
SP belli olmadığı için sadece stackı göstermeliyiz sanırım,
(near CALL oldugu için sonraki adımın IPsini atacaz)
PUSH AX, PUSH BX , PUSH sornaki adımın IPsi , POP AX, POP BX
RET görene kadar işlemlere devam etmesi gerekir bence son halinda sadece IP adresi kalır stackte geri dönmez yani.
kesin çözümü olan warsa paylaşsın lütfen her sene kesin geliyo bu tip bi soru
just so tired of being me
|
|
Yazar |
|
aslanera
istanbul
Kayıt: 01.06.2006 |
|
bandit yazdi | aslanera yazdi | DS:0100 MOV AX,12F3H
DS:0103 MOV BX,9
DS:0106 PUSH AX
DS:0107 PUSH BX
DS:0108 CALL 010EH
DS:010B XOR AX,AX
DS:010D PUSH AX
DS:010E POP BX
DS:010F POP AX
yıgın bellegindeki degişimi yazabilecek varmı.
işlem sonunda AX ve BX içeriği ne olur
(CS=ES=DS=SS=13BA)
geçen seneki final sorusu.call kısmında stack değişimini beceremedim. call da birsonraki offset adresini kaydediyormuydu.işlem bittikten sonra kendisi onu otomatik pop ediyormu.
kolay gelsin. |
SP belli olmadığı için sadece stackı göstermeliyiz sanırım,
(near CALL oldugu için sonraki adımın IPsini atacaz)
PUSH AX, PUSH BX , PUSH sornaki adımın IPsi , POP AX, POP BX
RET görene kadar işlemlere devam etmesi gerekir bence son halinda sadece IP adresi kalır stackte geri dönmez yani.
kesin çözümü olan warsa paylaşsın lütfen her sene kesin geliyo bu tip bi soru
|
biz de sonradan o şekilde düşündük. orda ilk olarak push ax, push bx, push ıp adresi, pop bx, pop ax..... bundan sonrasını bilemeyiz diye yorumladık çünkü call ile cagrılan ip den başlayacak işlemeye ret gürene kadar. sadece verilen program parçesı üzerinde bukadarını yapabiliriz. birde call un near mı far mı oldugunu nasıl anladınız. belki hoca sınavda acıklamıstır hatırlamıyorum ben. son olarak stack içinde ilk olarak push edilen ax kalır die düşündük. varmı farklı düşünen
kolay gelsin
|
|
Yazar |
|
alpersara
Kayıt: 12.01.2006 |
|
Söyledığın gıbı. en son yığında ax kalır, derleyıcıde yaparsak ip adresi ni yığından cekmediği için(ret yok zaten) call ın altından değil popların sonundan yoluna devam edıyor.
ben sınava gırmedım ama call eger aynı segment içinden biryer cağırırsa near olur. yani cağırdığı adres kodun devamında olmasaydı far olacaktı. zaten far olduğunda belırtmesı gerekır bence.
|
|
Yazar |
|
tuuba
Bursa
Kayıt: 22.01.2007 |
|
antirunje yazdi | İyi akşamlar herkese. Vizenin 4. sorusunun b şıkkını anlayan biri varsa açıklayabilir mi acaba |
Program ORG 0000,ORG 0010 ve ORG 0010 adreslerinden başlayarak DQ ile 8 byte ' lık yerler ayırıyor.Ve sonra bunların içine dataları yerleştiriyor.
0000->76
0001->3F
0002->7B
0003->21
dikkat edersen adresler aşağıdan yukarıya doğru artıyor. Dataları yerleştirdikten sonra başta 8 bit ayırdığımızdan, geri kalan 4 biti 00(null) ile dolduruyoruz.Ve bir sonraki ayırdığımız yere kadar segment içinde ne olduğunu bilmediğimizden oraları XX ile göstermişiz.
Yanlışım varsa düzeltin.
Umarım açıklayıcı olmuştur.
Herkese kolay gelsin:)
|
|
Yazar |
|
gultekinm
Kayıt: 02.02.2006 |
|
bu da geçen sene bütte çıkan soru biraz da bunu çözmeye çalışsak hiç de fena olmaz sanırım diğerine göre biraz daha karışık
just so tired of being me
|
|
Yazar |
|
caner
republic of FB
Kayıt: 19.01.2006 |
|
büt sorularının tamamını koyabilirmisin acaba ?
Atam izindeyiz..
Biz de Fenerbahçeliyiz..
|
|
Yazar |
|
watthana
uzayli
Kayıt: 02.02.2007 |
|
herkese selamlar,ya ben bölüm 3.4 konusunda teredutte kaldım hocanın sıtesınde eklenmemıs ama son hafta ve ya haftalarda o kadar ugrastı bu konuyla bcd-ascii arasındakı donusumlerle bunlar yok mu sımdı...
?????????????????????????????????????????????????????????????????????????????????
ASIKSAN YARE,
ALDANMA AGYARE...
|
|
Yazar |
|
gultekinm
Kayıt: 02.02.2006 |
|
http://img523.imageshack.us/img523/9792/09012008459iq5.jpg
geriye kalan büt sorularına linkten ulaşabilirsiniz.
Kod sorulmayacak denildi ama 2. soru okunmazsa :
32 bit sayıyı 16 bit sayı ile carpan bir program yazınız. data segmenti aşağıdaki gibi tanımlanacaktır. çarpma işaretsiz sayılar için yapılacaktır.
just so tired of being me
|
|
Yazar |
|
aslanera
istanbul
Kayıt: 01.06.2006 |
|
o eklenen telafi soru 1 için, demin çözmeye calıstık ta kitapta altprogramda falan push sayısıyla pop sayısı esit olmalı deniliyor fakat bu soruda push 2 tane pop 1 tane dolayısıyla alt programdan cıkınca programa kaldıgı noktadan baslayamayacak die düşünüyorum çünkü ret görünce yıgından call komutundan birsonraki komutun cs sini ve ip sini okumusı lazım oradan devam etmesi için fakat eksik bir pop var. sorun nerde.varmı fikri olan
|
|
Yazar |
|
gultekinm
Kayıt: 02.02.2006 |
|
aslanera yazdi | o eklenen telafi soru 1 için, demin çözmeye calıstık ta kitapta altprogramda falan push sayısıyla pop sayısı esit olmalı deniliyor fakat bu soruda push 2 tane pop 1 tane dolayısıyla alt programdan cıkınca programa kaldıgı noktadan baslayamayacak die düşünüyorum çünkü ret görünce yıgından call komutundan birsonraki komutun cs sini ve ip sini okumusı lazım oradan devam etmesi için fakat eksik bir pop var. sorun nerde.varmı fikri olan |
o sadece bi kod parçası zaten başka bir kısımda pop edilmiştir bence.
ben POP CX kısmını anlayamadım bi türlü PUSH edilmedi daha önce çünkü stack'e
just so tired of being me
|
|
Yazar |
|
arda
Kayıt: 20.01.2006 |
|
aslanera yazdi | o eklenen telafi soru 1 için, demin çözmeye calıstık ta kitapta altprogramda falan push sayısıyla pop sayısı esit olmalı deniliyor fakat bu soruda push 2 tane pop 1 tane dolayısıyla alt programdan cıkınca programa kaldıgı noktadan baslayamayacak die düşünüyorum çünkü ret görünce yıgından call komutundan birsonraki komutun cs sini ve ip sini okumusı lazım oradan devam etmesi için fakat eksik bir pop var. sorun nerde.varmı fikri olan |
Aydın , o yüzden zaten hoca c) de alt programın dönüş lojik adresini istiyo,, dediğin gibi program kaldığı noktadan başlamayacak ;) stack te ne varsa ordan başlıcak..
http://www.software-turk.com
|
|
Yazar |
|
aslanera
istanbul
Kayıt: 01.06.2006 |
|
bandit yazdi | aslanera yazdi | o eklenen telafi soru 1 için, demin çözmeye calıstık ta kitapta altprogramda falan push sayısıyla pop sayısı esit olmalı deniliyor fakat bu soruda push 2 tane pop 1 tane dolayısıyla alt programdan cıkınca programa kaldıgı noktadan baslayamayacak die düşünüyorum çünkü ret görünce yıgından call komutundan birsonraki komutun cs sini ve ip sini okumusı lazım oradan devam etmesi için fakat eksik bir pop var. sorun nerde.varmı fikri olan |
o sadece bi kod parçası zaten başka bir kısımda pop edilmiştir bence.
ben POP CX kısmını anlayamadım bi türlü PUSH edilmedi daha önce çünkü stack'e
|
yukarda 2tane push var yaw.
anladım arda ozaman call dan sonraki dec cx calısmayacak deilmi.
|
|
Yazar |
|
gultekinm
Kayıt: 02.02.2006 |
|
ben burdan sunu anladım CX daha önce PUSH edilmiş ve alt programın içinde kullanılmış.
sonra PUSH edildiği zamanki değeri üst programdaki değerine göre azaltmak için POP edilmiş.
ve b şıkkında diyorki alt program yürütüldükten sonra CX ve SP saklayıcılarının içeriği ne olur.
CX içeriğini bilebilmemiz için PUSH edildiği zamanki değerini bilmemiz gerekmez mi?
yanlışım varsa düzeltin lütfen
just so tired of being me
|
|
Yazar |
|
aslanera
istanbul
Kayıt: 01.06.2006 |
|
orda cx in önceden push edilip edilmemesi önemlimi. o anda pop cx yapılınca stack in en üst degerini cx e yerleştiriyor.
300B ->3E
300A ->45
3009 ->18
3008 ->2A
3007 ->1F
3006 ->00
3005 ->BC
3004 ->1F
SP3003 ->-----
pop cx olduktan sonra
3009 ->18
3008 ->2A
3007 ->1F
3006 ->00
3005 ->BC
3004 ->1F
SP3003 ->----- şeklinde olacagını ve CX=453E olacagını daha sonra
lojik adresin de yıgının en üstünde kalan 16 bit in oldugunu yani 001F:2A18 oldugunu düşündük
|
|
Yazar |
|
alpersara
Kayıt: 12.01.2006 |
|
arkadaslar kıtapta push sayısı pop sayısına esıt olacak dıyor fakat o , ret ın eskı ıp degerını alıp call dan sonrakı komuttan devam edebılmesı ıcın.yanı push larla pop lar esit değilse en son kalan deger adres olarak dondurulur. cx daha once push edılmek zorundada değil bu arada ,yığının en ustunde o anda ne varsa o deger alınıp cx e atanır.
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | | |