102 lines
4 KiB
Plaintext
102 lines
4 KiB
Plaintext
|
|
.глобал _start
|
|||
|
|
|
|||
|
|
.текст
|
|||
|
|
_start:
|
|||
|
|
; Подготовка: раикс = 5, рбикс = 5 → сравнение → ZF=1
|
|||
|
|
переместить_имм раикс, 5
|
|||
|
|
переместить_имм рбикс, 5
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
|
|||
|
|
; короткий_переход_если_равно
|
|||
|
|
короткий_переход_если_равно метка_je
|
|||
|
|
|
|||
|
|
; Ошибка (не должно сработать)
|
|||
|
|
переместить_имм рдиай, 1
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_je:
|
|||
|
|
переместить_имм раикс, 10
|
|||
|
|
переместить_имм рбикс, 20
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
|
|||
|
|
; короткий_переход_если_меньше
|
|||
|
|
короткий_переход_если_меньше метка_jl
|
|||
|
|
переместить_имм рдиай, 2
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jl:
|
|||
|
|
; короткий_переход_если_больше
|
|||
|
|
переместить_имм раикс, 30
|
|||
|
|
переместить_имм рбикс, 20
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
короткий_переход_если_больше метка_jg
|
|||
|
|
переместить_имм рдиай, 3
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jg:
|
|||
|
|
; короткий_переход_если_меньше_или_равно
|
|||
|
|
переместить_имм раикс, 15
|
|||
|
|
переместить_имм рбикс, 15
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
короткий_переход_если_меньше_или_равно метка_jle
|
|||
|
|
переместить_имм рдиай, 4
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jle:
|
|||
|
|
; короткий_переход_если_больше_или_равно
|
|||
|
|
переместить_имм раикс, 100
|
|||
|
|
переместить_имм рбикс, 50
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
короткий_переход_если_больше_или_равно метка_jge
|
|||
|
|
переместить_имм рдиай, 5
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jge:
|
|||
|
|
; короткий_переход_если_перенос
|
|||
|
|
переместить_имм раикс, 5
|
|||
|
|
переместить_имм рбикс, 10
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
короткий_переход_если_перенос метка_jc
|
|||
|
|
переместить_имм рдиай, 6
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jc:
|
|||
|
|
; короткий_переход_если_нет_переноса
|
|||
|
|
переместить_имм раикс, 10
|
|||
|
|
переместить_имм рбикс, 5
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
короткий_переход_если_нет_переноса метка_jnc
|
|||
|
|
переместить_имм рдиай, 7
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jnc:
|
|||
|
|
; короткий_переход_если_неравно
|
|||
|
|
переместить_имм раикс, 1
|
|||
|
|
переместить_имм рбикс, 2
|
|||
|
|
сравнить раикс, рбикс
|
|||
|
|
короткий_переход_если_неравно метка_jne
|
|||
|
|
переместить_имм рдиай, 8
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_jne:
|
|||
|
|
; короткий_переход (безусловный)
|
|||
|
|
короткий_переход метка_done
|
|||
|
|
|
|||
|
|
; Ошибка — сюда не должны попасть
|
|||
|
|
переместить_имм рдиай, 9
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
метка_done:
|
|||
|
|
; Успешный выход
|
|||
|
|
переместить_имм рдиай, 0
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|