Merhaba arkadaşlar öncelikle aranızda olmaktan büyük bir mutluluk duydugumu belirtmeliyim.
Ben mikroişlemciler dersini almaktayım ve hocanın anlattığı şeylerden birşey anlamadım. ve bir de bu yetmez gibi ödev verdi.içinden çıkamadığım bir iki soru oldu eğer bu soruların çözümünde bana yardımcı olabilirseniz çok sevinirim.Sorular;
1-) Kullanıcıdan bir dizin girmesi istenecek(örneğin ; Bugün hava çok güzel)Girilen dizindeki kelimeler ekrana ters sırada hepsi büyük harf olacak şekilde yazılacak(GÜZEL ÇOK HAVA BUGÜN) ve kullanıcıdan tekrar deneyip denemeyeceği sorulacak eğer tekrar denemek isterse program tekrar çalışacak istemezse sonlandırılacak.
2-) hassas bölme kullanıcıdan sayı ve bölen ve bölme hasssiyeti(3-50 basamak arasında) istenecek sonuç istenilen hassasiyette ekrana yazılacak.örneğin;
Eğer bu konuda bana acil olarak yardımcı olabilirseniz sevinirim. ödevi 22/05/2005 tarihine kadar teslim etmem lazım...
iyide bunlar lcd demi gözükecek detaylı bilgi versene biraz.
yok lcd'yle falan işim yok sadece assembly'de yazılacak ben bunu x.asm olarak kaydedip masm'da derledikten sonra çalışacak.örneğin aşagıdaki örnek gibi tanımlamalar yapılıp sadece komutlar yazılacak.
.model small .stack 100h .data mesaj db"4 basamaklı bir sayı giriniz" sayac=($-mesaj) .code ana proc call ys call mesajyaz call desimalgir call ys call desimaltersyaz call ys mov ax,4c00h int 21h ana endp ys proc push ax push dx mov ah,2 mov dl,0dh int 21h mov dl,0ah int 21h pop dx pop ax ret ys endp mesajyaz proc push ax push dx mov cx,sayac lea si,mesaj dongu: mov dl,[si] mov ah,2 int 21h inc si loop dongu pop dx pop ax ret mesajyaz endp desimalgir proc push ax push cx push dx mov cx,4 mov bx,0 tekrar: mov ah,10h int 16h cmp al,30h jb tekrar cmp al,39h ja tekrar mov dl,al mov ah,2 int 21h mov ah,0 add al,0 aaa push cx mov cl,4 shl bx,cl pop cx and al,00001111b or bl,al loop tekrar pop dx pop cx pop ax ret desimalgir endp desimaltersyaz proc push ax push bx push cx push dx mov cx,4 tekrar2: mov al,bl and al,00001111b add al,30h mov dl,al mov ah,2 int 21h push cx mov cl,4 ror bx,cl pop cx loop tekrar2 pop dx pop cx pop bx pop ax ret desimaltersyaz endp end ana
sanırım bu açıklama yeterli olacaktır.teşekkürler...
Ben de bu dönem benzer bir çok program yazdım ancak internet üzerinden açıklamak oldukça zor. Programların oldugu disketi de bulabilecegimi sanmıyorum, çoktan verildi gitti ödev-lab olarak. Ancak eger ingilizcen varsa sana Mazidi'nin kitabını öneriyorum bu konularda birçok bilgi (ASCII çevrimi, bölme işlemleri vs.) ve örnek kodlar var. E-mule'dan "Mazidi" ve döküman olarak aratırsan bulabilirsin sanırım. Kitabın ismi "x86 Family microprocessors assembly ..." gibi bişey. Kolay gelsin
hocam sağol ingilizcem var kitabı bulup araştıracak kadar vaktim kalmadı ama yinede teşekkürler.
sorulardan 1.hallettim ama 2.sinde takıldım 2.sorunun kodlarını yolluyurum eğer bugün saat 00:00 'kadar düzeltmesini yapabilirseniz sevinirim çok uğraştım ama içinden çıkamadım.
.model small .stack 100h .data
mesaj db '0-Bolunecek sayiyi Giriniz:' sayac=($-mesaj) dizin db 4 dup(?) boyut=4
mesaj1 db '0-Bolen sayiyi Giriniz:' sayac1=($-mesaj1) dizin1 db 4 dup(?) boyut1=4
mesaj2 db '--Bolum:' sayac2=($-mesaj2) dizin2 dw 4 dup(?) boyut2=4