Форум программистов, компьютерный форум, киберфорум
Микропроцессоры
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Микропроцессоры Утилита загрузки компьютера Роботрон 1715 через RS-232 У кого есть утилита загрузки компьютера Роботрон 1715 через RS-232 с образов .cpm -дискет с компьютера с Windows (для создания дискет на компьютере Роботрон 1715, где размагнитились загрузочные дискеты или поставили 1.44 МБ дисководы 3,5 дюйма для утилизации 3 - дюймовых дискет и формата ), подключенного через нуль-модемный кабель к RS-232 порту (V24, через переходник )? К эмуляторам и... https://www.cyberforum.ru/ microprocessors/ thread2553510.html (МТ1804) Найти сумму максимальных чисел из попарно рассматриваемых регистров Микропроцессоры
Найти сумму максимальных чисел из попарно рассматриваемых регистров R0,R1 и R2,R3; результат поместить в R6. п/п: определение максимального из двух чисел Ri и Ri+1. Помогите пожалуйста решить две эти программы тут нужно использовать stek и подпрограммы. На всякий случай прикрепляю файл самого задания.
Микропроцессоры (МТ1804) Найти дополнительный код содержимого регистра https://www.cyberforum.ru/ microprocessors/ thread2548831.html
Найти дополнительный код содержимого регистра R5 и поместить его в R0, путем суммирования R5 с “1” до тех пор, пока не появится переполнение. Помогите пожалуйста решить. Тут нужно использовать stek и подпрограммы. На всякий случай прикрепляю файл самого задания.
Микропроцессоры Описание схемы https://www.cyberforum.ru/ microprocessors/ thread2545961.html
Кто может помочь разобраться со схемой
Микропроцессоры Составление логической структуры со связями
Доброго времени суток, появился такой вопрос, как составить логическую структуру по данным показателям: 1) сигнал a4 не будет только тогда, когда есть и a5 и a6 2)сигнала а3 не будет только тогда, когда a5 неравно a8. 3)сигнала а6 не будет только тогда, когда a2 неравно a10. 4)сигнал a1 будет только тогда, когда а9 неравно а3. 5)сигнал а9 будет только тогда, когда а2 неравно а4. 6)Сигнала...
Микропроцессоры Шрифты FontRus, FontUkr, FontCheh для ZX Spectrum 48 У кого есть образы кассет , дисков (tap,tzx,trd,fdi) с шрифтами FontRus, FontUkr, FontCheh для ZX Spectrum 48 (для эмулятора )? https://www.cyberforum.ru/ microprocessors/ thread2515364.html
Микропроцессоры Как работать с эмулятором КР580ВМ80А https://www.cyberforum.ru/ microprocessors/ thread2430407.html
Добрый день, при выполнении лабораторной возникли вопросы, так как впервые сталкиваюсь с досовскими программами. Добавлено через 22 минуты 1. Есть два файла, AS80.exe и М580.ехе (эмулятор от Негоды), как я понял, нужно файл с кодом из блокнота с расширением .as пропустить через AS80 чтобы получить файлы с машинным кодом и листингом( .lda и .lst). Но у меня после AS80 создается только файл с...
Как собрать цифровой генератор пилообразных напряжений? Микропроцессоры
Здравствуйте. У меня стоит задача собрать цифровой генератор пилообразных напряжений. И я не пойму как это сделать. Аналоговый генератор пилообразных напряжений как я понимаю, работает по принципу разрядки и зарядки конденсатора. А как быть с цифровым генератором? Заранее спасибо.
Микропроцессоры MIPS Деление двух чисел https://www.cyberforum.ru/ microprocessors/ thread2405811.html
Добры день. После деления результат находится в регистрах LO HI. У меня вопрос как в итоге объединить целую и дробную часть, чтобы получить результат? Если есть пример буду благодарен.
Микропроцессоры Аналог КА1515ХМ1-216 (ULA1) для PICK-MASTER https://www.cyberforum.ru/ microprocessors/ thread2400661.html
Аналог КА1515ХМ1-216 (ULA1) для PICK-MASTER (ZX-SPECTRUM) : у кого есть схема аналога микросхемы КА1515ХМ1-216 (ULA1) на мелкой логике, мультиплексорах , регистрах , счетчиках (для замены микросхемы без перепрошивки ПЗУ на дополнительную плату )? Добавлено через 13 минут Как имплементовать в нем порт вывода 1 с помощью вывода SSWR , 26-й вывод, читая с шины данных по стробу через регистр...
Генератор всей информации на много Yetabayte или много битный счетчик или ЗУ с неограниченным размером Микропроцессоры
Вопрос как получить всю информацию все изображения и.т.д ? Ответ прост весь код файла это номер двоичный или десятичный или HEX 1.нужно счетчик которому можно задавать через сколько чисел нужно пропускать например счетчик считает через 5 0 5 10 15 20 25 30 а также считать в обратную сторону 30 25 20 15 10 5 0. 2.как записать все 32 числа если память только на 8 чисел записываем первые 8...
Микропроцессоры Если одно из значений в R0 или R1, имеет младший разряд равный 0, то найти R2=R1vR0, иначе уменьшить R0 в два раза Если одно из значений в R0 или R1, имеет младший разряд равный 0, то найти R2=R1vR0, иначе уменьшить R0 в два раза. Хелп плиз,загрузил R0 и R1 а как сделать условие? K1804 BC1 https://www.cyberforum.ru/ microprocessors/ thread2379296.html
6 / 6 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
20.12.2019, 17:01  [ТС] 0

