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


         

Вывод на консоль содержимого текстового фаша Второй способ - часть 3


; получить параметр из командной строки ; EBX - указывает на буфер, куда будет помещен параметр ; в буфер помещается строка с нулем на конце ; EDI - номер параметра GETPAR PROC CALL GetCommandLineA@0 MOV ESI,EAX ; указатель на строку XOR ECX,ECX ; счетчик MOV EDX,1 ; признак L1: CMP BYTE PTR [ESI],0 JE L4 CMP BYTE PTR [ESI],32 JE L3 ADD ECX,EDX ; номер параметра MOV EDX,0 JMP L2 L3: OR EDX,1 L2: CMP ECX,EDI JNE L5 MOV AL,BYTE PTR [ESI] MOV BYTE PTR [EBX],AL INC EBX L5: INC ESI JMP L1 L4: MOV BYTE PTR [EBX],0 RET GETPAR ENDP

; вывести строку в консоль с разделителем OUTST PROC MOV EBX,INDS MOV BYTE PTR STROKA[EBX],0 PUSH OFFSET STROKA PUSH OFFSET STROKA CALL CharToOemA@8 ; в конце строки - разделитель MOV BYTE PTR STROKA[EBX],6 INC INDS ; вывести строку PUSH 0 PUSH OFFSET NUMC PUSH INDS PUSH OFFSET STROKA PUSH HANDL CALL WriteFile@20 RET OUTST ENDP _TEXT ENDS END START




Содержание  Назад  Вперед