PDP11 портирование с Z80: различия между версиями
Nzeemin (обсуждение | вклад) Нет описания правки |
Nzeemin (обсуждение | вклад) Нет описания правки |
||
Строка 60: | Строка 60: | ||
SOB R1, 1$ | SOB R1, 1$ | ||
</pre> | </pre> | ||
EX DE,HL -- через регистр R5, который обычно не занят: | EX DE,HL -- через регистр R5, который обычно не занят: | ||
<pre> | <pre> | ||
MOV R3, R5 | MOV R3, R5 | ||
MOV R2, R3 | MOV R2, R3 | ||
MOV R5, R2 | MOV R5, R2 | ||
</pre> | |||
EX DE,HL -- тремя XOR: | |||
<pre> | |||
XOR R3, R2 | |||
XOR R2, R3 | |||
XOR R3, R2 | |||
</pre> | </pre> | ||
[[Категория:PDP-11 совместимые]] | [[Категория:PDP-11 совместимые]] |
Версия от 15:14, 30 марта 2024
Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0. |
Маппинг регистров и команд при портировании с процессора Z80 на PDP-11.
Маппинг регистров:
A R0 BC R1 DE R2 HL R3 IX R4 IY R5
Типичные команды:
JP addr JMP addr JR addr BR addr / JMP addr JR C, addr BLO addr JR NC, addr BHIS addr JR Z, addr BEQ addr JR NZ, addr BNE addr CP $xx CMP R0, #xx / CMPB R0, #xx SRL xx ASR xx PUSH rr MOV rr, -(SP) POP rr MOV (SP)+, rr RET RETURN
Проверка бит:
BIT 0,A BIT #1, R0 BIT 1,A BIT #2, R0 BIT 2,A BIT #4, R0 BIT 3,A BIT #8., R0 BIT 4,A BIT #16., R0 BIT 5,A BIT #32., R0 BIT 6,A BIT #64., R0 BIT 7,A BIT #128., R0
DJNZ:
1$: ... SOB R1, 1$
LDIR:
MOV #LDB05, R3 ; 97DF LD HL,$DB05 MOV #LEB00, R2 ; 97E2 LD DE,$EB00 MOV #4096., R1 ; 97E5 LD BC,$1000 1$: MOVB (R3)+, (R2)+ ; 97E8 LDIR SOB R1, 1$
EX DE,HL -- через регистр R5, который обычно не занят:
MOV R3, R5 MOV R2, R3 MOV R5, R2
EX DE,HL -- тремя XOR:
XOR R3, R2 XOR R2, R3 XOR R3, R2