Asembler- dodawanie dni i zmiana miesiąca
Ostatnio zmodyfikowano 2015-05-10 18:59
FranekDolas Temat założony przez niniejszego użytkownika |
Asembler- dodawanie dni i zmiana miesiąca » 2015-05-10 13:43:03 Wyobraźmy sobie ze rejestr AL=15 a BL=50 dodaje je do siebie i uzyskuje 65. Teraz chciałbym zrobic pętle która zachowa sie jak kalendarz czyli w CL zostanie zapisane 2 bo 65 dni to dwa miesiące a w AL bedzie 4 bo tyle dni zostaje wolnych. Troche nie wiem jak sie za to zabrać.Używam sms32v50 |
|
pekfos |
» 2015-05-10 13:44:56 Dopóki AL jest większe od 30, odejmuj 30 i inkrementuj CL. |
|
FranekDolas Temat założony przez niniejszego użytkownika |
» 2015-05-10 17:59:03 Teraz ładnie odjemuje i dodaje to co bym chciał ale nie wiem jak zrobić zeby wykonywała sie petla az do pewnego warunku.Teraz to wygląda tak: mov al, 1 mov bl, 20
add al, bl
cmp al, 30
js warunek
sub al, 30 mov cl, 1
warunek:
end Myślałem nad czym takim ale nie działa jak trzeba :) mov al, 1 mov bl, 20
add al, bl
jo warunek
cmp al, 30 sub al, 30 mov cl, 1
warunek:
end |
|
pekfos |
» 2015-05-10 18:17:54 I poza tym kod nie ma sensu. |
|
FranekDolas Temat założony przez niniejszego użytkownika |
» 2015-05-10 18:21:42 Zapomniałem o inkrementowaniu CL, już to poprawiłem w swojej pracy. Który kod nie ma sensu ten wyżej czy niżej położony? |
|
pekfos |
» 2015-05-10 18:28:23 Który kod nie ma sensu ten wyżej czy niżej położony? |
Oba. To jest źle przepisany warunek, a nie pętla. |
|
FranekDolas Temat założony przez niniejszego użytkownika |
» 2015-05-10 18:41:19 Wiem że to nie jest petla bo nie wiem jak ją zrobić. Według mnie kod wyżej położony robi to co ma robić tylko problem w tym ze robi to tylko raz. Do inkrementowania uzywam INC. |
|
pekfos |
» 2015-05-10 18:44:01 Przydało by się pomyśleć, bardziej niż w innych językach. petla: cmp A, B skok koniec ; tresc jmp petla koniec: Zastosuj odpowiedni warunek i skok. |
|
« 1 » 2 |