Ветвления в программе на ассемблере можно организовывать с помощью команд условного перехода типа JX M или JNX M, т.е. условный переход на метку М (по адресу М), если (Х)=1 или (Х)=0 (см. систему команд, команды передачи управления в Приложении 1), а также безусловного перехода JMP M.
Рассмотрим две логические структуры из языка высокого уровня Паскаль типа if X then Y и if X then Y1 else Y2 (Х – логическое условие; Y,Y1,Y2- выполняемые действия) и организуем подобные структуры на ассемблере (табл. 2).
Таблица 2 – Организация ветвлений на Паскале и ассемблере
Аналогично рассмотрим три циклические структуры из языка высокого уровня Паскаль типа for downto, while и repeat (I – параметр цикла, Х – логическое условие; S – тело цикла) и организуем подобные структуры на ассемблере (табл. 3).
Таблица 3 - Организация циклов на Паскале и ассемблере
Конкретные примеры по данной теме - в лабораторной работе №3.
Задания к практическому занятию №2:
1) (25H)-(35H)<--ВFH; 2) (30H)-(3АH)<--(20H)-(2АH); 3) (31H)-(3ЕH)<-->(20H)-(2DH); 4) (00H)-(3FH)<--00H; 5) (15H)-(35H)<--15H-35H; 6) (20H)-(35H)<--25H,28H,2BH...; 7) (22H)-(2FH)<--(22H)-(2FH) + (32H)-(3FH); 8) поиск 11H в (20H)-(3FH) и замена на 00H; 9)поиск BBH в (20H)-(3FH) и замена на CCH.
Практическое занятие №3