⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mips lab environment reference.mht

📁 mipsit是一个mips的虚拟机。可以用来了解mips的体系结构
💻 MHT
📖 第 1 页 / 共 5 页
字号:
          <TD><FONT size=3D-1>- address to integer </FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a2 </FONT></TD>
          <TD><FONT size=3D-1>- radix 8, 10 or 16 </FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a3 </FONT></TD>
          <TD><FONT size=3D-1>- segment 0x0, 0x80000000, 0xA0000000 or=20
            0xC0000000 </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD noWrap><FONT face=3DArial size=3D-1><I>Return =
value:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>v0 </FONT></TD>
          <TD><FONT size=3D-1>- address to string where conversion =
stopped=20
            </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD><FONT face=3DArial size=3D-1><I>Example:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><PRE>string1:
.asciiz	"12345"

.align	4
integer1:
.word

...

la	a0, string1
la	a1, integer1
li	a2, 10
li	a3, 0
jal	promatob
</PRE>The word at <CODE>integer1</CODE> will have the value 12345.=20
    </FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE>prom<B>strcmp</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Compare two=20
null-terminated strings.=20
<TABLE cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD noWrap><FONT face=3DArial =
size=3D-1><I>Argument(s):</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>a0 </FONT></TD>
          <TD><FONT size=3D-1>- address to string 1 (s) =
</FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a1 </FONT></TD>
          <TD><FONT size=3D-1>- address to string 2 (t)=20
      </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD noWrap><FONT face=3DArial size=3D-1><I>Return =
value:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>v0 </FONT></TD>
          <TD><FONT size=3D-1>- result =A8C&lt;0 if s&lt;t, &gt;0 if =
s&gt;t, 0 if=20
            s=3Dt </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD><FONT face=3DArial size=3D-1><I>Example:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><PRE>string1:
.asciiz	"I'm bigger than you are"

string2:
.asciiz	"No, you aren't!"

...

la	a0, string1
la	a1, string2
jal	promstrcmp
</PRE>Register v0 will have a value less than zero.=20
</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE>prom<B>strlen</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Determine the=20
number of characters in a null-terminated string.=20
<TABLE cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD noWrap><FONT face=3DArial =
size=3D-1><I>Argument(s):</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>a0 </FONT></TD>
          <TD><FONT size=3D-1>- address to string=20
  </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD noWrap><FONT face=3DArial size=3D-1><I>Return =
value:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>v0 </FONT></TD>
          <TD><FONT size=3D-1>- length of the string=20
    </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD><FONT face=3DArial size=3D-1><I>Example:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><PRE>string1:
.asciiz	"How long am I?"

...

la	a0, string1
jal	promstrlen
</PRE>Register v0 will be 14. </FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE>prom<B>strcpy</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Copy one=20
null-terminated string to another.=20
<TABLE cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD noWrap><FONT face=3DArial =
size=3D-1><I>Argument(s):</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>a0 </FONT></TD>
          <TD><FONT size=3D-1>- address to destination string =
</FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a1 </FONT></TD>
          <TD><FONT size=3D-1>- address to source string=20
      </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD noWrap><FONT face=3DArial size=3D-1><I>Return =
value:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>v0 </FONT></TD>
          <TD><FONT size=3D-1>- address to destination string=20
        </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD><FONT face=3DArial size=3D-1><I>Example:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><PRE>src_string:
.asciiz	"Copy me please!"

dst_string:
.space	32

...

la	a0, dst_string
la	a1, src_string
jal	promstrcpy
</PRE>The memory at <CODE>dst_string</CODE> will contain the=20
      null-terminated string "Copy me please!".=20
</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE>prom<B>strcat</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Concatenate two=20
null-terminated strings.=20
<TABLE cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD noWrap><FONT face=3DArial =
size=3D-1><I>Argument(s):</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>a0 </FONT></TD>
          <TD><FONT size=3D-1>- address to destination string (s) =
</FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a1 </FONT></TD>
          <TD><FONT size=3D-1>- address to source string (t)=20
        </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD noWrap><FONT face=3DArial size=3D-1><I>Return =
value:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>v0 </FONT></TD>
          <TD><FONT size=3D-1>- address to destination string (s =3D s + =
t)=20
          </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD><FONT face=3DArial size=3D-1><I>Example:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><PRE>dst_string:
.asciiz	"hello"
.space	32

src_string:
.asciiz	" world"

...

la	a0, dst_string
la	a1, src_string
jal	promstrcat
</PRE>The memory at <CODE>dst_string</CODE> will contain the=20
      null-terminated string "hello world". =
</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>install_normal_int</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Install=20
user exception/interrupt handler. The interrupt handler should return =
non-zero=20
if it processed the interrupt, otherwise it should return zero. The =
return value=20
is set in register v0.=20
<TABLE cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD noWrap><FONT face=3DArial =
size=3D-1><I>Argument(s):</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>a0 </FONT></TD>
          <TD><FONT size=3D-1>- address to interrupt handler=20
        </FONT></TD></TR></TBODY></TABLE></TD></TR>
  <TR><BR></TR>
  <TR>
    <TD noWrap><FONT face=3DArial size=3D-1><I>Return =
value:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><I>none</I></FONT> </TD></TR>
  <TR><BR></TR>
  <TR>
    <TD><FONT face=3DArial size=3D-1><I>Example:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1><PRE>my_handler:
	# check if interrupt is NOT for me, if so return 0
li	v0, 0
j	ra
	# otherwise do something useful and return non-zero
	...
li	v0, 1
j	ra

...

la	a0, my_handler
jal	install_normal_int
</PRE></FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>fptodp</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Converts arguments=20
from single precision floating-point to double precision. Needs to be =
called=20
before passing a floating-point argument to printf.=20
<TABLE cellPadding=3D0 border=3D0>
  <TBODY>
  <TR>
    <TD noWrap><FONT face=3DArial =
size=3D-1><I>Argument(s):</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD>
      <TABLE cellPadding=3D0 border=3D0>
        <TBODY>
        <TR>
          <TD><FONT size=3D-1>a0 </FONT></TD>
          <TD><FONT size=3D-1>- floating-point argument=20

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -