Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Команды передачи управления


Автор: smithyGSL 22.4.2015, 19:36
Прошу помощи потому что уже 2 сутки бьюсь в надежде понять свою же работу...
Я не могу рассказать(защитить ее). Преподаватель требует тактически точного объяснения. что да как. Я так не могу, я говорю как понял я.
Прошу, если вы можете объясните мне идиоту все досканально. ЧТО КУДА? И КАК?
Хотя бы 1 блок (NOP NOP)
Завтра еще один зачет, буду пытаться по новой. 
Код

-U100
0C96:0100 EB2B          JMP     012D
0C96:0102 57            PUSH    DI
0C96:0103 52            PUSH    DX
0C96:0104 49            DEC     CX
0C96:0105 54            PUSH    SP
0C96:0106 45            INC     BP
0C96:0107 20415F        AND     [BX+DI+5F],AL
0C96:010A 42            INC     DX
0C96:010B 5F            POP     DI
0C96:010C 43            INC     BX
0C96:010D 2020          AND     [BX+SI],AH
0C96:010F 2020          AND     [BX+SI],AH
0C96:0111 52            PUSH    DX
0C96:0112 45            INC     BP
0C96:0113 53            PUSH    BX
0C96:0114 55            PUSH    BP
0C96:0115 4C            DEC     SP
0C96:0116 54            PUSH    SP
0C96:0117 3D4D16        CMP     AX,164D
0C96:011A 20E0          AND     AL,AH
0C96:011C AE            SCASB
0C96:011D A1A5AB        MOV     AX,[ABA5]
-U
0C96:0120 90            NOP
0C96:0121 90            NOP
0C96:0122 90            NOP
0C96:0123 90            NOP
0C96:0124 B400          MOV     AH,00
0C96:0126 CD16          INT     16
0C96:0128 B40E          MOV     AH,0E
0C96:012A CD10          INT     10
0C96:012C C3            RET
0C96:012D BE0000        MOV     SI,0000
0C96:0130 B90E00        MOV     CX,000E
0C96:0133 8A840201      MOV     AL,[SI+0102]
0C96:0137 E8EEFF        CALL    0128
0C96:013A 46            INC     SI
0C96:013B E2F6          LOOP    0133
0C96:013D 90            NOP
0C96:013E 90            NOP
0C96:013F 90            NOP
-U
0C96:0140 BE0000        MOV     SI,0000
0C96:0143 B90500        MOV     CX,0005
0C96:0146 E8DBFF        CALL    0124
0C96:0149 2C30          SUB     AL,30
0C96:014B 88840002      MOV     [SI+0200],AL
0C96:014F 46            INC     SI
0C96:0150 3C0D          CMP     AL,0D
0C96:0152 7403          JZ      0157
0C96:0154 E2F0          LOOP    0146
0C96:0156 A10002        MOV     AX,[0200]
0C96:0159 8B1E0202      MOV     BX,[0202]
0C96:015D 8B0E0402      MOV     CX,[0204]
-U
0C96:0161 F7E3          MUL     BX
0C96:0163 01D9          ADD     CX,BX
0C96:0165 01C8          ADD     AX,CX
0C96:0167 90            NOP
0C96:0168 D40A          AAM
0C96:016A 053030        ADD     AX,3030
0C96:016D 90            NOP
0C96:016E 90            NOP
0C96:016F 90            NOP
0C96:0170 90            NOP
0C96:0171 88261801      MOV     [0118],AH
0C96:0175 A21901        MOV     [0119],AL
0C96:0178 90            NOP
0C96:0179 BE0000        MOV     SI,0000
0C96:017C B90B00        MOV     CX,000B
0C96:017F 8A841001      MOV     AL,[SI+0110]
-U
0C96:0183 E8A2FF        CALL    0128
0C96:0186 46            INC     SI
0C96:0187 E2F6          LOOP    017F
0C96:0189 E896FF        CALL    0122
0C96:018C B44C          MOV     AH,4C
0C96:018E CD21          INT     21


Код

-G=100 018E
WRITE A_B_C   3 5 2 RESULT=22
AX=4C0D  BX=F005  CX=0000  DX=E107  SP=FFEE  BP=0000  SI=000B  DI=0000
DS=0C92  ES=0C92  SS=0C92  CS=0C92  IP=018E   NV UP EI PL NZ NA PO NC
0C92:018E CD21          INT     21
    
