Size: a a a

Ассемблер

2020 December 23

DR

Dima Richev in Ассемблер
А это другая совсем
источник
2020 December 24

АМ

Алексей Маринченко... in Ассемблер
Привет. В примере учебника дана такая программа:
CSEG segment
assume cs:CSEG, es:CSEG, ds:CSEG, ss:CSEG
org 100h
start:
   mov sp, offset lab_1
   mov ax, 9090h
   push ax
   int 20h
   
lab_1:
   mov ah, 9
   mov dx, offset message
   int 21h
   
   int 20h

; data

message db 'Hi! :)))$'

CSEG ends
end start
Говорится что по логике после первого int 20h программа должна завершиться, но так как мы в стек пихнули два nop она продолжит выполнение и выведет сообщение. Типа хитрость такая. И вот в чем суть: у меня программа работает так как с виду и должна, и ничего не выводит... В чем прикол? 🤣🤔
источник

A

Aleksandr in Ассемблер
А если закомментировать первый int 20h?
источник

ST

Saenro T in Ассемблер
Алексей Маринченко
Привет. В примере учебника дана такая программа:
CSEG segment
assume cs:CSEG, es:CSEG, ds:CSEG, ss:CSEG
org 100h
start:
   mov sp, offset lab_1
   mov ax, 9090h
   push ax
   int 20h
   
lab_1:
   mov ah, 9
   mov dx, offset message
   int 21h
   
   int 20h

; data

message db 'Hi! :)))$'

CSEG ends
end start
Говорится что по логике после первого int 20h программа должна завершиться, но так как мы в стек пихнули два nop она продолжит выполнение и выведет сообщение. Типа хитрость такая. И вот в чем суть: у меня программа работает так как с виду и должна, и ничего не выводит... В чем прикол? 🤣🤔
Nop затирает int 20h, но вроде бы только его половину
источник

A

Aleksandr in Ассемблер
А, я пропустил установку SP
источник

ST

Saenro T in Ассемблер
lab_1-1?
источник

A

Aleksandr in Ассемблер
Вроде бы, INT двухбайтный, за исключением int3 и еще чего то
источник

A

Aleksandr in Ассемблер
Должно работать
источник

ST

Saenro T in Ассемблер
CD20B3
К примеру, но затирается 20 и B3, нет?
источник

АМ

Алексей Маринченко... in Ассемблер
Saenro T
Nop затирает int 20h, но вроде бы только его половину
Там два nop
источник

АМ

Алексей Маринченко... in Ассемблер
9090h
источник

A

Aleksandr in Ассемблер
Попробуй продублировать PUSH AX
источник

A

Aleksandr in Ассемблер
В качестве эксперемента
источник

АМ

Алексей Маринченко... in Ассемблер
Aleksandr
Попробуй продублировать PUSH AX
Пробовал. Никакой реакции
источник

ST

Saenro T in Ассемблер
Пробовал указатель уменьшить на единицу?
источник

АМ

Алексей Маринченко... in Ассемблер
Saenro T
Пробовал указатель уменьшить на единицу?
Нет, какой?
источник

ST

Saenro T in Ассемблер
mov sp, offset lab_1 -1
источник

АМ

Алексей Маринченко... in Ассемблер
Saenro T
mov sp, offset lab_1 -1
Секунду
источник

АМ

Алексей Маринченко... in Ассемблер
Ничего не меняется...
источник

A

Aleksandr in Ассемблер
Saenro T
CD20B3
К примеру, но затирается 20 и B3, нет?
источник