Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Scari interioare

Parcare gratis Romexpo

Limbaj de programare RUST

Despre titularizare si definitiva...
 date personale angajat

Intelectualii Romaniei

Gaina rasa Brahma bolnavioara

Recomandare SmartWatch pe care po...
 Concediu Vasiliki

Funcție WhatsApp

Zilele reclamelor luminoase cu &#...

Propranolol zilnic
 Ce "tip" de apartament/ca...

A luat cineva masina Tesla din re...

Robot de spalat geamuri

Lipsa etrieri noduri
 

8086 Afisare patrat cu latura arbitrara

- - - - -
  • Please log in to reply
1 reply to this topic

#1
DocH

DocH

    New Member

  • Grup: Candidate Members
  • Posts: 1
  • Înscris: 15.06.2022
Buna ziua! Am un proiect de terminat si sunt cam pe ultima suta de metrii. Am de facut chestia asta in emu8086. Am incercat ceva insa nu face tocmai ce ar trebui sa faca si as dori niste directive/sfaturi .

Cerinta este urmatoarea :
            Scrieti un program care sa primeasca de la tastatura un numar N, intre 1 si 9. Programul va afisa pe ecran un patrat cu latura N, umplut cu caractere '*' ,coltul stanga sus fiind pe randul 10, coloana 10.

Attached Files



#2
sags

sags

    Guru Member

  • Grup: Senior Members
  • Posts: 10,085
  • Înscris: 24.04.2013
Drept sa spun amintirile mele pe acest subiect s-au cam estompat, dar ce se cam vede asa din avion:
  • Ce cittesti de la stdin sunt coduri de caractere (sau probabil un singur cod, nu mai stiu numere de functii de la int 21h). Inainte de a-l putea folosi drept contor, acest cod trebuie transformat intr-un numar intreg asa cum e necesar procesorului. Aici e simplu fiindca ai numere de o singura cifra. Cum cifrele '0''9' au codurile ASCII 0x300x39 trebuie sa scazi '0' (0x30) din cod si obtii intregul.
  • Ca patratul sa inceapa din coloana 10, dupa CR LF trebuie sa mai scrii si niste spatii.
  • Din linia 10 nu prea vad cum ar putea sa inceapa cu functiile int 21h, fiindca din ce imi amintesc nu ai operatii de pozitionare cursor. Ce poti face, ramanad totusi la int 21h:
    • scrii 10 × CR LF la inceput sa ai linii goale,
    • apoi scrii patratul, indentat cat trebuie cu spatii
    • si la sfarsit, presupunand ca stii numarul de linii ale consolei (de exemplu 25) mai scrii cate linii goale sunt necesare ca sa faca scroll si patratul sa se pozitioneze unde cere problema.
  • Linia 10’ metoda 2: DACA terminalul suporta comenzi de pozitionare cursor, de genul VT100 (sunt niste secvente de caractere care incep cu ESC), le folosesti pe acelea.
  • Totusi metoda cea mai buna pentru ‘linia 10’: treci pe int 10h, functiile BIOS, ca din ce mi-aduc aminte acolo exista pozitionare cursor.


Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate