Лабораторная работа: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера
39 0023 3B DA cmp bx, dx ; Сравнить BX c DX
40 0025 5B pop bx
41 0026 74 0F je else_1
42 ; Присвоить переменной _res
43__________; mov ax,_i__________; Занести в_____AX переменную _i
Заменить на строку mov ax, bx
44 0028 8B C3
45_____; mov _res, ax _____; Занести в_____переменную _res_____AX
Удалить строку 45
46 ; Обработка процедуры WRITE
47__________; mov ax,_res _____; Занести в_____AX переменную _res
Удалить строку 45
48 002A E8 0014 call sl_itoa ; Вызвать функцию преобразования
49 002D B4 02 mov ah, 2 ; Загрузить в AH номер функции
50 002F B2 0D mov dl, 13 ; Выводимый символ
51 0031 CD 21 int 21h ; Вызвать прерывание DOS
52 0033 B2 0A mov dl, 10 ; Выводимый символ
53 0035 CD 21 int 21h ; Вызвать прерывание DOS
54 0037 else_1:
55 ; Переход если не выполнилось условие №1
56__________; pop cx_____ _____; Вернуть из стека в CX
57_______________; pop bx __________; Вернуть из стека в BX
Заменить на строку pop cx bx
Turbo Assembler Version 4.1 12/12/08 00:18:57 Page 2
11.ASM
58 0037 59 5B
59 0039 3B D9 cmp bx, cx ; Сравнить BX и CX
60 003B 75 D3 jne for_b_1 ; Переход если не равно
61 ; Конец цикла FOR №1