Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 3
1

Листинг MASMa выдает 15 символических имён, хотя в таблице их 11

10.05.2015, 02:01. Показов 537. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется вот такой листинг (не смотрите на программу, работать она не должна, главное скомпилить без ошибок)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Microsoft (R) Macro Assembler Version 5.00                  5/9/15 01:05:02
                                                             Page     1-1
 
 
                .386 
 =              akk equ ah 
 = 000A             ms equ 10 
 0000               data segment use32 
 0000  53 61 76 69 6E       val1 db 'Savin' 
 0005  0A           val2 db 1010b 
 0006  029C         val3 dw 1234o 
 0008  DA6F85D7         val4 dd 0d7856fdah 
 000C  FD           val5 db -11b 
 000D  FFE0         val6 dw -32d 
 000F  3354FFFF         val7 dd -0abcdh 
 0013               data ends 
                assume cs:code, ds:data 
 0000               code segment use32 
 0000               begin: 
 0000  FC           cld 
 0001  0F 86 00000191 R     jbe fin 
 0007  B0 A5            mov al, 10100101b 
 0009  B4 01            mov ah, 1h 
 000B  B1 0A            mov cl, 10 
 000D  B0 5B            mov al, -10100101b 
 000F  B4 FF            mov ah, -1h 
 0011  B1 F6            mov cl, -10 
 0013  B5 61            mov ch, 'a' 
 0015  BB 000000A5      mov ebx, 10100101b 
 001A  B9 D7856FDA      mov ecx, 0d7856fdah 
 001F  B8 00005018      mov eax, 20504 
 0024  BB FFFFFF5B      mov ebx, -10100101b 
 0029  B9 287A9026      mov ecx, -0d7856fdah 
 002E  B8 FFFFAFE8      mov eax, -20504 
 0033  BF 00617764      mov edi, 'awd' 
 0038  51           push ecx 
 0039  13 C3            adc eax, ebx 
 003B  12 C4            adc al, ah 
 003D  FF 0C04          dec dword ptr [eax+esp] 
 0040  FE 0C0B          dec byte ptr [ebx+ecx] 
 0043  2E: FF 0C04      dec dword ptr cs:[eax+esp] 
 0047  FE 0C0B          dec byte ptr ds:[ebx+ecx] 
 004A  83 0C04 05       or dword ptr [eax + esp], 0101b 
 004E  80 0C04 05       or byte ptr [eax + esp], 0101b 
 0052  81 0C04 000101AC     or dword ptr [eax + esp], 0101ach 
 0059  80 0C04 01       or byte ptr [eax + esp], 01h 
 005D  81 0C04 000076E2     or dword ptr [eax + esp], 30434 
 0064  80 0C04 03       or byte ptr [eax + esp], 3 
 0068  83 0C04 FB       or dword ptr [eax + esp], -0101b 
 006C  80 0C04 FB       or byte ptr [eax + esp], -0101b 
 0070  81 0C04 FFFEFE54     or dword ptr [eax + esp], -0101ach 
 0077  80 0C04 FF       or byte ptr [eax + esp], -01h 
 007B  81 0C04 FFFF891E     or dword ptr [eax + esp], -30434 
 0082  80 0C04 FD       or byte ptr [eax + esp], -3 
 0086  2E: 83 0C04 05       or dword ptr cs:[eax + esp], 0101b 
 008B  3E: 80 0C04 05       or byte ptr ds:[eax + esp], 0101b 
 0090  26: 81 0C04 000101AC or dword ptr es:[eax + esp], 0101ach 
 0098  65: 80 0C04 01       or byte ptr gs:[eax + esp], 01h 
