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
|
||
вызов_системы |