Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
z1
0 / 0 / 0
Регистрация: 27.09.2009
Сообщений: 25

Работа со стеком

15.05.2011, 18:35. Показов 1144. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди, подскажите почему и что не так в данном фрагменте кода при работе со стеком ( по моему что то с BP...)


Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
    .model  small
    .stack  100h
    .data
    
msg1    DB  10, 'good1', 10, 13, '$'
msg2    DB  'good2', 10, 13, '$'
msg3    DB  'good3', 10, 13, '$'
    .code
start:
    MOV AX, @data
    MOV DS, AX
    
    
    
    PUSH    offset msg3
    PUSH    offset msg2
    PUSH    offset msg1
    
    CALL far ptr output_str
 
    
output_str  PROC    FAR 
 
           PUSH BP
    MOV BP, SP
    
    PUSH    AX 
           PUSH BX 
           PUSH CX 
           PUSH DX
    
    MOV DX, [BP + 4]
    MOV AH, 09h
    INT 21h
    
    MOV DX, [BP + 6]
    MOV AH, 09h
    INT 21h
    
    MOV DX, [BP + 8]
    MOV AH, 09h
    INT 21h
    POP AX  
           POP BX
           POP CX 
           POP DX
           POP BP
    MOV SP, BP
 
    RET 6
output_str  ENDP
 
end start
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2011, 18:35
Ответы с готовыми решениями:

Работа со стеком
Народ, как вывести на экран сегмент стека? Срочно нужна прога(TASM? , желательно), или хотя бы подскажите как это сделать, пади сам...

работа со стеком
Вечер добрый всем. Нужна ваша помощь с заданием: Вывод на экран меню с возможностью выбора пункта с клавиатуры: 1 - вывести на...

Работа со стеком
.386 .model flat, stdcall includelib C:\masm32_v11\lib\kernel32.lib ExitProcess proto :DWORD .code start: mov ax,2211h mov...

2
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
15.05.2011, 19:27
Какой последний элемент засунули в стек, такой потом и извлекайте при восстановлении регистра, ошибка элементарная.
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
15.05.2011, 20:20
z1, call заносит в стек два слова, сегмент и смещение.

Assembler
1
2
3
4
5
6
7
8
9
10
11
       MOV     DX, [BP + 6]
        MOV     AH, 09h
        INT     21h
        
        MOV     DX, [BP +8]
        MOV     AH, 09h
        INT     21h
        
        MOV     DX, [BP +10]
        MOV     AH, 09h
        INT     21h
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2011, 20:20
Помогаю со студенческими работами здесь

Работа со стеком
Приветствую всех! Я новичок в Ассемблере и столкнулся с проблемой, решение которой не могу найти. Суть вот в чём. Есть сегмент стека: ...

Работа со стеком. Есть вопрос.
Подскажите, пожалуйста, как можно передать из процедуры, подгружаемой из отдельного файла, значение регистра, например dx в основную...

работа со стеком
требуется удалить из стэка допустим 5-ый элемент из 10. Как это сделать? И как задать стэк рэндомно?!

Работа со стеком.
Интересует вопрос: для использовония функций pop() и push() нужно ли подключать заголовочный файл из стандартной библиотеки?

Работа со стеком
Хочу сделать в приложении(редакторе изображений) кнопку отменить последнее изменение. Я порешил после редактирования изображения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru