
КТП / 5,6 Ветвления,циклы
.docОрганизация ветвлений и циклов
Ветвления в программе на ассемблере можно организовывать с помощью команд условного перехода, типа JX M или JNX M, т.е. условный переход на метку М (по адресу М), если (Х)=1 или (Х)=0 (см. систему команд, команды передачи управления), а также безусловного перехода JMP M.
if X then Y
|
1) J X=0 X=1
M: … |
2) J X=1 X=0
M2: … |
i
Да |
1) J X=0 X=1
J
M2: … |
2) J X=1 X=0
J
M2: … |
Рассмотрим две логические структуры из языка высокого уровня Паскаль, типа if X then Y и if X then Y1 else Y2 (Х – логическое условие; Y,Y1,Y2- выполняемые действия) и организуем подобные структуры на ассемблере (таблица ).
Таблица - Организация ветвлений на Паскале и ассемблере
Ветвления в программе на ассемблере можно организовывать с помощью команд условного перехода, типа JX M или JNX M, т.е. условный переход на метку М (по адресу М), если (Х)=1 или (Х)=0 (см. систему команд, команды передачи управления), а также безусловного перехода JMP M.
Рассмотрим две логические структуры из языка высокого уровня Паскаль, типа if X then Y и if X then Y1 else Y2 (Х – логическое условие; Y,Y1,Y2- выполняемые действия) и организуем подобные структуры на ассемблере (таблица ).
Таблица - Организация циклов на Паскале и ассемблере
for I:=Imax downto Imin do S
|
MOV Rn, #Nцик
(Rn)≠0 (Rn)=0 Нет Да |
|
w
|
1) X=0 X=1
M2: …
|
2) X=1 X=0
JMP M0 M2: …
|
r
|
1) M X=0 X=1 …
|
2) M
X X=0
M2: …
|