File:low.s - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 用于 设置 内存低地址空间
- 设置情况如图
0501
0502 br4 = 200
0503 br5 = 240
0504 br6 = 300
0505 br7 = 340
0506
0507 . = 0^.
0508 br 1f
0509 4
0510
0511 / trap vectors
0512 trap; br7+0. / bus error
0513 trap; br7+1. / illegal instruction
0514 trap; br7+2. / bpt-trace trap
0515 trap; br7+3. / iot trap
0516 trap; br7+4. / power fail
0517 trap; br7+5. / emulator trap
0518 trap; br7+6. / system entry
0519
0520 . = 40^.
0521 .globl start, dump
0522 1: jmp start
0523 jmp dump
0524
0525 . = 60^.
0526 klin; br4
0527 klou; br4
0528
0529 . = 70^.
0530 pcin; br4
0531 pcou; br4
0532
0533 . = 100^.
0534 kwlp; br6
0535 kwlp; br6
0536
0537 . = 114^.
0538 trap; br7+7. / 11/70 parity
0539
0540 . = 200^.
0541 lpou; br4
0542
0543 . = 220^.
0544 rkio; br5
0545
0546 . = 240^.
0547 trap; br7+7. / programmed interrupt
0548 trap; br7+8. / flotaing point
0549 trap; br7+9. / segmentation violation
0550
0551 /////////////////////////////////////////////////////////
0552 / interface code to C
0553 /////////////////////////////////////////////////////////
0554
0555 .globl call, trap
- 以下为设备中断入口
- 使用了 技巧 r0传递函数
0556
0557 .globl _klrint
0558 klin: jsr r0,call; _klrint
0559
0560 .globl _klxint
0561 klou: jsr r0,call; _klxint
0562
0563 .globl _pcrint
0564 pcin: jsr r0,call; _pcrint
0565
0566 .globl _pcpint
0567 pcou: jsr r0,call; _pcpint
0568
0569 .globl _clock
0570 kwlp: jsr r0,call; _clock
0571
0572
0573 .globl _lpint
0574 lpou: jsr r0,call; _lpint
0575
0576 .globl _rkintr
0577 rkio: jsr r0,call; _rkintr
0578
0579
0580
0581
0582
0583
0584
0585
0586
0587
0588
0589
0590
0591
0592
0593
0594
0595
0596
0597
0598
0599