Нет, это моя проблема. Учту, но пока не могу обещать быстро исправить. Советую до тех пор вставлять пробелы хексами.
Нет, это моя проблема. Учту, но пока не могу обещать быстро исправить. Советую до тех пор вставлять пробелы хексами.
Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
artyr_n, можно мне на этот test.asm посмотреть? Дело не в размере. Что-то с метками не так, как ожидалось, и ситуация не обрабатывается.
Больше игр нет
Отправил в личку.
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
Залил исправленный вариант, дело было в метках. Но на пробелы пока не смотрел.
Больше игр нет
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
Ещё одна непонятка. В питоновской версии появляется лабел 2400 +4, в онлайновской такого нет.
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
Еще баг или фича в питоновской версии
66 - это код маленькой fКод:08A7 3E 66 mvi a,'F' 08A9 01 07 C0 lxi b,$C007 08AC CD FA 08 call print_simA 08B7 3E 68 mvi a,'H' 08B9 01 07 C3 lxi b,$C307 08BC CD FA 08 call print_simA
68 - это код маленькой h
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
Код:artyr2@suxoy:~/Загрузки/Vector/CART/my_prog/prettyasm$ ./pasm.py keyscan_test.asm Traceback (most recent call last): File "./pasm.py", line 1004, in <module> main(sys.argv[1:]) File "./pasm.py", line 987, in main jsons() + File "./pasm.py", line 870, in assemble size = parseInstruction(encodedLine, addr, line, regUsage) File "./pasm.py", line 721, in parseInstruction size = evaluateExpression(' '.join(parts[1:]), addr) NameError: global name 'evaluateExpression' is not definedонлайновский транслирует эту программуКод:; 8080 assembler code .hexfile keyscan_test.hex .binfile keyscan_test.r0m ; try "hex" for downloading in hex format .download bin .objcopy objcopy .postbuild echo "Gotovo!" ;.nodump .org $0 jmp start .org $38 RST7: jmp INTRPT .org $100 STKEY: db 01000010b ;статус клавиатуры NEWKEY: ds 9 OLDKEY: ds 9 KEYBUF: ds 16 RPTKEY: db 13 INTRPT: push h push d push b push psw lxi h,STKEY mov a,m xri 10000b mov m,a ani 10000b ;scan or code? jz KEYWRK in 3 sta SCRL+1 mvi a,8Ah out 0 mov a,m out 1 mov c,a inx h in 1 ori 11111b mov m,a mvi b,11111110b int1: mov a,b out 3 rlc mov b,a in 2 inx h mov m,a jc int1 mvi a,88h out 0 mov a,c out 1 mvi a,0 ;10000b out 2 SCRL: mvi a,0 ;dummy out 3 intf: pop psw pop b pop d pop h ei ret KEYWRK: lxi h,intf push h lxi h,0A6AEh ;'xra m, ana m shld PRESS7 ;@PRESS ;seach for new pressed keys call PRESS6 ;PRESS? rnz lxi h,RPTKEY dcr m rnz inr m lxi h,0B72Fh ;'cma, ora a shld PRESS7 ;@PRESS jmp pres5 PRESS6: lxi h,OLDKEY+8 lxi d,NEWKEY+8 mvi b,9 pres1: ldax d cmp m dcx h dcx d jnz pres2 dcr b jnz pres1 MSXOB: lxi h,0 mov a,l sub h rat pres2: mvi a,13 sta RPTKEY pop h ;-1 ret pres5: lxi h,OLDKEY+8 lxi d,NEWKEY+8 mvi c,64 pres3: ldax d mov b,a PRESS7: nop ;ana m cma nop ;xra m ora a mov m,b jz nokey ;поиск бита push h push d push b mvi b,8 kcod1: dcr c rlc cc putbuf dcr b jnz kcod1 pop b pop d pop h nokey: dcx h dcx d mov a,c sui 8 mov c,a jnz pres3 ;else mode keys ldax d cmp m rz mov m,a dcx d cpi 10011111b ;US+SS? mvi b,00100000b ;CAPS switch jz ccod1 cpi 01011111b ;RUS+SS? mvi b,01000000b ;QWER/JCUK switch jz ccod1 ani 10000000b ;RUS? rnz mvi b,10001000b ;Rus & lamp switch ccod1: ldax d xra b stax d rat putbuf: push psw ;push or don't modify BC! lxi h,KBUF push h mov a,c cpi 63 ;space? mvi a,32 rz ;... ... etc. mov a,c cpi 11h ;1 mvi a,33 rz mov a,c cpi 07h ;DOWN mvi a,07h rz mov a,c cpi 05h ;UP mvi a,05h rz KBUF: mov e,a lhld MSXOB+1 ;Загрузить в HL содержимое ячейки с адресом a16 mov a,l inr a ;инкрементировать A ani 15 ;Логическое И непосредственные данные с A cmp h ;Сравнить A с H jz kbuf1 sta MSXOB+1 ;Записать A по адресу a16 mvi a,1 out 0 mov a,l lxi h,KEYBUF add l mov l,a jnc adhla inr h adhla: xra a out 0 mov m,e kbuf1: pop psw rat start: ei cicl: nop jmp cicl
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
Код:A38SC2: STA DRS1+1 STA DRS2 + 1Код:0234 32 ?? ?? A38SC2: STA DRS1+1 0237 32 03 03 STA DRS2 + 1Код:A38SC2: STA DRS1 + 1 STA DRS2 + 1на питоне не понимает если нет пробелов, он лайновый транслирует правильно и без пробеловКод:0234 32 EC 02 A38SC2: STA DRS1 + 1 0237 32 03 03 STA DRS2 + 1
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
artyr_n, посмотрю вскоре.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)