diff Changes @ 377:b23568be1155

ARM continue (const table)
author kono
date Tue, 13 Jul 2004 21:43:58 +0900 (2004-07-13)
parents d81e1be4036f
children b3c6c479c522
line wrap: on
line diff
--- a/Changes	Mon Jul 12 12:37:18 2004 +0900
+++ b/Changes	Tue Jul 13 21:43:58 2004 +0900
@@ -5772,12 +5772,74 @@
 �Ȥ���Τϡ�PowerPC �Ǥ��ѹ����礭�����롣�쥸���������֤�����
 ���ɤ��狼��ʤ�����
 
-�⤷�����ơ�register save �ΰ�ϸ���?!
+�⤷�����ơ�register save �ΰ�ϸ���?! 
+
 
 Mon Jul 12 05:35:33 JST 2004
 
 �����󡢤�äѤꡢ�񤷤����... ���Τ���printf �� local variable
 ������Ƥ��ޤ���
 
+register save �ΰ�ϸ���ʤ櫓����ʤ��������ǽ餫����ľ���ơ�
+
+ function call stack frame
+                      <-------r1_offset------------------------------>
+                                      <------------lvar_offset0------>
+                      <--lvar_offset-->
+ r+  +------------+---+---------------+----------+--------------+----+    -
+      callee arg   xx   register save   local      caller arg     xx
+                          reg_save      disp       max_func_args*SIZE_OF_INT
+        lvar>0                         lvar<0       lvar>0x1000 0000
+
+�Ȥ������Ȥˤʤ�ޤ�����frame ������ΤȤ�������̵����32bit add
+�ˤʤä��������ʤ��ʡ�������ȡ�callee arg �����ꥪ�ե��åȤˤʤ餶��
+�����ʤ���reg_save ���Ǹ�ޤǷ�ޤ�ʤ����顣
+
 �Ϥ������ѤʤΤ�PowerPC�����ǡ�MIPS��ia32 �ϡ����Τޤ�ư���Ȥ����Τ�
 �狼��ޤ�����
+
+Mon Jul 12 12:54:14 JST 2004
+
+������ɡ�MIPS�� $fp ������祪�ե��åȤˤ���Τ϶�ϫ�����͡�
+  .frame $fp ����ʤ��ơ� .frame $sp �ˤ����ư���Τ���
+���ȡ�goto ��Ϣ�ϡ�
+    code_environment
+    code_fix_frame_pointer
+    leave
+�λ��Ĥ�ľ���ʤ��Ȥ���ʤΤ͡�
+
+�����ѹ��ϡ�ARM�Υ��ե��åȷ׻�����ꥪ�ե��åȤǹԤ������
+��äƤ��������ɡ�ARM�Υ쥸���������֤�����ΰ�ˤ���С�
+���뤤�ϡ��ɤ������ɤ����С�callee arg ��ޤ�Ƹ���˽���
+��Ϥ���
+
+
+�ʤ���ư�������쥸������ f4 �����ߤ����͡�
+
+	    mov	ip, sp
+	    stmfd	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
+	    sub     fp, ip, #4
+	    sub     sp, sp, #12
+    .L3:
+	    ldmea	fp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
+    .Lfe1:
+
+�ޤ�ǡ�6809 �� PSHS X,Y,D ���͡�PULS X,PC �Ȥ���
+
+�ʤ�����ɡ�������ȡ�
+
+                      <-------r1_offset------------------------------>
+                                      <------------lvar_offset0------>
+                      <--lvar_offset-->
+ r+  +------------+---+---------------+----------+--------------+----+    -
+      callee arg   xx   register save   local      caller arg     xx
+                          reg_save      disp       max_func_args*SIZE_OF_INT
+        lvar>0                         lvar<0       lvar>0x1000 0000
+
+�ˤʤ餶������ʤ����Ȥʤ�ȡ��ɤä����ϡ����ꥪ�ե��åȤ��ʡ�
+�ޡ�callee ¦�Ǥ��礦���ޡ�����˽����������뤤�ϡ��ݥ���
+�ǻؤ��Ƥ⤤�������͡��Ƥ�������reg_save �˴ؤ�餺��ޤä��ΰ�
+��Ȥä��㤨�Ф����󤸤�ʤ�? �礷���̤���ʤ�������ư������
+�쥸�������Ĥ����͡�
+
+�⤦���������ꤽ�����͡