-d100
0C92:0100  EB 2B 57 52 49 54 45 20-41 5F 42 5F 43 20 20 20   .+WRITE A_B_C
0C92:0110  20 52 45 53 55 4C 54 3D-32 32 20 E0 AE A1 A5 AB    RESULT=22 .....
0C92:0120  90 90 90 90 B4 00 CD 16-B4 0E CD 10 C3 BE 00 00   ................
0C92:0130  B9 0E 00 8A 84 02 01 E8-EE FF 46 E2 F6 90 90 90   ..........F.....
0C92:0140  BE 00 00 B9 05 00 E8 DB-FF 2C 30 88 84 00 02 46   .........,0....F
0C92:0150  3C 0D 74 03 E2 F0 A1 00-02 8B 1E 02 02 8B 0E 04   <.t.............
0C92:0160  02 F7 E3 01 D9 01 C8 90-D4 0A 05 30 30 90 90 90   ...........00...
0C92:0170  90 88 26 18 01 A2 19 01-90 BE 00 00 B9 0B 00 8A   ..&.............


Автор: tzirechnoy 22.4.2015, 20:10
Цитата
в надежде понять свою же работу...


Бгг. Если бы ты это написал, ты бы прекрасно понимал "по крайней мере один блок".

Поскольку по меньшэй мере до ввода числа включительно всё нормально дизассэмблировалось.

Автор: ФедосеевПавел 22.4.2015, 22:10
А нам обязательно видеть дамп? Или всё же исходник существует?

Цитата
Преподаватель требует тактически точного объяснения. что да как. Я так не могу, я говорю как понял я.

Вот видете, даже вам с комментированными исходниками трудно, а от нас вы просите провести дизассемблирование по дампу, с последующим анализом алгоритма.

Автор: smithyGSL 22.4.2015, 22:39
Цитата(ФедосеевПавел @ 22.4.2015,  22:10)
А нам обязательно видеть дамп? Или всё же исходник существует?

Цитата
Преподаватель требует тактически точного объяснения. что да как. Я так не могу, я говорю как понял я.

Вот видете, даже вам с комментированными исходниками трудно, а от нас вы просите провести дизассемблирование по дампу, с последующим анализом алгоритма.

Держите.

Добавлено через 5 минут и 37 секунд
  .

Добавлено через 13 минут и 52 секунды
Файл мистическим образом отказывался прикреплятся

Автор: smithyGSL 22.4.2015, 22:55
Цитата(tzirechnoy @ 22.4.2015,  20:10)
Цитата
в надежде понять свою же работу...


Бгг. Если бы ты это написал, ты бы прекрасно понимал "по крайней мере один блок".

Поскольку по меньшэй мере до ввода числа включительно всё нормально дизассэмблировалось.

Но я же не заявил что делал её ВСЮ!!
Я взял только часть с примером и корректировал её под свой пример. 
В этом и проблема. 

Автор: tzirechnoy 23.4.2015, 15:08
Цитата
В этом и проблема. 


Нет, парень, твоя проблема совсем не в этом.

Твоя проблема -- в том, что ты нифига не делал в семестре и дажэ приблизительно, хотя бы на уровне первых двух практических занятий, не представляешь себе предмет, который собираешься сдавать.

Автор: smithyGSL 23.4.2015, 18:19
Цитата(tzirechnoy @ 23.4.2015,  15:08)
Цитата
В этом и проблема. 


Нет, парень, твоя проблема совсем не в этом.

Твоя проблема -- в том, что ты нифига не делал в семестре и дажэ приблизительно, хотя бы на уровне первых двух практических занятий, не представляешь себе предмет, который собираешься сдавать.

Моя проблема была в том что у меня не было времени на эту работу. 
И да, я взял работу одногруппника и переделал его пример под свой.
А раз вы такой занудный и умный, СОВЕТУЮ ВАМ писать более грамотно.
Не приятно читать ваше "дажэ", хотя думаю что это было нарошно. Но все же. Не стоит вроде умному человеку так поступать. 
И тем более винить кого-то в том что даже толком и не знаешь.
Работу сдал, получил 4.
ВЫКУСИ smile 

Автор: ФедосеевПавел 23.4.2015, 20:57
Вообще-то, на форумах не принято указывать на описки. Я подозреваю, что для многих на форуме русский язык - не родной, а родной можно с большой вероятностью угадать по некоторым устойчивым ошибкам.

Помочь вам не смогли, но тут уж просто не повезло - время было уже позднее.

Автор: tzirechnoy 24.4.2015, 10:49
Цитата
Вообще-то, на форумах не принято указывать на описки.


Павел, Вы вроде не первое и не десятое моё сообщение читаете. В общем, это не описки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)