Какой-то сакс)

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Awful
Сообщения: 1
Зарегистрирован: 04 ноя 2009, 19:44

Я только начинаю изучать ассемблер и вот столкнулсяс такой проблемой:
(код небольшой)
кусок программы, где начинается сбой

Код: Выделить всё

Sseg segment para stack 'stack'
db 64 dup(0)
Sseg ends
dseg segment 
 nx dw 6
 xx dw 6,-3,7,9,11,13
 maxx dw ?
 f db 0
 kx dw 0
 k dw 0
 max dw 0
 c3 db 3
dseg ends
cseg segment
assume cs:cseg,ss:sseg,ds:dseg
ppc proc
	mov bx,dseg
	mov ds,bx
 	lea ax,xx
 	push ax
	push nx
	ret
ppc endp
cseg ends
end ppc
так вот. почему после проделанных действий стек имеет вид :
6,2,6,6,FFFD,7,9,B,D ???

откуда берутся 6 и 2 вначале... не понимаю. Обьясните ламеру, кому не трудно)

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

хотя мож это откуда то вылезли 2 и 6 в середке.. ща протестю и напишу

хмм. такое чувство что прога клонирует nx добавляет в стек, а в середку вставляет 2... ниче не понятно =/


удаляйте тему-разобрался
Ответить