Доработка дизассемблера 8080A - Микропроцессоры - Ответ 14113582

20.12.2019, 17:01. Показов 5623. Ответов 29
Метки (Все метки)

Ответ

Предлагаю предложить альтернативные более оптимальные варианты, если есть .

Массив для токенизации может быть следующим

C++
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
153
/*
 
char * cmd_1st_byte_array_cap [256]= 
{
"NOP","LXI B,","STAX B","INX B", "INR B","DCR B","MVI B,", "RLC","0x08","DAD B","LDAX B","DCX B","INR C","DCR C","MVI C,","RRC",
"0x10","LXI D,","STAX D","INX D","INR D","DCR D","MVI D,","RAL","0x18","DAD D","LDAX D","DCX D","INR E","DCR E","MVI E,","RAR",
"0x20","LXI H,","SHLD","INX H","INR H","DCR H","MVI H,","DAA","0x28","DAD H","LHLD","DCX H","INR L","DCR L","MVI L,","CMA", 
"0x30","LXI SP,","STA","INX SP","INR M","DCR M","MVI M,","STC","0x38","DAD SP","LDA","DCX SP","INR A","DCR A","MVI A,","CMC", 
"MOV B,B","MOV B,C","MOV B,D","MOV B,E","MOV B,H","MOV B,L","MOV B,M","MOV B,A","MOV C,B","MOV C,C","MOV C,D","MOV C,E","MOV C,H","MOV C,L","MOV C,M","MOV C,A", 
"MOV D,B","MOV D,C","MOV D,D","MOV D,E","MOV D,H","MOV D,L","MOV D,M","MOV D,A","MOV E,B","MOV E,C","MOV E,D","MOV E,E","MOV E,H","MOV E,L","MOV E,M","MOV E,A", 
"MOV H,B","MOV H,C","MOV H,D","MOV H,E","MOV H,H","MOV H,L","MOV H,M","MOV H,A","MOV L,B","MOV L,C","MOV L,D","MOV L,E","MOV L,H","MOV L,L","MOV L,M","MOV L,A", 
"MOV M,B","MOV M,C","MOV M,D","MOV M,E","MOV M,H","MOV M,L","HLT","MOV M,A","MOV A,B","MOV A,C","MOV A,D","MOV A,E","MOV A,H","MOV A,L","MOV A,M","MOV A,A", 
"ADD B","ADD C","ADD D","ADD E","ADD H","ADD L","ADD M","ADD A","ADC B","ADC C","ADC D","ADC E","ADC H","ADC  L","ADC M","ADC A", 
"SUB B","SUB C","SUB D","SUB E","SUB H","SUB L","SUB M","SUB A","SBB B","SBB C","SBB D","SBB E","SBB H","SBB L","SBB M","SBB A", 
"ANA B","ANA C","ANA D","ANA E","ANA H","ANA L","ANA M","ANA A","XRA B","XRA C","XRA D","XRA E","XRA H","XRA L","XRA M","XRA A", 
"ORA B","ORA C","ORA D","ORA E","ORA H","ORA L","ORA M","ORA  A","CMP B","CMP C","CMP D","CMP E","CMP H","CMP L","CMP M","CMP A", 
"RNZ","POP B","JNZ","JMP","CNZ","PUSH B","ADI","RST 0","RZ","RET","JZ","0xcb","CZ","CALL","ACI","RST 1", 
"RNC","POP D","JNC","OUT","CNC","PUSH D","SUI","RST 2","RC","0xd9","JC","IN","CC","0xdd","SBI","RST 3", 
"RPO","POP H","JPO","XTHL","CPO","PUSH H","ANI","RST 4","RPE","PCHL","JPE","XCHG","CPE","0xed","XRI","RST 5", 
"RP","POP PSW","JP","DI","CP","PUSH PSW","ORI","RST 6","RM","SPHL","JM","EI","CM","0xfd","CPI","RST 7" 
 
 
 
} ;
 
char * cmd_1st_byte_array_small [256]= 
{
"nop","lxi b,","stax b","inx b", "inr b","dcr b","mvi b,", "rlc","0x08","dad b","ldax b","dcx b","inr c","dcr c","mvi c,","rrc",
"0x10","lxi d,","stax d","inx d","inr d","dcr","mvi d,","ral","0x18","dad d","ldax d","dcx d","inr e","dcr e","mvi e,","rar",
"0x20","lxi h,","shld","inx h","inr h","dcr h","mvi h,","daa","0x28","dad h","lhld","dcx h","inr l","dcr l","mvi l,","cma", 
"0x30","lxi sp,","sta","inx sp","inr m","dcr m","mvi m,","stc","0x38","dad sp","lda","dcx sp","inr a","dcr a","mvi a,","cmc", 
"mov b,b","mov b,c","mov b,d","mov b,e","mov b,h","mov b,l","mov b,m","mov b,a","mov c,b","mov c,c","mov c,d","mov c,e","mov c,h","mov c,l","mov c,m","mov c,a", 
"mov d,b","mov d,c","mov d,d","mov d,e","mov d,h","mov d,l","mov d,m","mov d,a","mov e,b","mov e,c","mov e,d","mov e,e","mov e,h","mov e,l","mov e,m","mov e,a", 
"mov h,b","mov h,c","mov h,d","mov h,e","mov h,h","mov h,l","mov h,m","mov h,a","mov l,b","mov l,c","mov l,d","mov l,e","mov l,h","mov l,l","mov l,m","mov l,a", 
"mov m,b","mov m,c","mov m,d","mov m,e","mov m,h","mov m,l","hlt","mov m,a","mov a,b","mov a,c","mov a,d","mov a,e","mov a,h","mov a,l","mov a,m","mov a,a", 
"add b","add c","add d","add e","add h","add l","add m","add a","adc b","adc c","adc d","adc e","adc h","adc l","adc m","adc a", 
"sub b","sub c","sub d","sub e","sub h","sub l","sub m","sub a","sbb b","sbb c","sbb d","sbb e","sbb h","sbb l","sbb m","sbb a", 
"ana b","ana c","ana d","ana e","ana h","ana l","ana m","ana a","xra b","xra c","xra d","xra e","xra h","xra l","xra m","xra a", 
"ora b","ora c","ora d","ora e","ora h","ora l","ora m","ora a","cmp b","cmp c","cmp d","cmp e","cmp h","cmp l","cmp m","cmp a", 
"rnz","pop b","jnz","jmp","cnz","push b","adi","rst 0","rz","ret","jz","0xcb","cz","call","aci","rst 1", 
"rnc","pop d","jnc","out","cnc","push d","sui","rst 2","rc","0xd9","jc","in","cc","0xdd","sbi","rst 3", 
"rpo","pop h","jpo","xthl","cpo","push h","ani","rst 4","rpe","pchl","jpe","xchg","cpe","0xed","xri","rst 5", 
"rp","pop psw","jp","di","cp","push psw","ori","rst 6","rm","sphl","jm","ei","cm","0xfd","cpi","rst 7" 
 
 
 
} ;
 
 
Byte cmd_2nd_byte_array[2][256]= 
{
 
{
0,DL,0,0, 0,0,D8,0,0,0,0,0,0,0,D8,0,//0x
0,DL,0,0,0,0,D8,0,0,0,0,0,0,0,D8,0,//1x
0,DL,AL,0,0,0,D8,0,0,0,AL,0,0,0,D8,0, //2x
0,DH,AL,0,0,0,D8,0,0,0,AL,0,0,0,D8,0, //3x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //4x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //5x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //6x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //7x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //8x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //9x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //ax
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //bx
0,0,AL,AL,AL,0,D8,0,0,0,AL,0,AL,AL,D8,0, 
0,0,AL,Nport,AL,0,D8,0,0,0,AL,Nport,AL,0,D8,0, 
0,0,AL,0,AL,0,D8,0,0,0,AL,0,AL,0,D8,0, 
0,0,AL,0,AL,0,D8,0,0,0,AL,0,AL,0,D8,0 
},
 
{
0,DH,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,//0x
0,DH,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//1x
0,DH,AH,0,0,0,0,0,0,0,AH,0,0,0,0,0, //2x
0,DH,AH,0,0,0,0,0,0,0,AH,0,0,0,0,0, //3x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //4x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //5x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //6x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //7x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //8x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //9x
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //ax
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, //bx
0,0,AH,AH,AH,0,0,0,0,0,AH,0,AH,AH,0,0, 
0,0,AH,0,AH,0,0,0,0,0,AH,0t,AH,0,0,0, 
0,0,AH,0,AH,0,0,0,0,0,AH,0,AH,0,0,0, 
0,0,AH,0,AH,0,0,0,0,0,AH,0,AH,0,0,0 
 }  
 } ;
 
 
 
//#ifdef 
//undocumented commands , don't use in the assembler , may be 
// 1 byte 0x08,0x10,0x18,0x20,0x28, 0x30,0x38  nop 
//cmd_1st_byte_array_small[(int)0x08]="nop";
//cmd_2nd_byte_array[0][(int)0x08]=0;
//cmd_2nd_byte_array[1][(int)0x08]=0;
//num_cmd_array[0x08]=1;
//cmd_1st_byte_array_small[(int)0x10]="nop";
//cmd_2nd_byte_array[0][(int)0x10]=0;
//cmd_2nd_byte_array[1][(int)0x10]=0;
//num_cmd_array[0x10]=1;
//cmd_1st_byte_array_small[(int)0x18]="nop";
//cmd_2nd_byte_array[0][(int)0x18]=0;
//cmd_2nd_byte_array[1][(int)0x18]=0;
//num_cmd_array[0x18]=1;
//cmd_1st_byte_array_small[(int)0x20]="nop";
//cmd_2nd_byte_array[0][(int)0x20]=0;
//cmd_2nd_byte_array[1][(int)0x20]=0;
//num_cmd_array[0x28]=1;
//cmd_1st_byte_array_small[(int)0x28]="nop";
//cmd_2nd_byte_array[0][(int)0x28]=0;
//cmd_2nd_byte_array[1][(int)0x28]=0;
//num_cmd_array[0x28]=1;
//cmd_1st_byte_array_small[(int)0x30]="nop";
//cmd_2nd_byte_array[0][(int)0x30]=0;
//cmd_2nd_byte_array[1][(int)0x30]=0;
//num_cmd_array[0x30]=1;
//cmd_1st_byte_array_small[(int)0x38]="nop";
//cmd_2nd_byte_array[0][(int)0x38]=0;
//cmd_2nd_byte_array[1][(int)0x38]=AH;
//num_cmd_array[0x38]=1;
 
//3 byte 0xcb jmp   AL AH
//cmd_1st_byte_array_small[(int)0xcb]="jmp";
//cmd_2nd_byte_array[0][(int)0xcb]=AL;
//cmd_2nd_byte_array[1][(int)0xcb]=AH;
//num_cmd_array[0xcb]=3;
//1 byte 0xd9 ret
//cmd_1st_byte_array_small[(int)0xd9]="ret";
//cmd_2nd_byte_array[0][(int)0xd9]=0;
//cmd_2nd_byte_array[1][(int)0xd9]=0;
//num_cmd_array[0xd9]=1;
//3 byte 0xdd call    AL  AH  
//cmd_1st_byte_array_small[(int)0xdd]="call";
//cmd_2nd_byte_array[0][(int)0xdd]=AL;
//cmd_2nd_byte_array[1][(int)0xdd]=AH;
//num_cmd_array[0xdd]=1;
//3 byte 0xed call    AL  AH  
//cmd_1st_byte_array_small[(int)0xced]="call";
//cmd_2nd_byte_array[0][(int)0xed]=AL;
//cmd_2nd_byte_array[1][(int)0xed]=AH;
//num_cmd_array[0xed]=1;
//3 byte 0xfd call    AL  AH  
//cmd_1st_byte_array_small[(int)0xfd]="call";
//cmd_2nd_byte_array[0][(int)0xfd]=AL;
//cmd_2nd_byte_array[1][(int)0xfd]=AH;
////num_cmd_array[0xfd]=1;
//#endif
 
 */