Microsoft (R) Macro Assembler Version 5.00                  5/9/15 01:05:02
                                                             Page     1-2
 
 
 009D  3E: 81 0C04 000076E2 or dword ptr ds:[eax + esp], 30434 
 00A5  26: 80 0C04 03       or byte ptr es:[eax + esp], 3 
 00AA  3E: 83 0C04 FB       or dword ptr ds:[eax + esp], -0101b 
 00AF  26: 80 0C04 FB       or byte ptr es:[eax + esp], -0101b 
 00B4  65: 81 0C04 FFFEFE54 or dword ptr gs:[eax + esp], -0101ach 
 00BC  2E: 80 0C04 FF       or byte ptr cs:[eax + esp], -01h 
 00C1  3E: 81 0C04 FFFF891E or dword ptr ds:[eax + esp], -30434 
 00C9  26: 80 0C04 FD       or byte ptr es:[eax + esp], -3 
 00CE  81 0C04 61626364     or dword ptr [eax + esp], 'abcd' 
 00D5  80 0C04 65       or byte ptr [eax + esp], 'e' 
 00D9  3E: 81 0C04 61626364 or dword ptr ds:[eax + esp], 'abcd' 
 00E1  65: 80 0C04 65       or byte ptr gs:[eax + esp], 'e' 
 00E6  81 0C04 00001FFF     or [eax + esp], 1111111111111b 
 00ED  81 0C04 000101AC     or [eax + esp], 0101ach 
 00F4  81 0C04 0000E1E5     or [eax + esp], 57829 
 00FB  81 0C04 FFFFE001     or [eax + esp], -1111111111111b 
 0102  81 0C04 FFFEFE54     or [eax + esp], -0101ach 
 0109  81 0C04 FFFF1E1B     or [eax + esp], -57829 
 0110  81 0C04 00617764     or [eax + esp], 'awd' 
 0117  26: 81 0C04 00001FFF or es:[eax + esp], 1111111111111b 
 011F  65: 81 0C04 000101AC or gs:[eax + esp], 0101ach 
 0127  2E: 81 0C04 0000E1E5 or cs:[eax + esp], 57829 
 012F  3E: 81 0C04 FFFFE001 or ds:[eax + esp], -1111111111111b 
 0137  26: 81 0C04 FFFEFE54 or es:[eax + esp], -0101ach 
 013F  65: 81 0C04 FFFF1E1B or gs:[eax + esp], -57829 
 0147  2E: 81 0C04 00617764 or cs:[eax + esp], 'awd' 
 014F  20 041A          and [edx + ebx], al 
 0152  21 1C39          and [ecx + edi], ebx 
 0155  65: 21 1C39      and gs:[ecx + edi], ebx 
 0159  65: 20 0439      and gs:[ecx + edi], al 
 015D  20 041A          and byte ptr [edx + ebx], al 
 0160  21 1C39          and dword ptr [ecx + edi], ebx 
 0163  65: 21 1C39      and dword ptr gs:[ecx + edi], ebx 
 0167  65: 20 0439      and byte ptr gs:[ecx + edi], al 
 016B  3B 1C38          cmp ebx, [eax + edi] 
 016E  3A 2432          cmp ah, [edx + esi] 
 0171  3B 1C38          cmp ebx, dword ptr [eax + edi] 
 0174  3A 2432          cmp ah, byte ptr [edx + esi] 
 0177  65: 3B 1C38      cmp ebx, gs:[eax + edi] 
 017B  65: 3A 2432      cmp ah, gs:[edx + esi] 
 017F  65: 3B 1C38      cmp ebx, dword ptr gs:[eax + edi] 
 0183  65: 3A 2432      cmp ah, byte ptr gs:[edx + esi];awdawdawd 
 0187  F7 FB            idiv ebx 
 0189  F6 F8            idiv al 
 018B  0F 86 00000000 R     jbe begin 
 0191               fin: 
 0191               code ends 
                end 
Microsoft (R) Macro Assembler Version 5.00                  5/9/15 01:05:02
                                                             Symbols-1
 
 
 
 
                N a m e             Size    Length   Align  Combine Class
 
CODE . . . . . . . . . . . . . .    32 Bit  0191    PARA    NONE    
DATA . . . . . . . . . . . . . .    32 Bit  0013    PARA    NONE    
 
Symbols:            
 
                N a m e             Type     Value   Attr
 
AKK  . . . . . . . . . . . . . .    ALIAS    AH     
 
BEGIN  . . . . . . . . . . . . .    L NEAR  0000    CODE
 
FIN  . . . . . . . . . . . . . .    L NEAR  0191    CODE
 
MS . . . . . . . . . . . . . . .    NUMBER  000A    
 
VAL1 . . . . . . . . . . . . . .    L BYTE  0000    DATA
VAL2 . . . . . . . . . . . . . .    L BYTE  0005    DATA
VAL3 . . . . . . . . . . . . . .    L WORD  0006    DATA
VAL4 . . . . . . . . . . . . . .    L DWORD 0008    DATA
VAL5 . . . . . . . . . . . . . .    L BYTE  000C    DATA
VAL6 . . . . . . . . . . . . . .    L WORD  000D    DATA
VAL7 . . . . . . . . . . . . . .    L DWORD 000F    DATA
 
@FILENAME  . . . . . . . . . . .    TEXT  asm_kr_b      
 
 
    102 Source  Lines
    102 Total   Lines
     15 Symbols
 
  50922 + 465622 Bytes symbol space free
 
      0 Warning Errors
      0 Severe  Errors
Интересует конкретно конец:
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
                N a m e             Size    Length   Align  Combine Class
 
CODE . . . . . . . . . . . . . .    32 Bit  0191    PARA    NONE    
DATA . . . . . . . . . . . . . .    32 Bit  0013    PARA    NONE    
 
Symbols:            
 
                N a m e             Type     Value   Attr
 
