44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
|
|
.текст
|
|||
|
|
.глобал _start
|
|||
|
|
|
|||
|
|
_start:
|
|||
|
|
вытолкнуть рсикс
|
|||
|
|
сравнить_с рсикс, 2
|
|||
|
|
переход_если_меньше no_arg
|
|||
|
|
|
|||
|
|
вытолкнуть рсиай
|
|||
|
|
вытолкнуть р8 ; argv[1] в R8
|
|||
|
|
|
|||
|
|
переместить рдиай, р8
|
|||
|
|
исключающее_или рдикс, рдикс
|
|||
|
|
strlen:
|
|||
|
|
загрузить ал, [р8]
|
|||
|
|
сравнить_с ал, 0
|
|||
|
|
переход_если_равно strlen_done
|
|||
|
|
увеличить р8
|
|||
|
|
увеличить рдикс
|
|||
|
|
переход strlen
|
|||
|
|
strlen_done:
|
|||
|
|
|
|||
|
|
переместить_имм раикс, 1
|
|||
|
|
переместить рсиай, рдиай
|
|||
|
|
переместить_имм рдиай, 1
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
исключающее_или рдиай, рдиай
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
no_arg:
|
|||
|
|
переместить_имм раикс, 1
|
|||
|
|
переместить_имм рдиай, 1
|
|||
|
|
переместить_имм рсиай, msg_no_arg
|
|||
|
|
переместить_имм рдикс, 51
|
|||
|
|
вызов_системы
|
|||
|
|
переместить_имм рдиай, 1
|
|||
|
|
переместить_имм раикс, 60
|
|||
|
|
вызов_системы
|
|||
|
|
|
|||
|
|
.данные
|
|||
|
|
msg_no_arg:
|
|||
|
|
.строка "Ошибка не передан аргумент\n"
|