Ассемблер для Windows

Текстовая строка все время в середине окна



Рисунок 2.1.2. Текстовая строка все время в середине окна.

Не могу не воспользоваться случаем и не восхититься теми возможностями, которые открывает перед программистом ассемблер. Можете передавать параметры через стек, а можете и через регистры. Хотите - сохраняйте регистры в начале процедуры, а хотите - не сохраняйте. Ассемблерный код можно совершенствовать и еще раз совершенствовать. Кстати, для любителей цепочечных (строковых) команд ниже привожу другую процедуру определения длины строки, основанную на команде микропроцессора SCAS, позволяющей осуществлять поиск нужного элемента (байта - SCASB, слова - SCASW, двойного слова - SCASD) в строке.

; длина строки - [EBP+08Н] LENSTR PROC PUSH EBP MOV EBP,ESP PUSH EAX CLD MOV EDI, DWORD PTR [EBP+08H] MOV EBX, EDI MOV ECX,100 ; ограничить длину строки XOR AL,AL REPNE SCASB ; найти символ 0 SUB EDI, EBX ; длина строки, включая 0 MOV EBX, EDI DEC EBX ; теперь здесь длина строки POP EAX POP EBP RET 4 LENSTR ENDP



Содержание раздела