code:clearseg - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 将 内存 第i块 64字节 置零
- 输入一个参数 i
0674 /* ------------------------- */
0675 .globl _clearseg
0676 _clearseg:
0677 mov PS,-(sp)
0678 mov UISA0,-(sp)
0679 mov $30340,PS
- PS UISA0 保护入栈
- UISD0 将在0681 保护入栈
- 以上 将在0689 还原
0680 mov 6(sp),UISA0
- 置 PS
- 处理机优先级 置 7,关中断
- 先前态 置 用户态
- 当前态 置 核心态
0681 mov UISD0,-(sp)
- UISA0 ← i
0682 mov $6,UISD0
0683 clr r0
- UISD0 ← 6
- 置段 为 可读写
0684 mov $32.,r1
0685 1:
0686 clr -(sp)
0687 mtpi (r0)+
0688 sob r1,1b
0689 mov (sp)+,UISD0
- 将 第i块64字节置零
0690 mov (sp)+,UISA0
0691 mov (sp)+,PS
0692 rts pc
0693