AKK  . . . . . . . . . . . . . .    ALIAS    AH     
 
BEGIN  . . . . . . . . . . . . .    L NEAR  0000    CODE
 
FIN  . . . . . . . . . . . . . .    L NEAR  0191    CODE
 
MS . . . . . . . . . . . . . . .    NUMBER  000A    
 
VAL1 . . . . . . . . . . . . . .    L BYTE  0000    DATA
VAL2 . . . . . . . . . . . . . .    L BYTE  0005    DATA
VAL3 . . . . . . . . . . . . . .    L WORD  0006    DATA
VAL4 . . . . . . . . . . . . . .    L DWORD 0008    DATA
VAL5 . . . . . . . . . . . . . .    L BYTE  000C    DATA
VAL6 . . . . . . . . . . . . . .    L WORD  000D    DATA
VAL7 . . . . . . . . . . . . . .    L DWORD 000F    DATA
 
@FILENAME  . . . . . . . . . . .    TEXT  asm_kr_b      
 
 
    102 Source  Lines
    102 Total   Lines
     15 Symbols
 
  50922 + 465622 Bytes symbol space free
 
      0 Warning Errors
      0 Severe  Errors
почему он выдает 15 символических имён, хотя в таблице их 11 и откуда берется 50922 + 465622 Bytes symbol space free, спасибо заранее.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2015, 02:01
Ответы с готовыми решениями:

Передача символических имен функций
Здравствуйте, Чтобы долго не объяснять, прилагаю условие задачи и мой код. Прошу Вашего совета по...

Построить упорядоченную таблицу символических имен в конце первого просмотра
Ув. эксперты, в ассемб полный 0 подскажите , как реализовать(На Tasm). Задание: Для полученной...

Не удается найти строку в таблице значения 1с77 - выдает, что ничего не находит, хотя запись в ТЗ есть
добрый день, не удается найти строку в таблице значения 1с77 - выдает, что ничего не находит, хотя...

Напишите блок схему и листинг программы, которая выдает не повторяющуюся последовательность из цифр 0 и 1
Составить программу , которая по введенному N выдает последовательность длины N , состоящий из цифр...

5
43 / 43 / 12
Регистрация: 06.10.2014
Сообщений: 135
10.05.2015, 07:19 2
Цитата Сообщение от Svit4er Посмотреть сообщение
почему он выдает 15 символических имён
Имена меток, и, наверное, asm_kr_b - не считал.
Цитата Сообщение от Svit4er Посмотреть сообщение
откуда берется 50922 + 465622 Bytes symbol space free
Предполагаю, что MASM по умолчанию резервирует 512КB для имен
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
10.05.2015, 09:40 3
В таблице 14 имен :
CODE DATA AKK BEGIN FIN MS VAL1 VAL2 VAL3 VAL4 VAL5 VAL6 VAL7 @FILENAME
Непонятно только какое 15-е.
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 3
10.05.2015, 17:46  [ТС] 4
Если сложить 50922 + 465622 не получается 512кб и даже если так, то как он считает это 50922
0
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
10.05.2015, 18:06 5
Это внутренняя кухня ассемблера. Ассемблер просто сообщает, что место под имена еще есть и можно их еще добавить. А как он это считает ? А как хранит - так и считает. А как он их хранит не все ли равно ?
0
0 / 0 / 0
Регистрация: 10.05.2015
Сообщений: 3
10.05.2015, 18:24  [ТС] 6
У меня просто курсовая написать компилятор асма аналогичный масму, и я голову себе всю поломал как он считает это в конце и почему выдает не то количество символических имен которые занесенны в таблицу )
0
10.05.2015, 18:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2015, 18:24
Помогаю со студенческими работами здесь

Одномерный массив. Вот листинг программы, но при запуске выдаёт ошибку 201. Исправьте, пожалуйста
Дан массив B из n элементов(n<=30). Определить, представляют ли собой элементы массива возрастающую...

Cамый краткий листинг - самый подробный листинг.
Здравствуйте. Надо провести трансляцию программы SIMPLE.ASM с использованием TASM.EXE и...

Отображение всех имен, как список в таблице mysql
Доброго времени суток Dim Conect As String = "server=******;User Id=****;password=*****;Persist...

PasswordBoxMonitor не существует в пространстве имен clr-namespace:ChatClient хотя такой класс есть
почему подчеркивает зеленым и пишет что имя PasswordBoxMonitor не существует в пространстве имен...

Поиск заданного имени в таблице имен с извлечением сопутствующей информации
Дали задание "Написать макрокоманду для поиска заданного имени в таблице имен с извлечением...

Создание символических ссылок
Есть код из книги Иванова Н. Н. "Программирование в Linux" #include <unistd.h> #include <stdio.h>...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru