assembler - wpisywanie z klawiatury

0

mam takie zadanie na egzamin, za bardzo nie mogę się w tym połapać.. może ktoś mi pomoże
zad: do zmiennej o nazwie "pierwsza" wprowadzić z klawiatury 5 znaków np. d-r-u-g-a, po jednym znaku..
pozniej mam kolry pozmieniac, ale z tym juz sobie poradze.. nie wiem jak wprowadzic te znaki z klawiatury :/ Moze ktos pomoże? Z góry dziękuję

0

a pod jaki system?

0

pod Windowsa... Zazwyczaj robimy to w tasm lub tlink czy jakos tak ;/

0

pod Windowsa... Zazwyczaj robimy to w tasm lub tlink czy jakos tak ;/

0

Wszystko sprowadza się do przerwań DOSa, poczytaj to: http://spike.scu.edu.au/~barry/interrupts.html#ah07 i ew. ah08

0

ok tylko ja za bardzo nie wiem jak zrobic zeby odczytywalo wybrane znaki z klawiatury ;/ nie meilsmy tego na zajeciach, tylko takie ze Od razu w kodzie programu podawalo sie znaki w ASCII... a tak to kompletnie nie wiem co zrobic ;|

0
        mov     ah, 7
        int     21h

W al masz odczytany znak... Jeżeli nadal nie możesz sobie poradzić to daj ten kod, który już masz - dorzuci się wprowadzanie znaków i omówi wprowadzone zmiany.

0

ok, moze ja na razie napisze to co robilismy na zajeciach.. nad tym programem bede siedziala jutro, bo dzisiaj robie projekt z obiektowego w c++ (masakra...). No więc (bez znaków diakrytycznych - polskich):

start:
mov BX, 0000              //wyznacza adres offsetowy
mov AL, 6D 'm'
mov AH, 69 'i'
mov CL, 63 'c'
mov CH, 68 'h'
mov Dl, 61 'a'
mov DH, 6C 'l'
mov [BX], AL                // ładuje AX, czyli litere 'i'
mov [BX + 01], AH        
mov [BX + 02], CL
mov [BX + 03], CH
mov [BX + 04], DL
mov [BX + 05], DH
mov AL, 20 '_'              //  spacja
mov [BX + 06], AL        // ładuje spacje 
ends

my robilismy to w taki sposób.. mieliśmy też pętle np. taką:

mov CX, 10                  // ilość przejść w pętli

etykiety też były, ale tylko wzmianka o tym.. A ten program musimy napisać, bo pan profesor się wkurzył, że jesteśmy tępi :]

0

ok, moze ja na razie napisze to co robilismy na zajeciach.. nad tym programem bede siedziala jutro, bo dzisiaj robie projekt z obiektowego w c++ (masakra...). No więc (bez znaków diakrytycznych - polskich):

start:
mov BX, 0000              //wyznacza adres offsetowy
mov AL, 6D 'm'
mov AH, 69 'i'
mov CL, 63 'c'
mov CH, 68 'h'
mov Dl, 61 'a'
mov DH, 6C 'l'
mov [BX], AL                // ładuje AX, czyli litere 'i'
mov [BX + 01], AH        
mov [BX + 02], CL
mov [BX + 03], CH
mov [BX + 04], DL
mov [BX + 05], DH
mov AL, 20 '_'              //  spacja
mov [BX + 06], AL        // ładuje spacje 
ends

my robilismy to w taki sposób.. mieliśmy też pętle np. taką:

mov CX, 10                  // ilość przejść w pętli

etykiety też były, ale tylko wzmianka o tym.. A ten program musimy napisać, bo pan profesor się wkurzył, że jesteśmy tępi :]

0

przepraszam, nie wiem czemu wysyła mi się podwójnie..

0

http://rudy.mif.pg.gda.pl/~bogdro/dos/a_kurs04.htm
Masz tam taki kod który pokazuje jak wczytać imię użytkownika i jak je wypisać. Raczej małe zmianki trzeba będzie wprowadzić ale nie do samego wpisywania ;)

0 użytkowników online, w tym zalogowanych: 0, gości: 0