Вернуться к обсуждению:
Доработка дизассемблера 8080A Микропроцессоры
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2019, 17:01
Готовые ответы и решения:

добрался до дизассемблера - как считать такты?
собственно, хочу оценить количество тактов, за которое выполняется мое прерывание. сделал (сдуру)...

Поиск дизассемблера
Добрый день. Есть 2 *.exe файла. OllyDbg открывает с ошибкой. Программы написаны в C++ Builder...

Защита от дизассемблера
Привет киберфорум! Есть ли какая - то реально работающая защита от дизассемблера в современном...

Исходники дизассемблера
Народ! Кому попадались исходники простенького современного дизассемблера на c++? Для создания...

Защита программы от дизассемблера и отладчика
Всем привет! Имеется небольшая простенькая программа на С++. Необходимо реализовать еще в ней...

29
20.12.2019, 17:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2019, 17:01
Помогаю со студенческими работами здесь

код на Си надо сделать результат работы дизассемблера в составе отладчика
Есть код Сортировка массива по возрастанию (метод пузырька) На Си , а как Откомпилировать в VS,...

Доработка БП
Добрый день. Я не силен в импульсных источниках питания, так что решил спросить совет у знающих...

Доработка БД
Добрый день, господа профессионалы. В общем накосячил я с БД и теперь что-то не знаю, как это...

Доработка
Всем привет.Ребят,у меня такой наверное глуповатый вопрос.Например есть программа которую надо...

Доработка БД
Помогите с доработкой БД в Access. Создал БД. Преподаватель вернул на доработку со следующими...

Доработка АС
Недавно прикупил небольшие активные колоночки 2.0 для компа SVEN SPS-610, выбирал по дизайну, т.к....

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru