С Java на Asm простенькую прогу переделать

Тема в разделе "WASM.X64", создана пользователем xcislav, 25 ноя 2011.

  1. xcislav

    xcislav New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2009
    Сообщения:
    4
    Вобщем загорелся идеей но 4 или 5 лет не программировал. И тут меня осенило раз так всё наладилось на работе с коллегами (программер появился)
    то я переделаю хоть на асме пока интерес горит!

    Товарищи помогите если кто знает с кусками-паттернами (понять) а остальное я сам.

    Я ничего не прошу, я иероглифы переделывал а так температура у меня(((

    Единственное что прошу не стирать я тут впервой за много лет написал пост(






    Код (Text):
    1. /**
    2.  * TextSplit is a service software for Ukrainian National Information Agency:
    3.  * UKRINFORM 2011
    4.  * version 0.3
    5.  */
    6.  
    7. package textsplit;
    8.  
    9. import java.util.ArrayList;
    10.  
    11. /**
    12.  * Main class
    13.  * @author s.nepochatov
    14.  */
    15. public class TextSplit {
    16.    
    17.     /**
    18.      * Maximum length of message
    19.      */
    20.     public static int maxText = 15980;
    21.    
    22.     /**
    23.      * System dependent line seporator
    24.      */
    25.     public static String lineSeparator = System.getProperty("line.separator");
    26.    
    27.     /**
    28.      * Text separator example string
    29.      */
    30.     public static String textSeparator = lineSeparator + lineSeparator;
    31.    
    32.     /**
    33.      * ArrayList for store splited string
    34.      */
    35.     public static ArrayList stringStack = new ArrayList();
    36.    
    37.     /**
    38.      *
    39.      */
    40.     public static String[] stackPieces;
    41.    
    42.     /**
    43.      * Input frame variable
    44.      */
    45.     public static InputFrame inputApp = new InputFrame();
    46.    
    47.     /**
    48.      * Output frame variable
    49.      */
    50.     public static OutputFrame outApp = new OutputFrame(inputApp, false);
    51.  
    52.     /**
    53.      * @param args the command line arguments
    54.      */
    55.     public static void main(String[] args) {
    56.         inputApp.setVisible(true);
    57.         System.out.println("НАЧАЛО РАБОТЫ");
    58.     }
    59.    
    60.     /**
    61.      * Flushing stack to new split
    62.      */
    63.     public static void FlushStack() {
    64.         stringStack = new ArrayList();
    65.         outApp.out.setText("");
    66.         outApp.forwardButton.setEnabled(true);
    67.         outApp.backwardButton.setEnabled(true);
    68.         outApp.stateLabel.setText("Идёт обработка");
    69.     }
    70.    
    71.     /**
    72.      * Split text method for EKOP messages
    73.      */
    74.     public static void ekopSplit() {
    75.         String input = inputApp.textField.getText();
    76.         System.out.println("Получен текст:" + input.length());
    77.         if (input.length() > maxText) {
    78.             stackPieces = input.split(textSeparator);
    79.             System.out.println("Количество 'кусков': " + stackPieces.length);
    80.             String rstr = "";
    81.             for (int cpiece = 0; cpiece < stackPieces.length; cpiece++) {
    82.                 ekopFindHeader(cpiece);
    83.                 String cstr = stackPieces[cpiece];
    84.                 if (cstr.isEmpty()) {
    85.                     continue;
    86.                 }
    87.                 System.out.println("'Кусок' номер " + cpiece);
    88.                 if (rstr.length() + cstr.length() > maxText) {
    89.                     if (!rstr.isEmpty()) {
    90.                         stringStack.add(rstr);
    91.                         System.out.println("Добавление результирующей строки");
    92.                         rstr = cstr;
    93.                     }
    94.                     else {
    95.                         stringStack.add(cstr);
    96.                         System.out.println("Добавление текущей строки");
    97.                     }
    98.                 }
    99.                 else {
    100.                     if (rstr.equals("")) {
    101.                         rstr = cstr;
    102.                         System.out.println("Присвоение строки");
    103.                     }
    104.                     else {
    105.                         rstr = rstr + textSeparator + cstr;
    106.                         System.out.println("Сложение строк");
    107.                     }
    108.                 }
    109.                 if (cpiece == stackPieces.length - 1) {
    110.                     stringStack.add(rstr);
    111.                     System.out.println("Добавление остаточной строки");
    112.                 }
    113.             }
    114.             if (stringStack.isEmpty()) {
    115.                 System.out.println("Стек пуст!");
    116.             }
    117.             else {
    118.                 outApp.showStack();
    119.             }
    120.         }
    121.     }
    122.    
    123.     public static void ekopFindHeader(Integer currentIndex) {
    124.         String currentStr = stackPieces[currentIndex];
    125.         String currentCopy = currentStr.toUpperCase();
    126.         if (currentStr.equals(currentCopy)) {
    127.             stackPieces[currentIndex + 1] = currentStr + textSeparator + stackPieces[currentIndex + 1];
    128.             stackPieces[currentIndex] = "";
    129.         }
    130.     }
    131.    
    132.     public static void ekopFindHeaderOld(Integer currentIndex) {
    133.         String inputStr = stackPieces[currentIndex];
    134.         Boolean isHeader = true;
    135.         Boolean headerFound = false;
    136.         Integer carretIndex = 0;
    137.         String carret;
    138.         String carretCopy;
    139.         while (isHeader = true) {
    140.             carret = String.valueOf(inputStr.charAt(carretIndex));
    141.             if (carret.equals(lineSeparator) | carret.equals("")) {
    142.                 carretIndex++;
    143.                 continue;
    144.             }
    145.             if (carret.equals(lineSeparator) | carretIndex == (inputStr.length() - 1)) {
    146.                 headerFound = true;
    147.                 break;
    148.             }
    149.             carretCopy = carret.toUpperCase();
    150.             if (carret.equals(carretCopy)) {
    151.                 carretIndex++;
    152.             }
    153.             else {
    154.                 isHeader = false;
    155.             }
    156.         }
    157.         if (headerFound) {
    158.             stackPieces[currentIndex + 1] = inputStr + textSeparator + stackPieces[currentIndex + 1];
    159.             stackPieces[currentIndex] = "";
    160.         }
    161.     }
    162. }
    А ЕЩЕ ЗНАЕТЕ ТОВАРИЩИ Я ЕЩЕ НА АСМЕ ПОД КВАНТОВЫЕ КОМПЬЮТЕРЫ НАПИШУ, ЕЙ БОГУ, ТАМ ХОТЬ И ТРОИЧНАЯ СИСТЕМА.. НУ И ЕЕ В БАНЮ
     
  2. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    xcislav
    Да стоит ли это вообще внимания, перед лицом надвигающейся планеты Небиру?