|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-source)
Author |
Message |
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Если это компилятор для БК0011, то не оффтоп.
|
09 Jan 2017 22:26 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Новая порция багов
Баг 6
в листинге для PDP11 адреса почему то всё-равно идут в hex.
(Это кстати для совместимости с эмулятором b2m)
Баг 7
trap nn - ставит код 1137nn ( вместо 1044nn)
Баг 8
bitmap max 252*200
Баг 9
при make_binary_file "name" листинг не формируется, а не всегда надо make_bk0010_rom "name"
|
10 Jan 2017 07:35 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
А на БК можно банками щёлкать?
|
10 Jan 2017 08:14 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
|
10 Jan 2017 08:35 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
ну круто чо
|
10 Jan 2017 10:39 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
А где бы найти готовые математические функции для PDP11 (БК0010)
Умножение, деление int16, uint16, float, double Ну и весь math.h для float, double
Должно же быть где то готовое.
|
12 Jan 2017 04:15 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
Гугл PDP11 math algorithm или что-то типа этого не помогают? Я могу порыться в своих PDP-шных бумажных книжках...
|
12 Jan 2017 08:08 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Стопроцентно софт для PDP11 есть вкупе с её имеющимися эмуляторами. К сожалению, у меня сейчас это тематика в архиве.
_________________ iLavr
|
12 Jan 2017 08:15 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Ну а зачем тогда форум нужен? Я в первых строках не нашел. Да и брать первое попавшееся не хорошо. Сколько раз я не находил алгоритмы, например архивации, шифрования, рисования и т.п., спустя некотрое время на форумах мне говорили - вот же в 3 раза более быстрый алгоритм! Да не. Я думал у кого то эти алгоритмы на диске лежат. Он ими 20 лет подряд пользовался.
|
12 Jan 2017 14:08 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Выгрузил первый релиз компилятора Си. Пока в нем многое не прикручено. Оно готово, только не прикручено. Макросы, глобальные переменые и т.п. Скомпилировал простую демо для БК. Экран неспешно инвертируется XOR-ом свеху-вниз и наоборот. Код тут: | | | | Code: 0001 0000 org 1000h 0002 1000 entry: 0003 1000 012706 010000 MOV #1000h, SP 0004 1004 000410 BR MAIN 0057 1006 test: 0057 1006 162706 000002 sub #2, SP 0057 100A //9 int a = b; 0057 100A 016666 000000 000002 mov 0(SP), 2(SP) 0057 1010 062706 000002 add #2, SP 0057 1014 000207 ret 0057 1016 main: 0057 1016 162706 000006 sub #6, SP 0057 101A //14 int16_t o = 1; 0057 101A 012766 000001 000002 mov #1, 2(SP) 0057 1020 //15 o = o-o; 0057 1020 016600 000002 mov 2(SP), R0 0057 1024 166600 000002 sub 2(SP), R0 0057 1028 010066 000002 mov R0, 2(SP) 0057 102C //17 test(1); 0057 102C 012746 000001 mov #1, -(SP) 0057 1030 004727 010006 jsr PC, #4102 0057 1034 062706 000002 add #2, SP 0057 1038 //18 for(;;) 0057 1038 //19 { 0057 1038 012766 040000 000004 mov #16384, 4(SP) 0057 103E //21 do 0057 103E //22 { 0057 103E 005066 000006 clr 6(SP) 0057 1042 //24 do { 0057 1042 //24 do { 0057 1042 017600 000004 mov @4(SP), R0 0057 1046 012704 125252 mov #43690, R4 0057 104A 074400 xor R4, R0 0057 104C 010076 000004 mov R0, @4(SP) 0057 1050 //26 a++; 0057 1050 062766 000002 000004 add #2, 4(SP) 0057 1056 //27 x++; 0057 1056 005266 000006 inc 6(SP) 0057 105A //28 } while(x < 32); 0057 105A 022766 000040 000006 cmp #32, 6(SP) 0057 1060 101360 bhi 01042h 0057 1062 //29 do { 0057 1062 //29 do { 0057 1062 017600 000004 mov @4(SP), R0 0057 1066 012704 052525 mov #21845, R4 0057 106A 074400 xor R4, R0 0057 106C 010076 000004 mov R0, @4(SP) 0057 1070 //31 a++; 0057 1070 062766 000002 000004 add #2, 4(SP) 0057 1076 //32 x++; 0057 1076 005266 000006 inc 6(SP) 0057 107A //33 } while(x < 64); 0057 107A 022766 000100 000006 cmp #64, 6(SP) 0057 1080 101360 bhi 01062h 0057 1082 //35 while(a < (uint16_t*)0x8000); 0057 1082 022766 100000 000004 cmp #32768, 4(SP) 0057 1088 101332 bhi 0103Eh 0057 108A //37 a = (uint16_t*)0x8000; 0057 108A 012766 100000 000004 mov #32768, 4(SP) 0057 1090 //38 do 0057 1090 //39 { 0057 1090 005066 000006 clr 6(SP) 0057 1094 //41 do { 0057 1094 //41 do { 0057 1094 162766 000002 000004 sub #2, 4(SP) 0057 109A //43 *a ^= 0xAAAA; 0057 109A 017600 000004 mov @4(SP), R0 0057 109E 012704 125252 mov #43690, R4 0057 10A2 074400 xor R4, R0 0057 10A4 010076 000004 mov R0, @4(SP) 0057 10A8 //44 x++; 0057 10A8 005266 000006 inc 6(SP) 0057 10AC //45 } while(x < 32); 0057 10AC 022766 000040 000006 cmp #32, 6(SP) 0057 10B2 101360 bhi 01094h 0057 10B4 //46 do { 0057 10B4 //46 do { 0057 10B4 162766 000002 000004 sub #2, 4(SP) 0057 10BA //48 *a ^= 0x5555; 0057 10BA 017600 000004 mov @4(SP), R0 0057 10BE 012704 052525 mov #21845, R4 0057 10C2 074400 xor R4, R0 0057 10C4 010076 000004 mov R0, @4(SP) 0057 10C8 //49 x++; 0057 10C8 005266 000006 inc 6(SP) 0057 10CC //50 } while(x < 64); 0057 10CC 022766 000100 000006 cmp #64, 6(SP) 0057 10D2 101360 bhi 010B4h 0057 10D4 //52 while(a > (uint16_t*)0x4000); 0057 10D4 022766 040000 000004 cmp #16384, 4(SP) 0057 10DA 103732 blo 01090h 0057 10DC 000655 br 01038h 0057 10DE 062706 000006 add #6, SP 0057 10E2 000207 ret 0058 10E4
| | | | |
|
12 Jan 2017 14:14 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Для отладки компилятора нужно разработать какую нибудь простую игру. Поэтому возникло два вопроса: 1) УКНЦ или БК0010 2) Какую простую игру выбрать?
|
16 Jan 2017 03:05 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22625 Location: Silicon Valley
|
Я голосую за БК
|
16 Jan 2017 06:35 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Простую игру? Например "Десятка". Игровой алгоритм, по сути, сводится к созданию массива из не зачёркнутых значений, ну, может быть факультативно - к подсказкам. "Если кто не помнит со студенческой скамьи" Начальный расклад: 123456789 111213141 516171819 P.S. Если кто совсем не знаком, то отпишитесь, попробую изложить суть более подробно.
|
16 Jan 2017 06:46 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Я думаю может что то типа И тут УКНЦ с большим кол-вом цветов с двумя процессорами на вдвое большей скорости будут чуть более уместны. Но с другой стороны на УКНЦ я еще ничего не писал. Или такое
|
16 Jan 2017 06:58 |
|
|
alemorf
Senior
Joined: 03 Jan 2017 08:58 Posts: 135 Location: SPb
|
Или SD карту припаять?
За одно с STM32 разберусь. Я два года назад закупился ими, но так и не прикоснулся.
|
16 Jan 2017 11:53 |
|
|
Who is online |
Users browsing this forum: No registered users and 88 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|