PDP11 портирование с Z80
Этот документ создан для 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