PDP11 портирование с Z80: различия между версиями
Panther (обсуждение | вклад) (категория) |
Nzeemin (обсуждение | вклад) Нет описания правки |
||
Строка 15: | Строка 15: | ||
Типичные команды: | Типичные команды: | ||
<pre> | <pre> | ||
JP addr JMP addr | |||
JR addr BR addr / JMP addr | JR addr BR addr / JMP addr | ||
JR C, addr BLO addr | JR C, addr BLO addr | ||
Строка 25: | Строка 27: | ||
SRL xx ASR xx | SRL xx ASR xx | ||
PUSH rr MOV rr,-(SP) | PUSH rr MOV rr, -(SP) | ||
POP rr MOV (SP)+,rr | POP rr MOV (SP)+, rr | ||
RET RETURN | |||
</pre> | |||
Проверка бит: | |||
<pre> | |||
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 | |||
</pre> | |||
DJNZ: | |||
<pre> | |||
1$: | |||
... | |||
SOB R1, 1$ | |||
</pre> | </pre> | ||
Версия от 13:17, 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 ; A1A9 EX DE,HL MOV R2, R3 MOV R5, R2