Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; это комментарии
- ; подключаем библиотечку ирвина, без неё будет больно всё писать
- INCLUDE Irvine32.inc
- .data ; сегмент данных
- ; наши сообщения, которые мы будем выводить
- ; intro, equal, SecondMoreThanFirst и FirstMoreThanSecond
- ; они занимают один BYTE
- intro BYTE "Your number: ", 0 ;оканчивается на ноль, так как это конец строки
- equal BYTE "Your numbers are equal", 0
- SMTF BYTE "Second more than first number", 0
- FMTS BYTE "First more than second number", 0
- .code ; сегмент кода
- main:
- mov edx, OFFSET intro ; кидаем в edx-регистор ссылку на интро (OFFSET -- ссылка)
- call WriteString ; WriteString -- функция из библиотеки ирвина, мы её вызываем 'вызывателем функций' call
- ; она просто печатает строку, адрес которой лежит в edx регистре (перенесли туда предыдущей командой)
- call ReadInt ; ReadInt - из ирвина, считываем с клавы число и добавляем (автоматически) в регистр eax
- mov edi, eax ; Херачим это число из eax в edi. Ибо eax понадобится чтоб считать второе число
- call WriteString ; снова интро выводим чтобы юзер ввёл число
- call ReadInt ;edi - первое введённое, eax- второе. Держи в уме
- cmp edi, eax
- ; смотри скрин в вк
- jz equal
- .IF eax > edi
- mov edx, OFFSET SMTF ; переносим и следующей строкой выводим нашу SMTF-строку
- call WriteString
- call Crlf ; это возврат коретки насколько я помню или чтобы экранчик не пропадал
- .ELSE
- mov edx, OFFSET FMTS ; выводим FMTS если первое число больше
- call WriteString
- call Crlf
- .ENDIF
- jmp finish ; juuuuuump на финиш
- equal:
- mov edx, OFFSET equal
- call WriteString ; выводим если равны
- call Crlf
- finish:
- ret
- END main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement