Pascal háromszög

Pascal háromszög
2009-05-08T17:25:44+02:00
2009-05-10T20:17:01+02:00
2022-11-13T14:05:37+01:00
Upf
Sziasztok, most keztem el tanulni az assembly nyelvet egy feladatot kellene megoldanom. A feladat pascal háromszöget kell meghatározni, az elso 9 sorát, és mindezt 2 vektor felhasználásával. Nem tudom, de nem eszi meg a fordító pl:row2[si+1], az ilyen dolgokat, nem tudom miért mert az egyetemi tanárunk így oktatta
TITLE (Pascal.asm) .model small .stack .data row1 db 1,0,0,0,0,0,0,0,0 row2 db 9 dup(0) .code start: mov di, 0 begin: mov si, 0 ciklus: cmp si, 9 jge copy mov row2[0], 1 mov ax, row1[si] add row2[si+1], ax mov ax, row1[si+1] add row2[si+1], ax inc si jmp ciklus mov si, 0 copy: cmp si, 9 jge ficiklus mov bx, row2[si] mov row1[si], bx inc si jmp copy inc di ficiklus: cmp di, 9 jle begin mov ah, 4ch int 21h end start
Mutasd a teljes hozzászólást!
de nem eszi meg a fordító pl:row2[si+1], az ilyen dolgokat

Gondolom a hibaüzenet és az assembler titkos és gondot jelentene elárulni...

az egyetemi tanárunk így oktatta

Talán a kódot nem ő írta, de ha mégis, akkor elég alpári...

TITLE (Pascal.asm) .model small .stack .data row1 db 1,0,0,0,0,0,0,0,0 row2 db 9 dup(0) .code start: mov ax,@data ; !!! mov ds,ax ; !!! mov di, 0 begin: mov si, 0 ciklus: cmp si, 9 jge copy mov row2[0], 1 mov al, row1[si] ; !!! add row2[si+1], al ; !!! mov al, row1[si+1] ; !!! add row2[si+1], al ; !!! inc si jmp ciklus mov si, 0 copy: cmp si, 9 jge ficiklus mov bl, row2[si] ; !!! mov row1[si], bl ; !!! inc si jmp copy ficiklus: ; !!! inc di ; ??? ficiklus: cmp di, 9 jle begin mov ah, 4ch int 21h end start

Néhány dolgot módosítottam, hogy leforduljon (TASM volt kéznél) és ne legyen benne végtelen ciklus. Persze a kód így is alpári maradt és az algoritmus megvalósítása sem jó szerintem... de mivel a te feladatod, ezért ezeket már old meg te magad!

Az algoritmus leírását pedig keresd meg tetszésed szerint!
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd