Jump to content

Recommended Posts

Guys, Нужен совет по Assembly 6800. код я написала , он не не работает так как надо. Задание било такое - в матрице можно передвигаться только по нулям, записивать в каком ряду и месте наиден ноль ,а затем переписать етот ноль на 9 и спринтовать всю матрицу уже с девятками вместо нулеи. Помогите кто сможет в чем ошибка данного кода? :/

ORG $400

MOVE.W #m,D2 8 rows

MOVE.W #n,D3 13 colomns

LEA ROW1,A0

SUBQ.L #1,D2

MULU #n,D2

SUBQ.L #1,D3

ADD.L D3,D2

ADDA.L D2,A0

MOVE.B (A0),D4

MOVE.L #0,D5

MOVE.L #0,D6

MOVE.L #1,D7

CMP.B #0,D4

BEQ NEXT

NEXT BSR LOOP1

LOOP1 LEA str1A,A1

MOVE.W #1,D1

MOVE.B #1,D0

TRAP #15

MOVE.W D5,D1

MOVE.B #3,D0

TRAP #15

LEA str2A,A1

MOVE.W #1,D1

MOVE.B #1,D0

TRAP #15

MOVE.W D6,D1

MOVE.B #3,D0

TRAP #15

LEA str3A,A1

MOVE.W #1,D1

MOVE.B #1,D0

TRAP #15

CMP.B #104,D7

BNE PRINT

PRINT LEA str4A,A1

MOVE.W #2,D1

MOVE.B #1,D0

TRAP #15

ADD.L #1,D6

MOVE.B #9,D4

MOVE.B (A0)+,D4

CMP.B #0,D4

BEQ LOOP1

LOOP2 ADD.L #1,D5

MOVE.B #0,D6

MOVE.W 13(A0),D4

CMP.B #0,D4

BEQ LOOP1

MOVE.W 14(A0),D0

ADD.L #1,D6

CMP.B #0,D4

BEQ LOOP1

MOVE.W -(A0),D4

SUB.L #1,D6

CMP.B #0,D4

BEQ LOOP2

ORG $1000

ROW1 DC.B 0,1,1,1,1,1,1,1,1,1,1,1,1

ROW2 DC.B 1,0,0,1,1,0,1,1,0,1,1,1,1

ROW3 DC.B 1,1,0,0,0,1,0,1,1,0,0,0,1

ROW4 DC.B 1,1,1,0,1,1,1,1,1,1,1,1,1

R0W5 DC.B 1,1,1,1,0,1,1,1,1,1,1,1,1

ROW6 DC.B 1,1,1,1,1,0,0,0,0,0,0,1,1

ROW7 DC.B 1,1,1,1,1,1,1,1,1,1,1,0,1

ROW8 DC.B 1,1,1,1,1,1,1,1,1,1,1,1,0

str1A DC.B '('

str2A DC.B ','

str3A DC.B ')'

str4A DC.B '->'

END $400

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...