Перейти к содержанию

Так, для общего развития...


Autopsy

Рекомендуемые сообщения

radioelectron или PLCist, как оно работает?:

CSEG segment

assume cs:CSEG, es:CSEG, ds:CSEG, ss:CSEG

org 100h

Begin:

mov sp,offset P_1

mov ax,9090h

push ax

int 20h

P_1:

mov ah,9

mov dx,offset Mess

int 21h

int 20h

Mess db 'Yet it prints!$'

CSEG ends

end Begin

криво работает.

Рекомендуется использовать функцию 4Ch Terminate, чтобы избежать трудностей, связанных с незнанием применения INT 20h, как в твоём примере.

Можешь взять русский справочник П.Нортона и почитать про ДОС прерывания подробней.

Один на русском без ошибок не может писать - другой на ДОСе не может простую программку без ошибок написать.

 

Нашел таки тему! Н-н-н-да... что тут сказать... у людей с таким стандартным ходом мыслей мало шансов стать чем-то более чем посмешищем на форуме... Короч завязывай с асмой, пацан! Бейсик тебе в помощь.

 

Объясняю популярно: 90h - NOP, у нас их два, int 20h как раз двубайтовая команда, Stack Pointer перенесли, толкаем два NOP-a в стек..... и тем самым.... затираем точку останова (потому что стек куда растёт?).

 

В итоге отладчики - в шоке, а строка выводится. На NTVDM не экспериментируйте. И это только самый мелкий прикол, обход эвристиков - самый смак!

Изменено пользователем Autopsy
Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...