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

📄 mips lab environment reference.mht

📁 mipsit是一个mips的虚拟机。可以用来了解mips的体系结构
💻 MHT
📖 第 1 页 / 共 5 页
字号:
    <TD vAlign=3Dtop><FONT =
size=3D-1><CODE>0xA0000000-<BR>0xA00BFFFF</CODE>=20
    </FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>1MB SRAM Uncached, same physical =
memory as=20
      <CODE>0x80000000-0x800BFFFF</CODE> </FONT></TD></TR>
  <TR>
    <TD><BR>
    <TD></TD>
  <TR>
    <TD vAlign=3Dtop><FONT =
size=3D-1><CODE>0x80400000-<BR>0x807FFFFF</CODE>=20
    </FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>4MB DRAM </FONT></TD></TR>
  <TR>
    <TD><BR>
    <TD></TD>
  <TR>
    <TD vAlign=3Dtop><FONT =
size=3D-1><CODE>0xA0400000-<BR>0xA07FFFFF</CODE>=20
    </FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>4MB DRAM Uncached, same physical =
memory as=20
      <CODE>0x80400000-0x807FFFFF</CODE> </FONT></TD></TR>
  <TR>
    <TD><BR>
    <TD></TD>
  <TR>
    <TD vAlign=3Dtop><FONT size=3D-1><CODE>0x80020000</CODE> =
</FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>Default start address =
</FONT></TD></TR>
  <TR>
    <TD><BR>
    <TD></TD>
  <TR>
    <TD vAlign=3Dtop><FONT size=3D-1><CODE>0xBF900000</CODE> =
</FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>8-bit I/O </FONT></TD></TR>
  <TR>
    <TD><BR>
    <TD></TD>
  <TR>
    <TD vAlign=3Dtop><FONT size=3D-1><CODE>0xBFA00000</CODE> =
</FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>Interrupt I/O (8-bit) =
<BR><BR>Bit:<BR>0 =A8C=20
      K2 (input only)<BR>1 =A8C K1 (input only)<BR>2 =A8C Timer (input =
only)<BR>3 =A8C=20
      N/A (undefined value)<BR>4 =A8C K2 latched<BR>5 =A8C K1 =
latched<BR>6 =A8C Timer=20
      latched<BR>7 =A8C N/A (undefined value)<BR><BR>To acknowledge an =
interrupt=20
      you have to write to <CODE>0xBFA00000</CODE>. The actual value =
written is=20
      ignored, it is the write operation that will reset the state.=20
</FONT></TD></TR>
  <TR>
    <TD><BR>
    <TD></TD>
  <TR>
    <TD vAlign=3Dtop><FONT size=3D-1><CODE>0xBFB00000</CODE> =
</FONT></TD>
    <TD>&nbsp;</TD>
    <TD vAlign=3Dbottom><FONT size=3D-1>16-bit I/O =
</FONT></TD></TR></TBODY></TABLE>
<H2>PROM Monitor Routines</H2>The monitor has a collection of routines =
that may=20
come in handy. Arguments to functions are placed in registers a0 to a3, =
if a=20
function has more than four arguments they are placed on the stack. =
Return=20
values are placed in register v0. <BR><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>printf</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Formatted print to=20
standard output (the console).=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 format string =
</FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a1..a3 </FONT></TD>
          <TD><FONT size=3D-1>- arguments 1..3 </FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>(sp+<I>n</I>) </FONT></TD>
          <TD><FONT size=3D-1>- arguments 4..<I>n</I>=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 noWrap><FONT face=3DArial size=3D-1><I>Switches:</I></FONT></TD>
    <TD></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1>Linking a argument to the text is accompliced by =

      inserting a %-sign followed by a character signifying the desired =
formate=20
      of the argument.</FONT></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1>Example of possible switches:</FONT></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1>d- argument is formated to a decimal =
string</FONT></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1>s- argument is interpreted as an address to an=20
      string.</FONT></TD></TR>
  <TR>
    <TD></TD>
    <TD><FONT size=3D-1>f- argument is formated to a float=20
    string</FONT></TD></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>string1:
.asciiz	"Number %d of %d"

...

la	a0, string1
li	a1, 12345
li	a2, 67890
jal	printf
</PRE>Will print the string "Number 12345 of 67890" to standard output.=20
      </FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>putchar</B></CODE> </TD></TR></TBODY></TABLE><BR>Print =
a character=20
to standard output (the console).=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>- character =
</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>li	a0, =A1=AFA=A1=AF
jal	putchar
</PRE>Will print character A on standard output.=20
</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>getchar</B></CODE> </TD></TR></TBODY></TABLE><BR>Get a =
character=20
from standard input (the keyboard).=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><FONT size=3D-1><I>none</I></FONT> </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>- character =
</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><I>none</I> =
</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>puts</B></CODE> </TD></TR></TBODY></TABLE><BR>Print a=20
null-terminated string to standard output (the console).=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><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>string1:
.asciiz	"MIPS is fun!"

...

la	a0, string1
jal	puts
</PRE>Will print the string "MIPS is fun!" to standard output.=20
  </FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE><B>gets</B></CODE> </TD></TR></TBODY></TABLE><BR>Get a =
string from=20
standard input (the keyboard).=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>- address to 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:
.space	128

...

la	a0, string1
jal	gets
</PRE></FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellPadding=3D0 width=3D"100%" bgColor=3D#e0e0e0 border=3D0>
  <TBODY>
  <TR>
    <TD><CODE>prom<B>atob</B></CODE> =
</TD></TR></TBODY></TABLE><BR>Convert a=20
null-terminated string to integer.=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 </FONT></TD></TR>
        <TR>
          <TD><FONT size=3D-1>a1 </FONT></TD>

⌨️ 快捷键说明

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