Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Дана18
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 121
1

Tasm: не работает программа

17.01.2016, 23:45. Просмотров 205. Ответов 5
Метки нет (Все метки)

Почему не работает программа?
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
54
55
56
57
58
59
60
61
62
63
64
65
66
ideal
model small
stack 512
MACRO M_Exit 
mov ah, 04Ch
int 21h ; Виклик переривання DOS,
ENDM M_Exit
 
MACRO M_Init
mov ax, @data
mov ds, ax ; ds <- ax
mov es, ax ; es <- ax
ENDM M_Init
 
DATASEG
ar_ans DW 0h, 0h, 0h, 0h ;Оголошення двовим?рного масиву
DW 0h, 0h, 0h, 0h
DW 0h, 0h, 0h, 0h 
DW 0h, 0h, 0h, 0h
 
CODESEG
Start:
M_Init
;?н?ц?ал?зац?я елемент?в масиву, пряма адресац?я
mov ax, 0cdcdh ;
mov [ds:[0]], ax ; Сегмент даних починається з масиву ar_ans
mov [ds:[2]], ax ; Записуємо у нульовий елемент значення 0cdcdh
mov [ds:[4]], ax ; Зб?льшуючи значення ефективної адреси,записуємо ?нш? елементи
mov [ds:[6]], ax ;
mov [ds:[8]], ax ;
mov [10], ax ;
mov [12], ax ;
mov [14], ax ;
mov [16], ax ;
mov ax, [ds:[0]] ; Сегмент даних починається з масиву ar_ans
; Записуємо ar_ans[0][0] до ах
push ax ;Заносимо зм?ст ar_ans[0][0] до стеку через ах
mov ax, [ds:[2]] ; Розм?р елементу слово, отже робимо зсув на 2,
; Записуємо ar_ans[0][1] до ах
push ax ; Записуємо до стеку зм?ст ar_ans[0][1] через ах.
mov ax, [ds:[4]] ; Аналог?чно розм?щаємо вс? елементи до стеку.
push ax
mov ax, [ds:[6]]
push ax
mov ax, [ds:[8]]
push ax
mov ax, [ds:[10]]
push ax
mov ax, [ds:[12]]
push ax
mov ax, [ds:[14]]
push ax
mov ax, [ds:[16]]
push ax
mov bp, 001FEh
mov ax, 0FACEh ; Записуємо значення яким будемо ?н?ц?ал?зувати стек
mov cx, 00000h ; Обнуляємо СХ
mov [bp], cx ; Обнуляємо д?лянку стеку [ss]:[bx]
mov [bp], ax ; Записуємо у д?лянку стеку за адресою [ss]:[bx]
; значення 0FACEh
;Базово-?ндексна адресац?я
mov bp, 001F0h ; Записуємо ефективну адресу
; вершини стеку
mov si, 4 ; Записуємо номер потр?бного елементу стеку
mov cx, [BP+SI+2] ; Зчитуємо номер потр?бного елементу до рег?стру СХ
END Start
0
Миниатюры
Tasm: не работает программа  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2016, 23:45
Ответы с готовыми решениями:

Первая программа на TASM
Решил выучить основы ассемблера. Скачал себе TASM. Сразу прочитал пару статей об первой праграмме...

Зависает программа на TASM
Всё работает нормально,но после обращения к макросу программа зависает. Я так думаю,что у меня...

Первая программа на Tasm
MODEL TINY STACK 256 DATASEG Hellostr DB 'Hello First Step Site ' CODESEG start: mov...

TASM, программа сразу закрывается
начинаю изучать ассемблер (Borland TASM) из книжки взял исходник Hellow World откомпилировал, но...

Программа на tasm, стековая адресация
Помогите сделать программу на tasm. Использование передачи параметров через стек и стековой...

5
Constantin Cat
2983 / 1117 / 376
Регистрация: 28.02.2015
Сообщений: 2,457
Завершенные тесты: 1
19.01.2016, 14:40 2
Цитата Сообщение от Дана18 Посмотреть сообщение
Почему не работает программа?
Вы забыли завершить программу.
0
Hikari
Хитрая блондиночка $)
1453 / 966 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
19.01.2016, 14:46 3
Мда... Нет ret или
Assembler
1
2
mov  ah, 4Ch
 int     21h
Раз уж ДОС...
0
Mikl___
Автор FAQ
13304 / 6377 / 629
Регистрация: 11.11.2010
Сообщений: 11,538
19.01.2016, 14:56 4
Hikari,
судя по программе, требуется вызов макроса M_Exit
0
Hikari
Хитрая блондиночка $)
1453 / 966 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
19.01.2016, 15:06 5
А! Ну да. Похоже на то. Иначе зачем его было описывать...
0
Mikl___
Автор FAQ
13304 / 6377 / 629
Регистрация: 11.11.2010
Сообщений: 11,538
19.01.2016, 15:40 6
[delete]
0
19.01.2016, 15:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2016, 15:40

TASM программа вывода строки на экран
Привет всем ребят,прошу помочь) нужно сделать 2 задания с выводом в биос и с выводом в видеопамять...

Программа вычисления по формуле. Ассемблер, tasm
Можете подсказать, как сделать? Написать программу вычисления по формуле: y= (a+b)/(c-d)^2. Выдать...

Программа проходит компиляцию, но не запускается (TASM)
доброго времени суток. в адрессах 300h, 301h, 302h есть числа. программа должна их выровнять по...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru