提交 c175513a 创建 作者: 赵鹏翀's avatar 赵鹏翀

Initial commit

上级
*.cir
*.xml
*.bak
/.vs
\ No newline at end of file
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="1998" version="1.1" width="2148" xmlns="http://www.w3.org/2000/svg">
<polyline fill="none" points="1117 456, 1367 456, 1367 1656, 1117 1656" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 476, 1387 476, 1387 1676, 1117 1676" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 496, 1407 496, 1407 1696, 1117 1696" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 516, 1427 516, 1427 1716, 1117 1716" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 536, 1447 536, 1447 1736, 1117 1736" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 556, 1467 556, 1467 1756, 1117 1756" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 436, 1347 436, 1347 1636, 1117 1636" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 1616, 1327 1616, 1327 416, 1117 416" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 396, 1307 396, 1307 1596, 1117 1596" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 1576, 1287 1576, 1287 376, 1117 376" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 356, 1267 356, 1267 1556, 1117 1556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 1536, 1247 1536, 1247 336, 1117 336" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 576, 1487 576, 1487 1776, 1117 1776" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 1796, 1507 1796, 1507 596, 1117 596" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 616, 1527 616, 1527 1816, 1117 1816" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1117 1836, 1547 1836, 1547 636, 1117 636" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1247 336, 1767 336" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1267 356, 1767 356" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1287 376, 1767 376" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1307 396, 1767 396" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1327 416, 1767 416" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1347 436, 1767 436" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1367 456, 1767 456" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1387 476, 1767 476" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1407 496, 1767 496" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1427 516, 1767 516" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1447 536, 1767 536" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1467 556, 1767 556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1487 576, 1767 576" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1507 596, 1767 596" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1527 616, 1767 616" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1547 636, 1767 636" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="336" y2="286"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="356" y2="306"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="376" y2="326"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="396" y2="346"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="416" y2="366"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="436" y2="386"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="456" y2="406"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="476" y2="426"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="496" y2="446"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="516" y2="466"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="536" y2="486"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="556" y2="506"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="576" y2="526"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="596" y2="546"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="616" y2="566"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1767" x2="1817" y1="636" y2="586"/>
<polyline fill="none" points="867 336, 367 336" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 356, 367 356" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 376, 367 376" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 396, 367 396" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 416, 367 416" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 436, 367 436" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 456, 367 456" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 476, 367 476" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 496, 367 496" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 516, 367 516" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 536, 367 536" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 556, 367 556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 576, 367 576" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 596, 367 596" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 616, 367 616" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 636, 367 636" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1536, 367 1536" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1556, 367 1556" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1576, 367 1576" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1596, 367 1596" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1616, 367 1616" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1636, 367 1636" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1656, 367 1656" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1676, 367 1676" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1696, 367 1696" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1716, 367 1716" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1736, 367 1736" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1756, 367 1756" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1776, 367 1776" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1796, 377 1796, 367 1796" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1816, 367 1816" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="867 1836, 367 1836" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1886" y2="1836"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1866" y2="1816"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1846" y2="1796"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1826" y2="1776"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1806" y2="1756"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1786" y2="1736"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1766" y2="1716"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1746" y2="1696"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1726" y2="1676"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1706" y2="1656"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1686" y2="1636"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1666" y2="1616"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1646" y2="1596"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1626" y2="1576"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1606" y2="1556"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="1586" y2="1536"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="686" y2="636"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="666" y2="616"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="646" y2="596"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="626" y2="576"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="606" y2="556"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="586" y2="536"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="566" y2="516"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="546" y2="496"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="526" y2="476"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="506" y2="456"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="486" y2="436"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="466" y2="416"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="446" y2="396"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="426" y2="376"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="406" y2="356"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="317" x2="367" y1="386" y2="336"/>
<polygon fill="#ffff80" points="27 316, 27 291, 152 291, 177 316, 152 341, 27 341, 27 316" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="27" y="316">A[15..0]</text>
<polygon fill="#ffff80" points="27 1496, 27 1471, 152 1471, 177 1496, 152 1521, 27 1521, 27 1496" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="27" y="1496">B[15..0]</text>
<polygon fill="#ffff80" points="27 1046, 27 1021, 152 1021, 177 1046, 152 1071, 27 1071, 27 1046" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="27" y="1046">Select</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="767" x2="767" y1="986" y2="1046"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="767" x2="767" y1="906" y2="846"/>
<circle cx="767" cy="910" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="717 986, 817 986, 767 916, 717 986" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 731 966)" x="731" y="966">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 863 986)" x="863" y="986">NOT</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="336">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="356">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="376">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="396">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="416">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="436">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="456">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="476">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="496">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="516">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="536">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="556">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="576">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="596">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="616">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="636">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1536">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1556">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1576">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1596">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1616">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1636">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1656">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1676">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1696">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1716">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1736">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1756">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1776">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1796">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1816">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="467" y="1836">B15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1247" y="336">S0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1267" y="356">S1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1287" y="376">S2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1307" y="396">S3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1327" y="416">S4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1347" y="436">S5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1367" y="456">S6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1387" y="476">S7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1407" y="496">S8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1427" y="516">S9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1447" y="536">S10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1467" y="556">S11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1487" y="576">S12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1507" y="596">S13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1527" y="616">S14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1547" y="636">S15</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="17" y="1136">低电平有效,有效时,选择输出B</text>
<polyline fill="none" points="867 686, 767 686, 767 846" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="90" font-weight="700" text-anchor="start" x="617" y="126">2选1复用器模块</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="336" y2="336"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="336">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="356" y2="356"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="356">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="376" y2="376"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="376">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="396" y2="396"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="396">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="416" y2="416"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="416">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="436" y2="436"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="436">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="456" y2="456"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="456">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="476" y2="476"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="476">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="496" y2="496"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="496">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="516" y2="516"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="516">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="536" y2="536"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="536">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="556" y2="556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="556">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="576" y2="576"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="576">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="596" y2="596"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="596">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="616" y2="616"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="616">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="636" y2="636"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="636">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="336" y2="336"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="336">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="356" y2="356"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="356">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="376" y2="376"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="376">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="396" y2="396"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="396">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="416" y2="416"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="416">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="436" y2="436"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="436">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="456" y2="456"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="456">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="476" y2="476"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="476">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="496" y2="496"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="496">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="516" y2="516"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="516">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="536" y2="536"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="536">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="556" y2="556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="556">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="576" y2="576"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="576">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="596" y2="596"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="596">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="616" y2="616"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="616">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="636" y2="636"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="636">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="907" x2="867" y1="686" y2="686"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="686">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="917" y="306"/>
<circle cx="912" cy="686" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="977" y="296">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="877" y="776">BUS_TRANS16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1536" y2="1536"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1536">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1556" y2="1556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1556">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1576" y2="1576"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1576">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1596" y2="1596"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1596">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1616" y2="1616"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1616">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1636" y2="1636"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1636">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1656" y2="1656"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1656">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1676" y2="1676"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1676">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1696" y2="1696"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1696">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1716" y2="1716"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1716">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1736" y2="1736"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="1736">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1756" y2="1756"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="1756">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1776" y2="1776"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="1776">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1796" y2="1796"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="1796">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1816" y2="1816"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="1816">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="917" x2="867" y1="1836" y2="1836"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="970" y="1836">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1536" y2="1536"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1536">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1556" y2="1556"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1556">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1576" y2="1576"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1576">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1596" y2="1596"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1596">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1616" y2="1616"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1616">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1636" y2="1636"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1636">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1656" y2="1656"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1656">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1676" y2="1676"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1676">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1696" y2="1696"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1696">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1716" y2="1716"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1716">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1736" y2="1736"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1736">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1756" y2="1756"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1756">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1776" y2="1776"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1776">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1796" y2="1796"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1796">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1816" y2="1816"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1816">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1067" x2="1117" y1="1836" y2="1836"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1024" y="1836">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="907" x2="867" y1="1886" y2="1886"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="960" y="1886">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="917" y="1506"/>
<circle cx="912" cy="1886" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="977" y="1496">2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="877" y="1976">BUS_TRANS16</text>
<polyline fill="none" points="177 316, 317 316, 317 686" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="177 1496, 317 1496, 317 1886" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="177 1046, 767 1046, 767 1886, 867 1886" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1817 586, 1817 246, 1977 246" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="1977 246, 1977 221, 2102 221, 2127 246, 2102 271, 1977 271, 1977 246" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1977" y="246">S[15..0]</text>
<circle cx="1547" cy="636" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1527" cy="616" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1507" cy="596" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1487" cy="576" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1467" cy="556" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1447" cy="536" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1427" cy="516" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1407" cy="496" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1387" cy="476" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1367" cy="456" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1347" cy="436" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1327" cy="416" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1307" cy="396" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1287" cy="376" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1267" cy="356" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1247" cy="336" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="767" cy="1046" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2466" version="1.1" width="2281" xmlns="http://www.w3.org/2000/svg">
<polyline fill="none" points="1259 922, 1509 922, 1509 2122, 1259 2122" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 942, 1529 942, 1529 2142, 1259 2142" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 962, 1549 962, 1549 2162, 1259 2162" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 982, 1569 982, 1569 2182, 1259 2182" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1002, 1589 1002, 1589 2202, 1259 2202" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1022, 1609 1022, 1609 2222, 1259 2222" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 902, 1489 902, 1489 2102, 1259 2102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 2082, 1469 2082, 1469 882, 1259 882" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 862, 1449 862, 1449 2062, 1259 2062" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 2042, 1429 2042, 1429 842, 1259 842" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 822, 1409 822, 1409 2022, 1259 2022" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 2002, 1389 2002, 1389 802, 1259 802" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1042, 1629 1042, 1629 2242, 1259 2242" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 2262, 1649 2262, 1649 1062, 1259 1062" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1082, 1669 1082, 1669 2282, 1259 2282" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 2302, 1689 2302, 1689 1102, 1259 1102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1402, 1389 1402" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1422, 1409 1422" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1442, 1429 1442" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1462, 1449 1462" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1482, 1469 1482" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1502, 1489 1502" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1522, 1509 1522" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1542, 1529 1542" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1562, 1549 1562" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1582, 1569 1582" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1602, 1589 1602" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1622, 1609 1622" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1642, 1629 1642" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1662, 1649 1662" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1682, 1669 1682" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1259 1702, 1689 1702" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1389 802, 1909 802" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1409 822, 1909 822" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1429 842, 1909 842" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1449 862, 1909 862" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1469 882, 1909 882" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1489 902, 1909 902" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1509 922, 1909 922" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1529 942, 1909 942" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1549 962, 1909 962" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1569 982, 1909 982" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1589 1002, 1909 1002" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1609 1022, 1909 1022" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1629 1042, 1909 1042" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1649 1062, 1909 1062" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1669 1082, 1909 1082" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1689 1102, 1909 1102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="802" y2="752"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="822" y2="772"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="842" y2="792"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="862" y2="812"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="882" y2="832"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="902" y2="852"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="922" y2="872"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="942" y2="892"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="962" y2="912"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="982" y2="932"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="1002" y2="952"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="1022" y2="972"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="1042" y2="992"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="1062" y2="1012"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="1082" y2="1032"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1909" x2="1959" y1="1102" y2="1052"/>
<polyline fill="none" points="1009 802, 509 802" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 822, 509 822" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 842, 509 842" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 862, 509 862" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 882, 509 882" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 902, 509 902" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 922, 509 922" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 942, 509 942" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 962, 509 962" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 982, 509 982" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1002, 509 1002" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1022, 509 1022" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1042, 509 1042" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1062, 509 1062" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1082, 509 1082" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1102, 509 1102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1402, 509 1402" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1422, 509 1422" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1442, 509 1442" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1462, 509 1462" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1482, 509 1482" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1502, 509 1502" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1522, 509 1522" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1542, 509 1542" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1562, 509 1562" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1582, 509 1582" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1602, 509 1602" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1622, 509 1622" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1642, 509 1642" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1662, 509 1662" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1682, 509 1682" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 1702, 509 1702" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2002, 509 2002" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2022, 509 2022" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2042, 509 2042" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2062, 509 2062" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2082, 509 2082" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2102, 509 2102" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2122, 509 2122" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2142, 509 2142" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2162, 509 2162" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2182, 509 2182" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2202, 509 2202" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2222, 509 2222" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2242, 509 2242" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2262, 519 2262, 509 2262" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2282, 509 2282" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1009 2302, 509 2302" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2352" y2="2302"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2332" y2="2282"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2312" y2="2262"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2292" y2="2242"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2272" y2="2222"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2252" y2="2202"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2232" y2="2182"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2212" y2="2162"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2192" y2="2142"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2172" y2="2122"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2152" y2="2102"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2132" y2="2082"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2112" y2="2062"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2092" y2="2042"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2072" y2="2022"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="2052" y2="2002"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1752" y2="1702"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1732" y2="1682"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1712" y2="1662"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1692" y2="1642"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1672" y2="1622"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1652" y2="1602"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1632" y2="1582"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1612" y2="1562"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1592" y2="1542"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1572" y2="1522"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1552" y2="1502"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1532" y2="1482"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1512" y2="1462"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1492" y2="1442"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1472" y2="1422"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1452" y2="1402"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1152" y2="1102"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1132" y2="1082"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1112" y2="1062"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1092" y2="1042"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1072" y2="1022"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1052" y2="1002"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1032" y2="982"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="1012" y2="962"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="992" y2="942"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="972" y2="922"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="952" y2="902"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="932" y2="882"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="912" y2="862"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="892" y2="842"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="872" y2="822"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="459" x2="509" y1="852" y2="802"/>
<polyline fill="none" points="1959 1052, 1959 722, 2109 722" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2109 722, 2109 697, 2234 697, 2259 722, 2234 747, 2109 747, 2109 722" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2109" y="722">F[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="802">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="822">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="842">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="862">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="882">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="902">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="922">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="942">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="962">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="982">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1002">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1022">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1042">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1062">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1082">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1102">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1402">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1422">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1442">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1462">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1482">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1502">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1522">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1542">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1562">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1582">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1602">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1622">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1642">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1662">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1682">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="1702">B15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2002">C0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2022">C1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2042">C2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2062">C3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2082">C4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2102">C5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2122">C6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2142">C7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2162">C8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2182">C9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2202">C10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2222">C11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2242">C12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2262">C13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2282">C14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="609" y="2302">C15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="802">F0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="822">F1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="842">F2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="862">F3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="882">F4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="902">F5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="922">F6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="942">F7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="962">F8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="982">F9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="1002">F10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="1022">F11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="1042">F12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="1062">F13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="1082">F14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1689" y="1102">F15</text>
<polygon fill="#ffff80" points="19 342, 19 327, 154 327, 169 342, 154 357, 19 357, 19 342" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="342">S0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="459" x2="419" y1="432" y2="432"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="521" y="429">^1G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="442" y="432">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="469" x2="419" y1="342" y2="342"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="502" y="343">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="441" y="341">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="469" x2="419" y1="372" y2="372"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="502" y="372">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="441" y="371">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="629" x2="669" y1="342" y2="342"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="588" y="348">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="648" y="342">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="629" x2="669" y1="372" y2="372"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="589" y="376">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="648" y="372">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="629" x2="669" y1="402" y2="402"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="589" y="404">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="648" y="402">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="629" x2="669" y1="432" y2="432"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="589" y="432">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="649" y="433">7</text>
<circle cx="464" cy="432" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="624" cy="342" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="625" cy="432" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="624" cy="403" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="624" cy="372" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="124" stroke="#000000" stroke-width="5" width="146" x="471" y="326"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="538" y="320">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="473" y="492">74LS139D</text>
<polyline fill="none" points="669 342, 919 342, 919 1152, 1009 1152" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="669 372, 899 372, 899 1752, 1009 1752" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="669 402, 879 402, 879 2352, 1009 2352" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="419 342, 269 342, 169 342" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="419 372, 269 372, 169 372" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="269" y="342">S0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="269" y="372">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="105" font-weight="700" text-anchor="start" x="919" y="142">3选1复用器模块</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="802" y2="802"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="802">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="822" y2="822"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="822">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="842" y2="842"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="842">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="862" y2="862"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="862">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="882" y2="882"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="882">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="902" y2="902"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="902">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="922" y2="922"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="922">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="942" y2="942"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="942">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="962" y2="962"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="962">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="982" y2="982"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="982">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1002" y2="1002"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1002">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1022" y2="1022"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1022">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1042" y2="1042"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1042">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1062" y2="1062"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1062">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1082" y2="1082"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1082">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1102" y2="1102"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1102">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="802" y2="802"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="802">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="822" y2="822"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="822">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="842" y2="842"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="842">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="862" y2="862"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="862">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="882" y2="882"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="882">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="902" y2="902"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="902">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="922" y2="922"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="922">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="942" y2="942"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="942">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="962" y2="962"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="962">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="982" y2="982"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="982">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1002" y2="1002"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1002">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1022" y2="1022"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1022">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1042" y2="1042"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1042">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1062" y2="1062"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1062">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1082" y2="1082"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1082">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1102" y2="1102"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1102">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1049" x2="1009" y1="1152" y2="1152"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1152">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="1059" y="772"/>
<circle cx="1054" cy="1152" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1119" y="762">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1019" y="1242">BUS_TRANS16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1402" y2="1402"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1402">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1422" y2="1422"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1422">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1442" y2="1442"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1442">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1462" y2="1462"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1462">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1482" y2="1482"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1482">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1502" y2="1502"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1502">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1522" y2="1522"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1522">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1542" y2="1542"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1542">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1562" y2="1562"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1562">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1582" y2="1582"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1582">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1602" y2="1602"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1602">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1622" y2="1622"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1622">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1642" y2="1642"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1642">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1662" y2="1662"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1662">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1682" y2="1682"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1682">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="1702" y2="1702"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="1702">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1402" y2="1402"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1402">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1422" y2="1422"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1422">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1442" y2="1442"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1442">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1462" y2="1462"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1462">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1482" y2="1482"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1482">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1502" y2="1502"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1502">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1522" y2="1522"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1522">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1542" y2="1542"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1542">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1562" y2="1562"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1562">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1582" y2="1582"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1582">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1602" y2="1602"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1602">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1622" y2="1622"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1622">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1642" y2="1642"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1642">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1662" y2="1662"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1662">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1682" y2="1682"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1682">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="1702" y2="1702"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="1702">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1049" x2="1009" y1="1752" y2="1752"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="1752">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="1059" y="1372"/>
<circle cx="1054" cy="1752" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1119" y="1362">2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1019" y="1842">BUS_TRANS16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2002" y2="2002"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2002">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2022" y2="2022"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2022">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2042" y2="2042"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2042">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2062" y2="2062"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2062">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2082" y2="2082"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2082">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2102" y2="2102"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2102">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2122" y2="2122"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2122">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2142" y2="2142"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2142">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2162" y2="2162"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2162">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2182" y2="2182"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2182">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2202" y2="2202"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="2202">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2222" y2="2222"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="2222">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2242" y2="2242"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="2242">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2262" y2="2262"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="2262">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2282" y2="2282"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="2282">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1059" x2="1009" y1="2302" y2="2302"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1112" y="2302">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2002" y2="2002"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2002">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2022" y2="2022"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2022">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2042" y2="2042"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2042">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2062" y2="2062"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2062">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2082" y2="2082"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2082">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2102" y2="2102"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2102">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2122" y2="2122"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2122">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2142" y2="2142"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2142">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2162" y2="2162"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2162">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2182" y2="2182"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2182">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2202" y2="2202"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2202">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2222" y2="2222"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2222">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2242" y2="2242"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2242">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2262" y2="2262"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2262">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2282" y2="2282"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2282">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1209" x2="1259" y1="2302" y2="2302"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1166" y="2302">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1049" x2="1009" y1="2352" y2="2352"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1102" y="2352">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="1059" y="1972"/>
<circle cx="1054" cy="2352" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1119" y="1962">3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1019" y="2442">BUS_TRANS16</text>
<polyline fill="none" points="459 1152, 459 792, 169 792" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="459 1752, 459 1392, 169 1392" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="459 2352, 459 1992, 169 1992" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="19 792, 19 767, 144 767, 169 792, 144 817, 19 817, 19 792" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="792">A[15..0]</text>
<polygon fill="#ffff80" points="19 1392, 19 1367, 144 1367, 169 1392, 144 1417, 19 1417, 19 1392" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="1392">B[15..0]</text>
<polygon fill="#ffff80" points="19 1992, 19 1967, 144 1967, 169 1992, 144 2017, 19 2017, 19 1992" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="1992">C[15..0]</text>
<polygon fill="#ffff80" points="19 372, 19 357, 154 357, 169 372, 154 387, 19 387, 19 372" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="372">S1</text>
<circle cx="1689" cy="1102" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1669" cy="1082" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1649" cy="1062" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1629" cy="1042" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1609" cy="1022" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1589" cy="1002" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1569" cy="982" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1549" cy="962" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1529" cy="942" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1509" cy="922" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1489" cy="902" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1469" cy="882" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1449" cy="862" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1429" cy="842" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1409" cy="822" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1389" cy="802" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1689" cy="1702" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1669" cy="1682" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1649" cy="1662" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1629" cy="1642" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1609" cy="1622" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1589" cy="1602" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1569" cy="1582" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1549" cy="1562" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1529" cy="1542" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1509" cy="1522" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1489" cy="1502" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1469" cy="1482" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1449" cy="1462" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1429" cy="1442" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1409" cy="1422" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1389" cy="1402" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
# 说明
16 位 MIPS 单周期微处理器
# 原理图
![raw svg](MIPS.dlsche.svg)
\ No newline at end of file
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="3338" version="1.1" width="3772" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="533" y2="533"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="533">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="533">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="563" y2="563"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="563">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="563">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="593" y2="593"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="593">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="593">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="623" y2="623"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="623">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="623">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="683" y2="683"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="683">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="681">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="713" y2="713"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="713">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="712">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="743" y2="743"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="743">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="742">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="773" y2="773"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="773">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="772">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="843">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="841">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="873" y2="873"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="873">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="872">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="903">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="902">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="933" y2="933"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="933">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="932">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="993" y2="993"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="993">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="994">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1023" y2="1023"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2824" y="1023">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1024">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="803" y2="803"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="803">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="803">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="773" y2="773"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="773">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="773">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="713" y2="713"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="713">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="713">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="683" y2="683"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="683">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="683">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="623" y2="623"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="623">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="623">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="593" y2="593"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="593">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="593">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="563" y2="563"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="563">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="563">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="533" y2="533"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="533">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2969" y="532">9</text>
<circle cx="2786" cy="773" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="593" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="683" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="623" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="562" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="743" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="533" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="713" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="534" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="564" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="593" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="623" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="773" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="804" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="2791" y="493"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2858" y="473">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2801" y="1089">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1233" y2="1233"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1233">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="1233">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1263" y2="1263"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1263">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="1263">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1293" y2="1293"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1293">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="1293">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1323" y2="1323"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1323">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="1323">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1383" y2="1383"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1383">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="1381">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1413" y2="1413"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1413">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="1412">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1443" y2="1443"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1443">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="1442">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1473" y2="1473"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1473">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="1472">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1543" y2="1543"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="1543">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1541">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1573" y2="1573"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="1573">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1572">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1603" y2="1603"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="1603">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1602">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1633" y2="1633"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="1633">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1632">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1693" y2="1693"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="1693">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1694">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="1723" y2="1723"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2824" y="1723">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="1724">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1503" y2="1503"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1503">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1503">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1473" y2="1473"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1473">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1473">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="1413" y2="1413"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1413">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1413">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="1383" y2="1383"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1383">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1383">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1323" y2="1323"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1323">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1323">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1293" y2="1293"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1293">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1293">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1263" y2="1263"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1263">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="1263">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1233" y2="1233"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1233">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2969" y="1232">9</text>
<circle cx="2786" cy="1473" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="1293" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="1383" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="1323" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="1262" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="1443" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="1233" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="1413" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="1234" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="1264" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="1293" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="1323" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="1473" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="1504" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="2791" y="1193"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2858" y="1173">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2801" y="1789">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="1973" y2="1973"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="1973">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="1973">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2003" y2="2003"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2003">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="2003">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2033" y2="2033"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2033">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="2033">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2063" y2="2063"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2063">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="2063">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2123" y2="2123"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2123">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="2121">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2153" y2="2153"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2153">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="2152">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2183" y2="2183"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2183">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="2182">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2213" y2="2213"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2213">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="2212">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="2283" y2="2283"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="2283">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="2281">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="2313" y2="2313"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="2313">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="2312">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="2343" y2="2343"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="2343">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="2342">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="2373" y2="2373"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="2373">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="2372">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="2433" y2="2433"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="2433">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="2434">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="2463" y2="2463"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2824" y="2463">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="2464">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2243" y2="2243"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2243">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2243">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2213" y2="2213"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2213">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2213">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="2153" y2="2153"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2153">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2153">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="2123" y2="2123"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2123">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2123">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2063" y2="2063"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2063">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2063">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2033" y2="2033"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2033">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2033">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2003" y2="2003"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2003">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2003">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="1973" y2="1973"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="1973">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2969" y="1972">9</text>
<circle cx="2786" cy="2213" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2033" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2123" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2063" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2002" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="2183" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="1973" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2153" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="1974" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="2004" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="2033" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="2063" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="2213" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="2244" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="2791" y="1933"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2858" y="1913">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2801" y="2529">74LS181</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2763" y2="2763"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2763">^A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="2763">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2793" y2="2793"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2793">^A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="2793">23</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2823" y2="2823"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2823">^A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="2823">21</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2853" y2="2853"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2853">^A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2773" y="2853">19</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2913" y2="2913"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2913">^B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2760" y="2911">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2943" y2="2943"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2943">^B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="2942">22</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="2973" y2="2973"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="2973">^B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="2972">20</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2781" x2="2741" y1="3003" y2="3003"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2844" y="3003">^B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2774" y="3002">18</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="3073" y2="3073"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="3073">S0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="3071">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="3103" y2="3103"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="3103">S1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="3102">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="3133" y2="3133"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="3133">S2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="3132">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="3163" y2="3163"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="3163">S3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="3162">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="3223" y2="3223"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2834" y="3223">CN</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="3224">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2791" x2="2741" y1="3253" y2="3253"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2824" y="3253">M</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="2761" y="3254">8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="3033" y2="3033"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="3033">^G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="3033">17</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="3003" y2="3003"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="3003">^P</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="3003">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="2943" y2="2943"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2943">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2943">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2941" x2="2991" y1="2913" y2="2913"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2913">CN4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2913">16</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2853" y2="2853"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2853">^F3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2853">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2823" y2="2823"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2823">^F2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2823">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2793" y2="2793"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2793">^F1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2956" y="2793">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2951" x2="2991" y1="2763" y2="2763"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="2908" y="2763">^F0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="2969" y="2762">9</text>
<circle cx="2786" cy="3003" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2823" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2913" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2853" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2792" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="2973" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2786" cy="2763" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2785" cy="2943" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="2764" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="2794" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2946" cy="2823" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="2853" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="3003" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="2945" cy="3034" fill="#ffffff" fill-opacity="0.5" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="550" stroke="#000000" stroke-width="5" width="150" x="2791" y="2723"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2858" y="2703">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2801" y="3319">74LS181</text>
<polygon fill="#ffff80" points="21 433, 21 408, 146 408, 171 433, 146 458, 21 458, 21 433" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="433">A[15..0]</text>
<polyline fill="none" points="2991 683, 3041 683, 3041 1133, 2691 1133, 2691 1693, 2741 1693" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 1383, 3041 1383, 3041 1863, 2691 1863, 2691 2433, 2741 2433" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2123, 3041 2123, 3041 2613, 2691 2613, 2691 3223, 2741 3223" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 683, 21 658, 146 658, 171 683, 146 708, 21 708, 21 683" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="21" y="683">B[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="533">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="563">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="593">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="623">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="1233">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="1263">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="1293">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="1323">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="1973">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2003">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2033">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2063">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2763">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2793">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2823">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2651" y="2853">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="683">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="713">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="743">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="773">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="1383">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="1413">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="1443">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="1473">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2123">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2153">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2183">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2213">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2913">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2943">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="2973">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="2451" y="3003">B15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="533">F0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="563">F1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="593">F2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="623">F3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="1233">F4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="1263">F5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="1293">F6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="1323">F7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="1973">F8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2003">F9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2033">F10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2063">F11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2763">F12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2793">F13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2823">F14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="3091" y="2853">F15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="401" x2="361" y1="1623" y2="1623"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="463" y="1620">^1G</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="384" y="1623">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="411" x2="361" y1="1533" y2="1533"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="444" y="1534">A</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="383" y="1532">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="411" x2="361" y1="1563" y2="1563"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="444" y="1563">B</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="383" y="1562">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="571" x2="611" y1="1533" y2="1533"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="530" y="1539">Y0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="590" y="1533">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="571" x2="611" y1="1563" y2="1563"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="531" y="1567">Y1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="590" y="1563">5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="571" x2="611" y1="1593" y2="1593"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="531" y="1595">Y2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="590" y="1593">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="571" x2="611" y1="1623" y2="1623"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="531" y="1623">Y3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="591" y="1624">7</text>
<circle cx="406" cy="1623" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="566" cy="1533" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="567" cy="1623" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="566" cy="1594" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="566" cy="1563" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<rect fill="#ffffff" fill-opacity="0.5" height="124" stroke="#000000" stroke-width="5" width="146" x="413" y="1517"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="480" y="1511">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="415" y="1683">74LS139D</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1261" y="2013">CN</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1261" y="2223">M</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1261" y="1913">S3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="971" x2="911" y1="1783" y2="1783"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="971" x2="911" y1="1843" y2="1843"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1101" x2="1161" y1="1813" y2="1813"/>
<path d="M1049 1761 A 47 47 0 1 1 1049 1854" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1050 1855, 971 1855, 971 1761, 1050 1761" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1012" y="1755">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="995" y="1901">AND1</text>
<polyline fill="none" points="1161 1813, 1361 1813, 1861 1813" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1261" y="1813">S2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1261" y="1713">S1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="971" x2="911" y1="1563" y2="1563"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="971" x2="911" y1="1623" y2="1623"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1101" x2="1161" y1="1593" y2="1593"/>
<path d="M1049 1541 A 47 47 0 1 1 1049 1634" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1050 1635, 971 1635, 971 1541, 1050 1541" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1012" y="1535">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="995" y="1681">AND1</text>
<polyline fill="none" points="1161 1593, 1361 1593, 1761 1593" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1261" y="1593">S0</text>
<polyline fill="none" points="2741 1023, 2011 1023, 2011 3253, 2741 3253" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2463, 2011 2463" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1723, 2011 1723" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1161 2223, 2011 2223" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 993, 1961 993, 1961 2013, 1111 2013, 711 2013" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 933, 1911 933, 1911 3163, 2741 3163" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2373, 1911 2373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1633, 1911 1633" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 903, 1861 903, 1861 3133, 2741 3133" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2343, 1861 2343" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1603, 1861 1603" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 873, 1811 873, 1811 3103, 2741 3103" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2313, 1811 2313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1573, 1811 1573" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 843, 1761 843, 1761 3073, 2741 3073" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2283, 1761 2283" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1543, 1761 1543" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="21 1533, 21 1518, 156 1518, 171 1533, 156 1548, 21 1548, 21 1533" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="21" y="1533">ALUControl0</text>
<polygon fill="#ffff80" points="21 1563, 21 1548, 156 1548, 171 1563, 156 1578, 21 1578, 21 1563" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="400" text-anchor="start" x="21" y="1563">ALUControl1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="611" y="1533">or</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="611" y="1593">add</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="611" y="1623">sub</text>
<polyline fill="none" points="611 1623, 711 1623, 711 1913, 1261 1913, 1911 1913" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="611 1563, 811 1563, 811 1783, 911 1783" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="611 1593, 761 1593, 761 1843, 911 1843" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="761 1713, 1811 1713" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="611 1533, 911 1533, 911 1563" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="711 1623, 911 1623" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="971" x2="911" y1="2193" y2="2193"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="971" x2="911" y1="2253" y2="2253"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1101" x2="1161" y1="2223" y2="2223"/>
<path d="M1049 2171 A 47 47 0 1 1 1049 2264" fill="none" stroke="#000000" stroke-linecap="round" stroke-width="5"/>
<polyline fill="none" points="1050 2265, 971 2265, 971 2171, 1050 2171" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1012" y="2165">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="995" y="2311">AND1</text>
<polyline fill="none" points="911 2193, 761 2193, 761 1843" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="911 2253, 711 2253, 711 1913" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="611" y="1563">and</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2903" y2="2853"/>
<polyline fill="none" points="2741 2853, 2601 2853" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2823, 2601 2823" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2793, 2601 2793" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2763, 2601 2763" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2063, 2601 2063" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2033, 2601 2033" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2003, 2601 2003" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1973, 2601 1973" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1323, 2601 1323" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1293, 2601 1293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1263, 2601 1263" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1233, 2601 1233" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 623, 2601 623" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 593, 2601 593" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 563, 2601 563" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 533, 2601 533" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="583" y2="533"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="613" y2="563"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="643" y2="593"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="673" y2="623"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="1283" y2="1233"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="1313" y2="1263"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="1343" y2="1293"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="1373" y2="1323"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2023" y2="1973"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2053" y2="2003"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2083" y2="2033"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2113" y2="2063"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2813" y2="2763"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2843" y2="2793"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2551" x2="2601" y1="2873" y2="2823"/>
<polyline fill="none" points="2741 683, 2401 683" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="733" y2="683"/>
<polyline fill="none" points="2741 713, 2401 713" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 743, 2401 743" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 773, 2401 773" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1383, 2401 1383" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1413, 2401 1413" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1443, 2401 1443" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 1473, 2401 1473" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2123, 2411 2123, 2401 2123" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2153, 2401 2153" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2183, 2401 2183" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2213, 2401 2213" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2913, 2401 2913" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2943, 2401 2943" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 2973, 2401 2973" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2741 3003, 2401 3003" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="2963" y2="2913"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="2993" y2="2943"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="3023" y2="2973"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="3053" y2="3003"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="2263" y2="2213"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="2233" y2="2183"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="2203" y2="2153"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="2173" y2="2123"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="1523" y2="1473"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="1493" y2="1443"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="1463" y2="1413"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="1433" y2="1383"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="823" y2="773"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="793" y2="743"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="2351" x2="2401" y1="763" y2="713"/>
<polyline fill="none" points="2991 533, 3141 533" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 563, 3141 563" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 593, 3141 593" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 623, 3141 623" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 1233, 3141 1233" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 1263, 3141 1263" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 1293, 3141 1293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 1323, 3141 1323" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 1973, 3141 1973" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2003, 3141 2003" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2033, 3141 2033" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2063, 3141 2063" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2763, 3141 2763" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2793, 3141 2793" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2823, 3141 2823" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2991 2853, 3141 2853" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="533" y2="483"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="563" y2="513"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="593" y2="543"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="623" y2="573"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="1233" y2="1183"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="1263" y2="1213"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="1293" y2="1243"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="1323" y2="1273"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="1973" y2="1923"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2003" y2="1953"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2033" y2="1983"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2063" y2="2013"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2763" y2="2713"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2793" y2="2743"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2823" y2="2773"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="3141" x2="3191" y1="2853" y2="2803"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="宋体" font-size="105" font-weight="700" text-anchor="start" x="2181" y="163">算术逻辑运算器</text>
<polyline fill="none" points="361 1563, 171 1563" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="361 1533, 171 1533" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2551 2903, 2551 433, 171 433" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2351 3053, 2351 683, 171 683" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3421" y="383">算术逻辑运算结果输出</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="621" y="1423">运算类型选择</text>
<polyline fill="none" points="3191 2803, 3191 483, 3191 433, 3421 433" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="3421 433, 3421 408, 3546 408, 3571 433, 3546 458, 3421 458, 3421 433" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3421" y="433">F[15..0]</text>
<circle cx="711" cy="1913" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="761" cy="1843" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="711" cy="1623" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="761" cy="1713" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1811" cy="1713" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1911" cy="1913" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1761" cy="1543" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1761" cy="2283" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1811" cy="1573" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1811" cy="2313" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1861" cy="1603" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1861" cy="2343" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1911" cy="1633" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1911" cy="2373" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="711" cy="2013" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2011" cy="2223" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2011" cy="1723" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="2011" cy="2463" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1761" cy="1593" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1861" cy="1813" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="3321" version="1.1" width="4103" xmlns="http://www.w3.org/2000/svg">
<rect fill="#80ff80" height="900" stroke="#800000" stroke-width="1" width="600" x="974" y="975"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="974" y="865">REG</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="974" y="915">reg.dlsche</text>
<polygon fill="#ffff80" points="974 1375, 999 1350, 1049 1350, 1074 1375, 1049 1400, 999 1400, 974 1375" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1375">rt[9..8]</text>
<polygon fill="#ffff80" points="974 1275, 999 1250, 1049 1250, 1074 1275, 1049 1300, 999 1300, 974 1275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1275">rs[11..10]</text>
<polygon fill="#ffff80" points="974 1475, 999 1450, 1049 1450, 1074 1475, 1049 1500, 999 1500, 974 1475" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1475">RegDst[1..0]</text>
<polygon fill="#ffff80" points="974 1575, 999 1550, 1049 1550, 1074 1575, 1049 1600, 999 1600, 974 1575" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1575">WD[15..0]</text>
<polygon fill="#ffff80" points="974 1775, 999 1750, 1049 1750, 1074 1775, 1049 1800, 999 1800, 974 1775" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1775">CLK</text>
<polygon fill="#ffff80" points="1574 1275, 1549 1250, 1499 1250, 1474 1275, 1499 1300, 1549 1300, 1574 1275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1327" y="1275">SrcA[15..0]</text>
<polygon fill="#ffff80" points="1574 1575, 1549 1550, 1499 1550, 1474 1575, 1499 1600, 1549 1600, 1574 1575" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1327" y="1575">SrcB[15..0]</text>
<polygon fill="#ffff80" points="974 1125, 999 1100, 1049 1100, 1074 1125, 1049 1150, 999 1150, 974 1125" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1125">reg_write</text>
<polygon fill="#ffff80" points="974 1675, 999 1650, 1049 1650, 1074 1675, 1049 1700, 999 1700, 974 1675" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="1675">RESET</text>
<rect fill="#80ff80" height="650" stroke="#800000" stroke-width="1" width="500" x="2674" y="2025"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="2674" y="1975">MUX2</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2674" y="2025">3mux1.dlsche</text>
<polygon fill="#ffff80" points="2674 2175, 2699 2150, 2749 2150, 2774 2175, 2749 2200, 2699 2200, 2674 2175" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="2175">A[15..0]</text>
<polygon fill="#ffff80" points="2674 2275, 2699 2250, 2749 2250, 2774 2275, 2749 2300, 2699 2300, 2674 2275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="2275">B[15..0]</text>
<polygon fill="#ffff80" points="3174 2275, 3149 2250, 3099 2250, 3074 2275, 3099 2300, 3149 2300, 3174 2275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2967" y="2275">F[15..0]</text>
<polygon fill="#ffff80" points="2674 2375, 2699 2350, 2749 2350, 2774 2375, 2749 2400, 2699 2400, 2674 2375" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="2375">C[15..0]</text>
<polygon fill="#ffff80" points="2674 2475, 2699 2450, 2749 2450, 2774 2475, 2749 2500, 2699 2500, 2674 2475" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="2475">S1</text>
<polygon fill="#ffff80" points="2674 2575, 2699 2550, 2749 2550, 2774 2575, 2749 2600, 2699 2600, 2674 2575" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="2575">S0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1774" y="1575">SrcB[15..0]</text>
<rect fill="#80ff80" height="550" stroke="#800000" stroke-width="1" width="500" x="2674" y="525"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="105" font-weight="700" text-anchor="start" x="2674" y="475">MUX1</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2674" y="525">2mux1.dlsche</text>
<polygon fill="#ffff80" points="2674 775, 2699 750, 2749 750, 2774 775, 2749 800, 2699 800, 2674 775" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="775">A[15..0]</text>
<polygon fill="#ffff80" points="2674 675, 2699 650, 2749 650, 2774 675, 2749 700, 2699 700, 2674 675" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="675">B[15..0]</text>
<polygon fill="#ffff80" points="2674 925, 2699 900, 2749 900, 2774 925, 2749 950, 2699 950, 2674 925" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2786" y="925">select</text>
<polygon fill="#ffff80" points="3174 775, 3149 750, 3099 750, 3074 775, 3099 800, 3149 800, 3174 775" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2975" y="775">s[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="374" y="675">PC_NEXT[15..0]</text>
<rect fill="#80ff80" height="400" stroke="#800000" stroke-width="1" width="600" x="974" y="2125"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="105" font-weight="700" text-anchor="start" x="974" y="2075">EXTEND</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="974" y="2125">extend.dlsche</text>
<polygon fill="#ffff80" points="974 2275, 999 2250, 1049 2250, 1074 2275, 1049 2300, 999 2300, 974 2275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="2275">Instr[7..0]</text>
<polygon fill="#ffff80" points="1574 2275, 1549 2250, 1499 2250, 1474 2275, 1499 2300, 1549 2300, 1574 2275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1315" y="2275">imm[15..0]</text>
<polygon fill="#ffff80" points="974 2375, 999 2350, 1049 2350, 1074 2375, 1049 2400, 999 2400, 974 2375" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1086" y="2375">u\s</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1774" y="1275">SrcA[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3324" y="775">opA[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3374" y="2275">opB[15..0]</text>
<polyline fill="none" points="1574 1575, 3624 1575" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1574 1275, 2374 1275, 2374 775, 2674 775" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2674 2175, 2374 2175, 2374 1575" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="3174 775, 3574 775, 3624 775" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="3174 2275, 3624 2275" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1824" y="2275">imm[15..0]</text>
<polygon fill="#ffff80" points="3624 775, 3624 750, 3749 750, 3774 775, 3749 800, 3624 800, 3624 775" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3624" y="775">opA[15..0]</text>
<polygon fill="#ffff80" points="3624 1575, 3624 1550, 3749 1550, 3774 1575, 3749 1600, 3624 1600, 3624 1575" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3624" y="1575">SrcB[15..0]</text>
<polygon fill="#ffff80" points="3624 2275, 3624 2250, 3749 2250, 3774 2275, 3749 2300, 3624 2300, 3624 2275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3624" y="2275">opB[15..0]</text>
<polyline fill="none" points="974 1775, 174 1775" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="974 1675, 174 1675" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="974 1125, 174 1125" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="974 2375, 174 2375" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2674 925, 174 925" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polygon fill="#ffff80" points="24 925, 24 900, 149 900, 174 925, 149 950, 24 950, 24 925" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="925">BX</text>
<polygon fill="#ffff80" points="24 1125, 24 1100, 149 1100, 174 1125, 149 1150, 24 1150, 24 1125" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="1125">Reg_write</text>
<polygon fill="#ffff80" points="24 1675, 24 1650, 149 1650, 174 1675, 149 1700, 24 1700, 24 1675" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="1675">RESET</text>
<polygon fill="#ffff80" points="24 1775, 24 1750, 149 1750, 174 1775, 149 1800, 24 1800, 24 1775" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="1775">CLK</text>
<polygon fill="#ffff80" points="24 2375, 24 2350, 149 2350, 174 2375, 149 2400, 24 2400, 24 2375" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="2375">u\s</text>
<polygon fill="#ffff80" points="24 3275, 24 3250, 149 3250, 174 3275, 149 3300, 24 3300, 24 3275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="3275">immSrc</text>
<polygon fill="#ffff80" points="24 675, 24 650, 249 650, 274 675, 249 700, 24 700, 24 675" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="675">PC_NEXT[15..0]</text>
<polyline fill="none" points="274 675, 2674 675" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="364" y="925">BX</text>
<polygon fill="#ffff80" points="24 1475, 24 1450, 149 1450, 174 1475, 149 1500, 24 1500, 24 1475" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="20" font-weight="700" text-anchor="start" x="24" y="1475">RegDst[1..0]</text>
<polyline fill="none" points="974 1475, 224 1475, 174 1475" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="24 1575, 24 1550, 149 1550, 174 1575, 149 1600, 24 1600, 24 1575" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="1575">WD[15..0]</text>
<polyline fill="none" points="174 1575, 974 1575" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2374 1275, 3624 1275" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="3624 1275, 3624 1250, 3749 1250, 3774 1275, 3749 1300, 3624 1300, 3624 1275" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="3624" y="1275">SrcA[15..0]</text>
<polygon fill="#ffff80" points="24 1225, 24 1200, 149 1200, 174 1225, 149 1250, 24 1250, 24 1225" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="24" y="1225">Instr[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="324" y="1275">Instr[11..10]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="324" y="1375">Instr[9..8]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2775" y2="2775"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2775" y2="2775"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2725, 1234 2825, 1304 2775, 1234 2725" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2775" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2774" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2724">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2871">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2795" y2="2795"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2795" y2="2795"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2745, 1234 2845, 1304 2795, 1234 2745" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2795" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2794" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2744">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2891">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2815" y2="2815"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2815" y2="2815"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2765, 1234 2865, 1304 2815, 1234 2765" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2815" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2814" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2764">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2911">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2835" y2="2835"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2835" y2="2835"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2785, 1234 2885, 1304 2835, 1234 2785" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2835" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2834" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2784">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2931">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2855" y2="2855"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2855" y2="2855"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2805, 1234 2905, 1304 2855, 1234 2805" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2855" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2854" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2804">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2951">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2875" y2="2875"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2875" y2="2875"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2825, 1234 2925, 1304 2875, 1234 2825" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2875" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2874" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2824">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2971">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2895" y2="2895"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2895" y2="2895"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2845, 1234 2945, 1304 2895, 1234 2845" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2895" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2894" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2844">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="2991">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2915" y2="2915"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2915" y2="2915"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2865, 1234 2965, 1304 2915, 1234 2865" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2915" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2914" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2864">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3011">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2935" y2="2935"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2935" y2="2935"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2885, 1234 2985, 1304 2935, 1234 2885" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2935" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2934" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2884">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3031">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2955" y2="2955"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2955" y2="2955"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2905, 1234 3005, 1304 2955, 1234 2905" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2955" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2954" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2904">U10</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3051">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2975" y2="2975"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2975" y2="2975"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2925, 1234 3025, 1304 2975, 1234 2925" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2975" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2974" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2924">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3071">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="2995" y2="2995"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="2995" y2="2995"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2945, 1234 3045, 1304 2995, 1234 2945" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="2995" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="2994" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2944">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3091">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="3015" y2="3015"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="3015" y2="3015"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2965, 1234 3065, 1304 3015, 1234 2965" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="3015" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="3014" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2964">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3111">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="3035" y2="3035"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="3035" y2="3035"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 2985, 1234 3085, 1304 3035, 1234 2985" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="3035" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="3034" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="2984">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3131">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="3055" y2="3055"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="3055" y2="3055"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 3005, 1234 3105, 1304 3055, 1234 3005" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="3055" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="3054" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="3004">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3151">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1224" x2="1174" y1="3075" y2="3075"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1314" x2="1374" y1="3075" y2="3075"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1234 3025, 1234 3125, 1304 3075, 1234 3025" stroke="#000000" stroke-width="5"/>
<circle cx="1308" cy="3075" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="1228" cy="3074" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1255" y="3024">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1222" y="3171">NNOT</text>
<polyline fill="none" points="1174 2775, 1024 2775" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2795, 1024 2795" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2815, 1024 2815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2835, 1024 2835" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2855, 1024 2855" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2875, 1024 2875" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2895, 1024 2895" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2915, 1024 2915" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2935, 1024 2935" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2955, 1024 2955" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2975, 1024 2975" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 2995, 1024 2995" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 3015, 1024 3015" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 3035, 1024 3035" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 3055, 1024 3055" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1174 3075, 1024 3075" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2775, 1524 2775" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2795, 1524 2795" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2815, 1524 2815" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2835, 1524 2835" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2855, 1524 2855" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2875, 1524 2875" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2895, 1524 2895" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2915, 1524 2915" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2935, 1524 2935" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2955, 1524 2955" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2975, 1524 2975" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 2995, 1524 2995" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 3015, 1524 3015" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 3035, 1524 3035" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 3055, 1524 3055" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1374 3075, 1524 3075" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2825" y2="2775"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2845" y2="2795"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2865" y2="2815"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2885" y2="2835"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2905" y2="2855"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2925" y2="2875"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2945" y2="2895"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2965" y2="2915"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="2985" y2="2935"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3005" y2="2955"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3025" y2="2975"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3045" y2="2995"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3065" y2="3015"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3085" y2="3035"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3105" y2="3055"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="974" x2="1024" y1="3125" y2="3075"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2775" y2="2725"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2795" y2="2745"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2815" y2="2765"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2835" y2="2785"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2855" y2="2805"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2875" y2="2825"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2895" y2="2845"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2915" y2="2865"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2935" y2="2885"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2955" y2="2905"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2975" y2="2925"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="2995" y2="2945"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="3015" y2="2965"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="3035" y2="2985"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="3055" y2="3005"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1524" x2="1574" y1="3075" y2="3025"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2795">Instr0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2815">Instr1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2835">Instr2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2855">Instr3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2875">Instr4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2895">Instr5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2915">Instr6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2935">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2955">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2975">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="2995">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="3015">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="3035">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="3055">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1024" y="3075">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2775">offset0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2795">offset1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2815">offset2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2835">offset3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2855">offset4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2875">offset5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2895">offset6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2915">offset7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2935">offset8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2955">offset9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2975">offset10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="2995">offset11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="3015">offset12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="3035">offset13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="3055">offset14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1374" y="3075">offset15</text>
<polyline fill="none" points="974 3125, 974 2825, 974 2775, 324 2775, 174 2775" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1574 2725, 1574 3025" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1574 2875, 2174 2875, 2174 2375, 2674 2375" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1724" y="2875">offset[15..0]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2534" x2="2474" y1="2475" y2="2475"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2614" x2="2674" y1="2475" y2="2475"/>
<circle cx="2610" cy="2475" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="2534 2425, 2534 2525, 2604 2475, 2534 2425" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2554" y="2439">U17</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2534" y="2571">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2534" x2="2474" y1="2575" y2="2575"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="2614" x2="2674" y1="2575" y2="2575"/>
<circle cx="2610" cy="2575" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="2534 2525, 2534 2625, 2604 2575, 2534 2525" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2554" y="2539">U18</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="2534" y="2671">NOT</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="180" font-weight="700" text-anchor="start" x="834" y="235">指令操作数提取模块</text>
<polyline fill="none" points="974 1375, 324 1375" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="974 1275, 324 1275" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="324" x2="274" y1="1375" y2="1325"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="324" x2="274" y1="1275" y2="1225"/>
<polyline fill="none" points="274 1325, 274 1225, 174 1225" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="974 2275, 174 2275" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2474 2475, 2274 2475, 2274 925" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="2674 2275, 1574 2275" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="2474 2575, 2274 2575, 2274 3275, 174 3275" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3824" y="775">ALU运算操作数1</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3824" y="1275">源寄存器操作数A</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3824" y="1575">源寄存器操作数B</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="3824" y="2275">ALU运算操作数2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="174" y="2275">Instr[7..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="174" y="2775">Instr[7..0]</text>
<circle cx="2374" cy="1275" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="1574" cy="2875" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="2374" cy="1575" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="2274" cy="925" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2709" version="1.1" width="1851" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="448" y2="448"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="448">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="448">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="478" y2="478"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="478">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="477">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="508" y2="508"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="508">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="508">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="538" y2="538"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="538">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="538">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="598" y2="598"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="598">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="598">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="628" y2="628"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="628">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="628">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="658" y2="658"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="658">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="658">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="688" y2="688"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="688">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="689">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="758" y2="758"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="758">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="759">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="788" y2="788"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="788">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="789">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="818" y2="818"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="818">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="818">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="508" y2="508"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="508">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="508">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="478" y2="478"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="478">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="478">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="448" y2="448"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="448">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="448">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1279" y="418"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1344" y="407">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1289" y="888">74LS85D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1048" y2="1048"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1048">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1048">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1078" y2="1078"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1078">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="1077">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1108" y2="1108"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1108">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1108">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1138" y2="1138"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1138">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1138">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1198" y2="1198"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1198">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1198">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1228" y2="1228"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1228">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1228">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1258" y2="1258"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1258">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1258">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1288" y2="1288"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1288">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="1289">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1358" y2="1358"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="1358">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="1359">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1388" y2="1388"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="1388">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="1389">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1418" y2="1418"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="1418">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="1418">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="1108" y2="1108"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="1108">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="1108">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="1078" y2="1078"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="1078">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="1078">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="1048" y2="1048"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="1048">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="1048">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1279" y="1018"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1344" y="1007">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1289" y="1488">74LS85D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1648" y2="1648"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1648">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1648">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1678" y2="1678"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1678">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="1677">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1708" y2="1708"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1708">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1708">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1738" y2="1738"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1738">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1738">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1798" y2="1798"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1798">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1798">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1828" y2="1828"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1828">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1828">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1858" y2="1858"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1858">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="1858">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1888" y2="1888"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="1888">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="1889">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1958" y2="1958"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="1958">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="1959">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="1988" y2="1988"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="1988">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="1989">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2018" y2="2018"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="2018">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="2018">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="1708" y2="1708"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="1708">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="1708">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="1678" y2="1678"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="1678">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="1678">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="1648" y2="1648"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="1648">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="1648">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1279" y="1618"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1344" y="1607">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1289" y="2088">74LS85D</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2248" y2="2248"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2248">A3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="2248">15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2278" y2="2278"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2278">B3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="2277">1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2308" y2="2308"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2308">A2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="2308">13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2338" y2="2338"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2338">B2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="2338">14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2398" y2="2398"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2398">A1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="2398">12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2428" y2="2428"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2428">B1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="2428">11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2458" y2="2458"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2458">A0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1264" y="2458">10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2488" y2="2488"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1322" y="2488">B0</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="2489">9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2558" y2="2558"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="2558">AGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="2559">4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2588" y2="2588"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="2588">AEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1249" y="2589">3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1279" x2="1229" y1="2618" y2="2618"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1351" y="2618">ALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="1250" y="2618">2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="2308" y2="2308"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="2308">OALTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="2308">7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="2278" y2="2278"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="2278">OAEQB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="2278">6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1429" x2="1479" y1="2248" y2="2248"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="middle" x="1386" y="2248">OAGTB</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="1456" y="2248">5</text>
<rect fill="#ffffff" fill-opacity="0.5" height="430" stroke="#000000" stroke-width="5" width="150" x="1279" y="2218"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1344" y="2207">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="1289" y="2688">74LS85D</text>
<polygon fill="#ffff80" points="1729 2248, 1729 2233, 1814 2233, 1829 2248, 1814 2263, 1729 2263, 1729 2248" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1729" y="2248">gt</text>
<polygon fill="#ffff80" points="1729 2278, 1729 2263, 1814 2263, 1829 2278, 1814 2293, 1729 2293, 1729 2278" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1729" y="2278">eq</text>
<polygon fill="#ffff80" points="1729 2308, 1729 2293, 1814 2293, 1829 2308, 1814 2323, 1729 2323, 1729 2308" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1729" y="2308">lt</text>
<polyline fill="none" points="1479 508, 1479 898, 1129 898, 1129 1418, 1229 1418" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 478, 1489 478, 1489 908, 1139 908, 1139 1388, 1229 1388" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 448, 1499 448, 1499 918, 1149 918, 1149 1358, 1229 1358" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 1108, 1479 1508, 1129 1508, 1129 2018, 1229 2018" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1988, 1139 1988, 1139 1518, 1489 1518, 1489 1078, 1479 1078" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 1048, 1499 1048, 1499 1528, 1149 1528, 1149 1958, 1229 1958" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 1708, 1479 2098, 1129 2098, 1129 2618, 1229 2618" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2588, 1139 2588, 1139 2108, 1489 2108, 1489 1678, 1479 1678" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 1648, 1499 1648, 1499 2118, 1149 2118, 1149 2558, 1229 2558" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1179" x2="1229" y1="788" y2="788"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="1179 788, 1129 738, 1129 838, 1179 788" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 1169 798)" x="1169" y="798">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 1099 798)" x="1099" y="798">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 1129 878)" x="1129" y="878">CONSTANT1</text>
<polygon fill="#ffff80" points="19 468, 19 443, 144 443, 169 468, 144 493, 19 493, 19 468" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="468">A[15..0]</text>
<polygon fill="#ffff80" points="19 568, 19 543, 144 543, 169 568, 144 593, 19 593, 19 568" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="19" y="568">B[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="448">A0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="478">A1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="508">A2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="538">A3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1048">A4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1078">A5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1108">A6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1138">A7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1648">A8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1678">A9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1708">A10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="1738">A11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="2248">A12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="2278">A13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="2308">A14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="829" y="2338">A15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="598">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="628">B1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="658">B2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="688">B3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1198">B4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1228">B5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1258">B6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1288">B7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1798">B8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1828">B9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1858">B10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="1888">B11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="2398">B12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="2428">B13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="2458">B14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="529" y="2488">B15</text>
<polyline fill="none" points="1229 448, 829 448" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 478, 829 478" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 508, 829 508" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 538, 829 538" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 598, 529 598" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 628, 529 628" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 658, 529 658" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 688, 529 688" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1048, 829 1048" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1078, 829 1078" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1108, 829 1108" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1138, 829 1138" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1198, 529 1198" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1228, 529 1228" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1258, 529 1258" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1288, 529 1288" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1648, 829 1648" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1678, 829 1678" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1708, 829 1708" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1738, 829 1738" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1798, 529 1798" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1828, 529 1828" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1858, 529 1858" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 1888, 529 1888" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2248, 829 2248" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2278, 829 2278" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2308, 829 2308" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2338, 829 2338" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2398, 529 2398" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2428, 529 2428" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2458, 529 2458" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1229 2488, 529 2488" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="498" y2="448"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="528" y2="478"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="558" y2="508"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="588" y2="538"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="648" y2="598"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="678" y2="628"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="708" y2="658"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="738" y2="688"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1098" y2="1048"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1128" y2="1078"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1158" y2="1108"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1188" y2="1138"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1248" y2="1198"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1278" y2="1228"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1308" y2="1258"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1338" y2="1288"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1698" y2="1648"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1728" y2="1678"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1758" y2="1708"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="1788" y2="1738"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1848" y2="1798"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1878" y2="1828"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1908" y2="1858"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="1938" y2="1888"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="2298" y2="2248"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="2328" y2="2278"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="2358" y2="2308"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="779" x2="829" y1="2388" y2="2338"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="2448" y2="2398"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="2478" y2="2428"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="2508" y2="2458"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="479" x2="529" y1="2538" y2="2488"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="200" font-weight="700" text-anchor="start" x="409" y="258">16位比较器</text>
<polyline fill="none" points="169 468, 779 468, 779 2388" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="169 568, 479 568, 479 2538" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1479 2248, 1729 2248" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 2278, 1729 2278" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1479 2308, 1729 2308" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="1619" y="2248">A&gt;B</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="1619" y="2278">A=B</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="1619" y="2308">A&lt;B</text>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="1286" version="1.1" width="1669" xmlns="http://www.w3.org/2000/svg">
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="273" y2="273"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="273">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="293" y2="293"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="293">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="313" y2="313"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="313">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="333" y2="333"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="333">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="353" y2="353"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="353">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="373" y2="373"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="373">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="393" y2="393"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="393">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="413" y2="413"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="413">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="433" y2="433"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="433">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="453" y2="453"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="453">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="473" y2="473"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="473">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="493" y2="493"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="493">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="513" y2="513"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="513">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="533" y2="533"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="533">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="553" y2="553"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="553">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="573" y2="573"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="573">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="273" y2="273"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="273">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="293" y2="293"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="293">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="313" y2="313"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="313">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="333" y2="333"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="333">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="353" y2="353"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="353">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="373" y2="373"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="373">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="393" y2="393"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="393">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="413" y2="413"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="413">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="433" y2="433"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="433">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="453" y2="453"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="453">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="473" y2="473"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="473">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="493" y2="493"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="493">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="513" y2="513"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="513">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="533" y2="533"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="533">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="553" y2="553"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="553">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="573" y2="573"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="573">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="758" x2="718" y1="623" y2="623"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="623">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="768" y="243"/>
<circle cx="763" cy="623" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="828" y="233">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="728" y="713">BUS_TRANS16</text>
<polyline fill="none" points="718 293, 468 293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 313, 468 313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 333, 468 333" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 353, 468 353" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 373, 468 373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 393, 468 393" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 573, 718 413, 468 413" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 273, 1168 273, 1318 273" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 293, 1168 293, 1318 293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 313, 1168 313, 1318 313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 333, 1168 333, 1318 333" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 353, 1168 353, 1318 353" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 373, 1168 373, 1318 373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 393, 1168 393, 1318 393" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 413, 1168 413, 1318 413" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 433, 1168 433, 1318 433" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 453, 1168 453, 1318 453" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 473, 1168 473, 1318 473" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 493, 1168 493, 1318 493" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 513, 1168 513, 1318 513" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 533, 1168 533, 1318 533" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 553, 1168 553, 1318 553" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 573, 1168 573, 1318 573" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="273" y2="223"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="293" y2="243"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="313" y2="263"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="333" y2="283"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="353" y2="303"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="373" y2="323"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="393" y2="343"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="413" y2="363"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="433" y2="383"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="453" y2="403"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="473" y2="423"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="493" y2="443"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="513" y2="463"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="533" y2="483"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="553" y2="503"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1318" x2="1368" y1="573" y2="523"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="343" y2="293"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="363" y2="313"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="383" y2="333"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="403" y2="353"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="423" y2="373"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="443" y2="393"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="463" y2="413"/>
<polygon fill="#ffff80" points="168 273, 168 248, 293 248, 318 273, 293 298, 168 298, 168 273" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="168" y="273">Instr[7..0]</text>
<polyline fill="none" points="718 273, 468 273" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="418" x2="468" y1="323" y2="273"/>
<polygon fill="#ffff80" points="118 823, 118 798, 243 798, 268 823, 243 848, 118 848, 118 823" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="118" y="823">u\s</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="823" y2="823"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="823">A0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="843">A1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="863" y2="863"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="863">A2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="883" y2="883"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="883">A3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="903">A4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="923" y2="923"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="923">A5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="943" y2="943"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="943">A6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="963" y2="963"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="963">A7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="983" y2="983"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="983">A8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1003" y2="1003"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="1003">A9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1023" y2="1023"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="1023">A10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1043" y2="1043"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="1043">A11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1063" y2="1063"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="1063">A12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1083" y2="1083"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="1083">A13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1103" y2="1103"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="1103">A14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="768" x2="718" y1="1123" y2="1123"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="821" y="1123">A15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="823" y2="823"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="823">D0</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="843" y2="843"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="843">D1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="863" y2="863"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="863">D2</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="883" y2="883"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="883">D3</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="903" y2="903"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="903">D4</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="923" y2="923"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="923">D5</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="943" y2="943"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="943">D6</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="963" y2="963"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="963">D7</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="983" y2="983"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="983">D8</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1003" y2="1003"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1003">D9</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1023" y2="1023"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1023">D10</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1043" y2="1043"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1043">D11</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1063" y2="1063"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1063">D12</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1083" y2="1083"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1083">D13</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1103" y2="1103"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1103">D14</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="918" x2="968" y1="1123" y2="1123"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="start" x="875" y="1123">D15</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="758" x2="718" y1="1173" y2="1173"/>
<text alignment-baseline="central" fill="#000000" font-family="Courier New" font-size="17" font-weight="400" text-anchor="end" x="811" y="1173">^EN</text>
<rect fill="#a0c0ff" fill-opacity="0.5" height="420" stroke="#000000" stroke-width="5" width="150" x="768" y="793"/>
<circle cx="763" cy="1173" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="828" y="783">2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="728" y="1263">BUS_TRANS16</text>
<polyline fill="none" points="718 823, 668 823, 668 273" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 843, 658 843, 658 293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 863, 648 863, 648 313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 883, 638 883, 638 333" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 903, 628 903, 628 353" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 923, 618 923, 618 373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 943, 608 943, 608 393" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="718 963, 598 963, 598 413" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="418" x2="418" y1="763" y2="823"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="418" x2="418" y1="683" y2="623"/>
<circle cx="418" cy="687" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="368 763, 468 763, 418 693, 368 763" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 382 743)" x="382" y="743">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 514 763)" x="514" y="763">NOT</text>
<polyline fill="none" points="268 823, 418 823, 418 1133, 418 1173, 718 1173" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 823, 988 823, 988 273" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 843, 998 843, 998 293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 863, 1008 863, 1008 313" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 883, 1018 883, 1018 333" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 903, 1028 903, 1028 353" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 923, 1038 923, 1038 373" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 943, 1048 943, 1048 393" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 963, 1058 963, 1058 413" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 983, 1068 983, 1068 433" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1003, 1078 1003, 1078 453" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1023, 1088 1023, 1088 473" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1043, 1098 1043, 1098 493" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1063, 1108 1063, 1108 513" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1083, 1118 1083, 1118 533" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1103, 1128 1103, 1128 553" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="968 1123, 1138 1123, 1138 573" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="273">Instr0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="293">Instr1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="313">Instr2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="333">Instr3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="353">Instr4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="373">Instr5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="393">Instr6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="488" y="413">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="273">imm0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="293">imm1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="313">imm2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="333">imm3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="353">imm4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="373">imm5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="393">imm6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="413">imm7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="433">imm8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="453">imm9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="473">imm10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="493">imm11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="513">imm12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="533">imm13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="553">imm14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="15" font-weight="400" text-anchor="start" x="1158" y="573">imm15</text>
<polyline fill="none" points="418 463, 418 273, 318 273" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1368 523, 1368 173, 1468 173" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="1468 173, 1468 148, 1623 148, 1648 173, 1623 198, 1468 198, 1468 173" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1468" y="173">imm[15..0]</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="25" font-weight="400" text-anchor="start" x="18" y="773">低电平,无符号扩展</text>
<polyline fill="none" points="718 623, 418 623" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="90" font-weight="700" text-anchor="start" x="458" y="123">数据位扩展模块</text>
<circle cx="718" cy="413" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="418" cy="823" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="433" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="453" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="473" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="493" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="513" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="533" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="718" cy="553" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1138" cy="573" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1128" cy="553" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1118" cy="533" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1108" cy="513" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1098" cy="493" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1088" cy="473" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1078" cy="453" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1068" cy="433" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1058" cy="413" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1048" cy="393" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1038" cy="373" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1028" cy="353" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1018" cy="333" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="1008" cy="313" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="998" cy="293" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="988" cy="273" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="598" cy="413" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="608" cy="393" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="618" cy="373" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="628" cy="353" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="638" cy="333" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="648" cy="313" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="658" cy="293" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
<circle cx="668" cy="273" fill="#0000ff" r="8" stroke="#0000ff" stroke-width="5"/>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<project id="3faa0427-6dad-4fdb-8fe5-a06137669a6e" name="mips-single-cycle" version="1">
<files>
<filefolder id="c0a181af-d67c-4dd0-9275-aa277475c77c" name="子模块">
<file relativepath="2mux1.dlsche"/>
<file relativepath="alu.dlsche"/>
<file relativepath="compare.dlsche"/>
<file relativepath="control.dlsche"/>
<file relativepath="pc_new.dlsche"/>
<file relativepath="alu_operand.dlsche"/>
<file relativepath="3mux1.dlsche"/>
<file relativepath="al.dlsche"/>
<file relativepath="reg.dlsche"/>
<file relativepath="extend.dlsche"/>
</filefolder>
<filefolder id="2156f6c8-84d5-409f-859c-fddce752753a" name="存储器映射文件">
<file relativepath="rom.rxm"/>
</filefolder>
<filefolder id="3463ada9-1cc7-4838-ab12-f98af0a12bf2" name="源程序文件">
<file relativepath="rom.asm"/>
<file relativepath="rom.bat"/>
</filefolder>
<file relativepath="MIPS.dlsche"/>
<file relativepath="README.md"/>
</files>
</project>
添加文件
/*******************************************************************************
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef unsigned char BYTE;
typedef long BOOL;
#define FALSE 0
#define TRUE 1
#define MAX_LINE_LENGTH 256 // 一行代码最多可以有多少个字符
#define MAX_LINE_COUNT 1024 // 源代码文件最多可以有多少行
#define MAX_SYMBOL_LENGTH 64 // 一个符号最多可以包含多少个字符
#define MAX_SYMBOL_COUNT 256 // 源代码文件中最多可以包含多少个符号
#define MAX_INSTR_KEY_WORD_LENGTH 32 // 一个指令关键字最多可以包含多少个字符
#ifndef MAX_PATH
#define MAX_PATH 256 // 文件路径最多可以包含多少个字符
#endif
// 代码行数据库。记录源代码文件中所有代码行的信息(包括注释行、空行)
struct LINE_RECORD
{
char line_string[MAX_LINE_LENGTH]; // 代码行的内容
unsigned long line_num; // 行号
unsigned long address; // 此行代码转换的机器码在映像文件中的地址(偏移)
int machine_code_count; // 此行代码转换的机器码的字节数量
unsigned long flag; // 代码行标志位,32位
};
struct LINE_RECORD line_database[MAX_LINE_COUNT] = {0};
int line_count = 0;
int machine_code_line_count = 0; // 记录产生了机器码的代码行的数量
// 在此定义所有的代码行标志位。注意,代码行标志位是按位或的关系。
#define LF_INSTRUCTION 0x00000001 // 代码行标志位的最低位是1,表示此行是一条指令,否则表示此行是数据
// 重定位表。如果指令中使用了标号、变量名等符号,在第一次扫描时无法确定他们的地址,需要
// 在第二次扫描时进行重定位。
struct REALLOCATE
{
unsigned long address; // 第一次扫描时,在这里记录了需要重定位的机器码的地址(偏移),
// 第二次扫描时,根据符号的地址进行重定位。
char symbol_name[MAX_SYMBOL_LENGTH]; // 需要重定位的符号名称。
int line_num; // 行号。
char instr_key_word[MAX_INSTR_KEY_WORD_LENGTH]; // 指令关键字
};
struct REALLOCATE reallocate_table[MAX_LINE_COUNT] = {0};
int reallocate_count = 0;
// 符号表。符号包括源代码中的标号、变量名。
struct SYMBOL
{
char name[MAX_SYMBOL_LENGTH]; // 符号名称
unsigned long address; // 符号表示的地址。重定位时需要用到。
int machine_code_count; // 符号生成的机器码的数量(以字节为单位)。
int line_num; // 行号
int ref_count; // 引用计数
};
struct SYMBOL symbol_table[MAX_SYMBOL_COUNT] = {0};
int symbol_count = 0;
// 汇编过程的状态
enum
{
AS_BEGIN // 起始状态。在遇到代码段名称前,处于此状态
,AS_TEXT // 正在处理代码段。遇到代码段名称后,遇到数据的名称前,处于此状态
,AS_DATA // 正在处理数据段。遇到数据段名称后,处于此状态
};
unsigned long assembler_state = AS_BEGIN;
//
// 在下面定义所有的关键字
//
// 段名称
const char* code_section_keyword = ".text"; // 代码段标志
char const* data_section_keyword = ".data"; // 数据段标志
// 指令名称
// R型指令
const char* or_instruction_keyword = "or";
const char* and_instruction_keyword = "and";
const char* add_instruction_keyword = "add";
const char* sub_instruction_keyword = "sub";
const char* sllv_instruction_keyword = "sllv";
const char* srlv_instruction_keyword = "srlv";
const char* srav_instruction_keyword = "srav";
const char* slt_instruction_keyword = "slt";
const char* jr_instruction_keyword = "jr"; // jr rs 跳转寄存器,PC=[rs]
const char* jalr_instruction_keyword = "jalr"; // jalr rs 跳转和链接寄存器,$ra = PC+2,PC=[rs]
const char* sll_instruction_keyword = "sll";
const char* srl_instruction_keyword = "srl";
const char* sra_instruction_keyword = "sra";
const char* xor_instruction_keyword = "xor";
const char* nor_instruction_keyword = "nor";
// I型指令
const char* ori_instruction_keyword = "ori";
const char* andi_instruction_keyword = "andi";
const char* addi_instruction_keyword = "addi";
const char* lw_instruction_keyword = "lw";
const char* sw_instruction_keyword = "sw";
const char* beq_instruction_keyword = "beq";
const char* bne_instruction_keyword = "bne";
const char* bgt_instruction_keyword = "bgt";
const char* bltz_instruction_keyword = "bltz";// bltz rs, lable 如果rs小于0则转移
const char* bgez_instruction_keyword = "bgez";// bgez rs, lable 如果rs大于或等于0则转移
// J型指令
const char* jump_instruction_keyword = "jump";
const char* jal_instruction_keyword = "jal"; // jal lable 跳转并链接,$ra = PC+2,PC=跳转目标地址
// 通用寄存器名称
const char* r0_register_keyword = "$r0";
const char* r1_register_keyword = "$r1";
const char* r2_register_keyword = "$r2";
const char* r3_register_keyword = "$r3";
const char* ra_register_keyword = "$ra"; // 返回地址寄存器
const char* t0_register_keyword = "$t0"; // 常数0寄存器
const char* delimit_char = "\n\t\r "; // 需要忽略的空白字符
const char* delimit_char_comma = "\n\t\r, "; // 需要忽略的空白字符,包括英文逗号
// 汇编产生的机器码
#define MAX_MACHINE_CODE 1024
BYTE machine_code[MAX_MACHINE_CODE];
unsigned long machine_code_address = 0;
unsigned long machine_code_old_address = 0;
const char* assembly_file_name = NULL; // 汇编文件路径
const char* target_file_name = NULL; // 目标文件路径
const char* list_file_name = NULL; // 列表文件路径
const char* dbg_file_name = NULL; // 调试信息文件路径
const unsigned long dbg_file_magic = 58;
const unsigned long dbg_file_version = 1;
// 输出汇编过程中发现的语法错误信息
void error_msg(const char* error_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: error: %s\n", assembly_file_name, line_num, error_msg);
}
else
{
printf("%s: error: %s\n", assembly_file_name, error_msg);
}
exit(1);
}
char formated_msg[1024]; // 将格式化后的错误信息放在此字符串中。
void error_msg_warning_instr(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令在微处理器还没有实现,不能正确执行。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_miss_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令缺少操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_op(const char* instruction_name, int line_num)
{
sprintf(formated_msg, "%s 指令不支持这样的操作数。", instruction_name);
error_msg(formated_msg, line_num);
}
void error_msg_same_symbol(const char* symbol, int line_num, int ref_line_num)
{
sprintf(formated_msg, "符号 %s 重复定义。参见第 %d 行。", symbol, ref_line_num);
error_msg(formated_msg, line_num);
}
void error_msg_keyword_symbol(const char* symbol, int line_num)
{
sprintf(formated_msg, "不能使用保留的关键字 %s 作为符号名称。", symbol);
error_msg(formated_msg, line_num);
}
void error_msg_wrong_data(const char* data, int line_num)
{
sprintf(formated_msg, "%s 不是有效的数据。", data);
error_msg(formated_msg, line_num);
}
// 输出汇编过程中发现的警告信息
void warning_msg(const char* warning_msg, int line_num)
{
if(line_num >= 1)
{
printf("%s:%d: warning: %s\n", assembly_file_name, line_num, warning_msg);
}
else
{
printf("%s: warning: %s\n", assembly_file_name, warning_msg);
}
}
void warning_msg_invalid_line(int line_num)
{
warning_msg("忽略无效的代码行。", line_num);
}
void warning_msg_unref_symbol(const char* symbol, int line_num)
{
sprintf(formated_msg, "符号 %s 未被引用。", symbol);
warning_msg(formated_msg, line_num);
}
// 判断是否是立即数。如果是数字开头,或者是负号开头的,就认为是立即数。
int is_immediate(const char* token)
{
return (isdigit(token[0]) || '-' == token[0]) ? 1 : 0;
}
// 指令操作数类型
enum
{
OT_REGISTER_R0 // $r0
,OT_REGISTER_R1 // $r1
,OT_REGISTER_R2 // $r2
,OT_REGISTER_R3 // $r3
,OT_IMMEDIATE // 立即数
,OT_SYMBOL // 符号
};
// 得到指令操作数的类型
unsigned long get_operand_type(const char* op)
{
unsigned long op_type;
if(stricmp(op, r0_register_keyword) == 0)
{
op_type = OT_REGISTER_R0;
}
else if(stricmp(op, r1_register_keyword) == 0)
{
op_type = OT_REGISTER_R1;
}
else if(stricmp(op, r2_register_keyword) == 0)
{
op_type = OT_REGISTER_R2;
}
else if(stricmp(op, r3_register_keyword) == 0)
{
op_type = OT_REGISTER_R3;
}
else if(is_immediate(op))
{
op_type = OT_IMMEDIATE;
}
else
{
op_type = OT_SYMBOL;
}
return op_type;
}
// 根据 r? 寄存器,得到一个机器码
char get_machine_code_from_r(unsigned long op_type)
{
return (char)(op_type - OT_REGISTER_R0);
}
// 根据立即数得到一个机器码。注意,允许使用负数,所以返回值是带符号的 8 位 char。
char get_machine_code_from_immediate(const char* immediate)
{
char* end;
int start_index = (immediate[0] == '-' ? 1 : 0);
int base = (immediate[start_index] == '0' && (immediate[start_index + 1] == 'x' || immediate[start_index + 1] == 'X')) ? 16 : 10;
return (char)strtol(immediate, &end, base);
}
// 向重定位表中添加一个重定位信息
void add_reallocate(const char* symbol, int line_num, const char* instr_key_word)
{
reallocate_table[reallocate_count].address = machine_code_address;
strcpy(reallocate_table[reallocate_count].symbol_name, symbol);
strcpy(reallocate_table[reallocate_count].instr_key_word, instr_key_word);
reallocate_table[reallocate_count].line_num = line_num;
reallocate_count++;
}
// 判断一个操作数是否是lw或sw指令的第二个操作数类型,立即数表示地址偏移,可正可负
int is_lw_sw_instr_operand(const char* op)
{
int i;
// 最后一个字符必须是后括号
if (op[strlen(op) - 1] != ')')
{
return 0;
}
// 倒数第二个字符必须是0,1,2,3
if (op[strlen(op) - 2] != '0'
&& op[strlen(op) - 2] != '1'
&& op[strlen(op) - 2] != '2'
&& op[strlen(op) - 2] != '3')
{
return 0;
}
// 倒数第三个字符必须是r
if (op[strlen(op) - 3] != 'r')
{
return 0;
}
// 倒数第四个字符必须是$
if (op[strlen(op) - 4] != '$')
{
return 0;
}
// 倒数第五个字符必须是'('
if (op[strlen(op) - 5] != '(')
{
return 0;
}
// 第2个到倒数第6个字符都必须是数字
// 第一个字符可以为‘-’,表示负数
if (op[0] == '-')
{
for(i=1; i<(int)strlen(op)-5; i++)
{
if(!isdigit(op[i]))
{
return 0;
}
}
}
else
{
for(i=0; i<(int)strlen(op)-5; i++)
{
if(!isdigit(op[i]))
{
return 0;
}
}
}
return 1;
}
// 根据 r? 寄存器,得到一个机器码
char get_machine_code_from_operand(const char* operand)
{
if (operand[strlen(operand) - 2] == '0')
{
return (char)0;
}
else if (operand[strlen(operand) - 2] == '1')
{
return (char)1;
}
else if (operand[strlen(operand) - 2] == '2')
{
return (char)2;
}
else if (operand[strlen(operand) - 2] == '3')
{
return (char)3;
}
else
{
return (char)(-1);
}
}
//////////////////////////////////////////////////////////////////////////
// R型指令
//
// or $rd, $rs, $rt
void parse_or(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(or_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd;
machine_code_address++;
}
else
{
error_msg_wrong_op(or_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// and $rd, $rs, $rt
void parse_and(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(and_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x01;
machine_code_address++;
}
else
{
error_msg_wrong_op(and_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// add $rd, $rs, $rt
void parse_add(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(add_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x02;
machine_code_address++;
}
else
{
error_msg_wrong_op(add_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sub $rd, $rs, $rt
void parse_sub(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(sub_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x03;
machine_code_address++;
}
else
{
error_msg_wrong_op(sub_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sllv $rd, $rs, $rt
void parse_sllv(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(sllv_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x04;
machine_code_address++;
}
else
{
error_msg_wrong_op(sllv_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// srlv $rd, $rs, $rt
void parse_srlv(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(srlv_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x05;
machine_code_address++;
}
else
{
error_msg_wrong_op(srlv_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// srav $rd, $rs, $rt
void parse_srav(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(srav_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x06;
machine_code_address++;
}
else
{
error_msg_wrong_op(srav_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// slt $rd, $rs, $rt
void parse_slt(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(slt_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 2~0,3位运算方式编码
machine_code[machine_code_address] = rd | 0x07;
machine_code_address++;
}
else
{
error_msg_wrong_op(slt_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// xor $rd, $rs, $rt
void parse_xor(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(xor_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | 0x08;
machine_code_address++;
}
else
{
error_msg_wrong_op(xor_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// nor $rd, $rs, $rt
void parse_nor(int line_num)
{
char *op1, *op2, *op3;
char rs, rt, rd;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(nor_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type >= OT_REGISTER_R0
&& op3_type <= OT_REGISTER_R3)
{
// 15~12共4位操作码都是0
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op3_type);
machine_code[machine_code_address] = rs | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | 0x09;
machine_code_address++;
}
else
{
error_msg_wrong_op(nor_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jr $rs
void parse_jr(int line_num)
{
char *op;
char rs;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char_comma);
if(NULL == op)
{
error_msg_miss_op(jr_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(op_type >= OT_REGISTER_R0 && op_type <= OT_REGISTER_R3 )
{
// 15~12共4位操作码表示十进制数1
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op_type);
rs = rs << 2;
machine_code[machine_code_address] = 0x10 | rs;
machine_code_address++;
// 低8位
machine_code[machine_code_address] = 0x00;
machine_code_address++;
}
else
{
error_msg_wrong_op(jr_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jalr $rs
void parse_jalr(int line_num)
{
char *op;
char rs;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char_comma);
if(NULL == op)
{
error_msg_miss_op(jalr_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(op_type >= OT_REGISTER_R0 && op_type <= OT_REGISTER_R3 )
{
// 15~12共4位操作码表示十进制数2
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op_type);
rs = rs << 2;
machine_code[machine_code_address] = 0x20 | rs;
machine_code_address++;
// 低8位
machine_code[machine_code_address] = 0x00;
machine_code_address++;
}
else
{
error_msg_wrong_op(jalr_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sll $rd, $rt, shamt
void parse_sll(int line_num)
{
char *op1, *op2, *op3;
char rd, rt, shamt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(sll_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码表示十进制12
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0xC0 | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 5~4,2位编码移位数目
shamt = get_machine_code_from_immediate(op3);
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | shamt | 0x04;
machine_code_address++;
}
else
{
error_msg_wrong_op(sll_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// srl $rd, $rt, shamt
void parse_srl(int line_num)
{
char *op1, *op2, *op3;
char rd, rt, shamt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(srl_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码表示十进制13
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0xD0 | rt;
machine_code_address++;
// 7~6,2位rd寄存器编码
rd = get_machine_code_from_r(op1_type);
rd = rd << 6;
// 5~4,2位编码移位数目
shamt = get_machine_code_from_immediate(op3);
// 3~0,4位运算方式编码
machine_code[machine_code_address] = rd | shamt | 0x05;
machine_code_address++;
}
else
{
error_msg_wrong_op(srl_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// I型指令
//
// ori $rt, $rs, imm
void parse_ori(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(ori_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x30 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(op3);
machine_code_address++;
}
else
{
error_msg_wrong_op(ori_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// andi $rt, $rs, imm
void parse_andi(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(andi_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x40 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(op3);
machine_code_address++;
}
else
{
error_msg_wrong_op(andi_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// addi $rt, $rs, imm
void parse_addi(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(addi_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op2_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x50 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(op3);
machine_code_address++;
}
else
{
error_msg_wrong_op(addi_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// lw $rt, offset($rs)
void parse_lw(int line_num)
{
int i;
char *op1, *op2;
char immediate[8];
char rs, rt;
unsigned long op1_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(lw_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& is_lw_sw_instr_operand(op2))
{
rs = get_machine_code_from_operand(op2);
rs = rs << 2;
// 解析第一个到倒数第六个字符得到一个十进制数
for(i=0; i<(int)strlen(op2)-5; i++)
{
immediate[i] = op2[i];
}
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x60 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(immediate);
machine_code_address++;
}
else
{
error_msg_wrong_op(lw_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// sw $rt, offset($rs)
void parse_sw(int line_num)
{
int i;
char *op1, *op2;
char immediate[8];
char rs, rt;
unsigned long op1_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(sw_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& is_lw_sw_instr_operand(op2))
{
rs = get_machine_code_from_operand(op2);
rs = rs << 2;
// 解析第一个到倒数第六个字符得到一个十进制数
for(i=0; i<(int)strlen(op2)-5; i++)
{
immediate[i] = op2[i];
}
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op1_type);
machine_code[machine_code_address] = 0x70 | rs | rt;
machine_code_address++;
// 7~0,8位立即数
machine_code[machine_code_address] = get_machine_code_from_immediate(immediate);
machine_code_address++;
}
else
{
error_msg_wrong_op(sw_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// beq $rs, $rt, label
void parse_beq(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(beq_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_SYMBOL)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0x80 | rs | rt;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op3, line_num, beq_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(beq_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// bne $rs, $rt, label
void parse_bne(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(bne_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_SYMBOL)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0x90 | rs | rt;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op3, line_num, bne_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(bne_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// bgt $rs, $rt, label
void parse_bgt(int line_num)
{
char *op1, *op2, *op3;
char rs, rt;
unsigned long op1_type, op2_type, op3_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
op3 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2 || NULL == op3)
{
error_msg_miss_op(bgt_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
op3_type = get_operand_type(op3);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type >= OT_REGISTER_R0
&& op2_type <= OT_REGISTER_R3
&& op3_type == OT_SYMBOL)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
// 9~8,2位rt寄存器编码
rt = get_machine_code_from_r(op2_type);
machine_code[machine_code_address] = 0xA0 | rs | rt;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op3, line_num, bgt_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(bgt_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// bltz $rs, label
void parse_bltz(int line_num)
{
char *op1, *op2;
char rs;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char_comma);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(bltz_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type == OT_SYMBOL)
{
// 15~12共4位操作码表示十进制数14
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
machine_code[machine_code_address] = 0xE0 | rs;
machine_code_address++;
// 7~0,有符号偏移量offset
add_reallocate(op2, line_num, bltz_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(bltz_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// J型指令
//
// jump label
void parse_jump(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jump_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jump label
machine_code[machine_code_address] = 0xB0;
machine_code_address++;
// 重定位
add_reallocate(op, line_num, jump_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(jump_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
// jal label
void parse_jal(int line_num)
{
char *op;
unsigned long op_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op = strtok(NULL, delimit_char);
if(NULL == op)
{
error_msg_miss_op(jal_instruction_keyword, line_num);
}
op_type = get_operand_type(op);
if(OT_SYMBOL == op_type)
{
// jal label
machine_code[machine_code_address] = 0xF0;
machine_code_address++;
// 重定位
add_reallocate(op, line_num, jal_instruction_keyword);
machine_code_address++;
}
else
{
error_msg_wrong_op(jal_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// DISP指令
//
// DISP $rs, imm
void parse_disp(int line_num)
{
char *op1, *op2;
char rs;
unsigned long op1_type, op2_type;
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
op1 = strtok(NULL, delimit_char_comma);
op2 = strtok(NULL, delimit_char);
if(NULL == op1 || NULL == op2)
{
error_msg_miss_op(jal_instruction_keyword, line_num);
}
op1_type = get_operand_type(op1);
op2_type = get_operand_type(op2);
if(op1_type >= OT_REGISTER_R0
&& op1_type <= OT_REGISTER_R3
&& op2_type == OT_IMMEDIATE)
{
// 15~12共4位操作码
// 11~10,2位rs寄存器编码
rs = get_machine_code_from_r(op1_type);
rs = rs << 2;
machine_code[machine_code_address] = 0x01 | rs;
machine_code_address++;
// DISP指令的立即数字段只有0、1两个取值,用来选择在0号显示器还是1号显示器显示rs中的内容
machine_code[machine_code_address] = get_machine_code_from_immediate(op2);
machine_code_address++;
}
else
{
error_msg_wrong_op(jal_instruction_keyword, line_num);
}
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
// halt指令
//
// halt
void parse_halt(int line_num)
{
if(assembler_state != AS_TEXT)
{
warning_msg_invalid_line(line_num);
return;
}
machine_code[machine_code_address] = 0xC0;
machine_code_address++;
machine_code[machine_code_address] = 0x00;
machine_code_address++;
//
// 在代码行数据库中,标记此行是一个指令行
//
line_database[line_count].flag |= LF_INSTRUCTION;
}
//////////////////////////////////////////////////////////////////////////
//
// 向符号表中添加一个符号
void add_symbol(const char* symbol, int line_num)
{
int i;
// 符号名称不能重复
for(i=0; i<symbol_count; i++)
{
if(stricmp(symbol, symbol_table[i].name) == 0)
{
error_msg_same_symbol(symbol, line_num, symbol_table[i].line_num);
}
}
// 符号数量有限
if(symbol_count == MAX_SYMBOL_COUNT)
{
sprintf(formated_msg, "定义了太多的符号。最多可以定义 %d 个符号。", MAX_SYMBOL_COUNT);
error_msg(formated_msg, line_num);
}
// 添加符号
strcpy(symbol_table[symbol_count].name, symbol);
symbol_table[symbol_count].address = machine_code_address;
symbol_table[symbol_count].line_num = line_num;
symbol_count++;
}
// 解析符号
void parse_symbol(const char* symbol_with_colon, int line_num)
{
char symbol[MAX_SYMBOL_LENGTH];
char* token;
// 删除符号末尾的冒号
strcpy(symbol, symbol_with_colon);
symbol[strlen(symbol) - 1] = 0;
if(AS_TEXT == assembler_state)
{
// 代码段中的标号作为符号。记录到符号表中,不产生机器码。
add_symbol(symbol, line_num);
// 标号必须单独占一行,否则报错
if (strtok(NULL, delimit_char) != NULL)
{
error_msg("标号必须单独占用一行。", line_num);
}
}
else if(AS_DATA == assembler_state)
{
// 数据段中的变量作为符号。一个变量可以包含多个字节数据。记录到符号表中,产生机器码。
add_symbol(symbol, line_num);
while((token = strtok(NULL, delimit_char)) != NULL)
{
if(!is_immediate(token))
{
error_msg_wrong_data(token, line_num);
}
machine_code[machine_code_address] = get_machine_code_from_immediate(token);
machine_code_address++;
symbol_table[symbol_count - 1].machine_code_count++;
}
}
else
{
warning_msg_invalid_line(line_num);
}
}
// 解析代码段开始标志
void parse_code_section_keyword(int line_num)
{
// 代码段标志
if(AS_DATA == assembler_state)
{
error_msg("代码段不能定义在数据段的后面。", line_num);
}
else if(AS_TEXT == assembler_state)
{
error_msg("定义了重复的代码段。", line_num);
}
assembler_state = AS_TEXT;
}
// 解析数据段开始标志
void parse_data_section_keyword(int line_num)
{
// 数据段标志
if(AS_DATA == assembler_state)
{
error_msg("定义了重复的数据段。", line_num);
}
else if(AS_BEGIN == assembler_state)
{
error_msg("数据段不能定义在代码段的前面。", line_num);
}
assembler_state = AS_DATA;
}
// 定义关键字和解析函数的对应关系
typedef void (*PARSE_FUNCTION)(int line_num);
struct KEYWORD_FUNCTION_ENTRY
{
const char** keyword;
PARSE_FUNCTION parse_function;
};
//
// 必须将关键字及其解析函数放在下面的表中。从而可以使用“表驱动”的编程模式。
//
struct KEYWORD_FUNCTION_ENTRY keyword_function_table[] =
{
{ NULL, NULL } // 未用
,{ &code_section_keyword, parse_code_section_keyword }
,{ &data_section_keyword, parse_data_section_keyword }
,{ &or_instruction_keyword, parse_or }
,{ &and_instruction_keyword, parse_and }
,{ &add_instruction_keyword, parse_add }
,{ &sub_instruction_keyword, parse_sub }
,{ &sllv_instruction_keyword, parse_sllv }
,{ &srlv_instruction_keyword, parse_srlv }
,{ &srav_instruction_keyword, parse_srav }
,{ &slt_instruction_keyword, parse_slt }
,{ &jr_instruction_keyword, parse_jr }
,{ &jalr_instruction_keyword, parse_jalr }
,{ &xor_instruction_keyword, parse_xor }
,{ &nor_instruction_keyword, parse_nor }
,{ &srl_instruction_keyword, parse_srl }
,{ &sra_instruction_keyword, NULL }
,{ &sll_instruction_keyword, parse_sll }
,{ &ori_instruction_keyword, parse_ori }
,{ &andi_instruction_keyword, parse_andi }
,{ &addi_instruction_keyword, parse_addi }
,{ &lw_instruction_keyword, parse_lw }
,{ &sw_instruction_keyword, parse_sw }
,{ &beq_instruction_keyword, parse_beq }
,{ &bne_instruction_keyword, parse_bne }
,{ &bgt_instruction_keyword, parse_bgt }
,{ &bltz_instruction_keyword, parse_bltz }
,{ &bgez_instruction_keyword, NULL }
,{ &jump_instruction_keyword, parse_jump }
,{ &jal_instruction_keyword, parse_jal }
,{ &r0_register_keyword, NULL }
,{ &r1_register_keyword, NULL }
,{ &r2_register_keyword, NULL }
,{ &r3_register_keyword, NULL }
,{ &ra_register_keyword, NULL }
,{ &t0_register_keyword, NULL }
};
// 判断是否是一个关键字。返回0,不是关键字;返回非0,是关键字,并且返回值就是关键字在表中的下标。
int match_keyword(const char* token)
{
int i;
for(i=1; i<sizeof(keyword_function_table)/sizeof(keyword_function_table[0]); i++)
{
if(stricmp(token, *keyword_function_table[i].keyword) == 0)
{
return i;
}
}
return 0;
}
// 判断是否是一个符号
int is_symbol(const char* token, int line_num)
{
int i;
char symbol_name[MAX_SYMBOL_LENGTH];
// 最后一个字符必须是冒号
if(token[strlen(token) - 1] != ':')
{
return 0;
}
// 第一个字符必须是字母或者下划线
if(token[0] != '_' && !isalpha(token[0]))
{
return 0;
}
// 后面的字符必须是字母、数字、下划线
for(i=0; i<(int)strlen(token)-2; i++)
{
if(token[i] != '_' && !isalpha(token[i]) && !isdigit(token[i]))
{
return 0;
}
}
// 不能与关键字相同
strcpy(symbol_name, token);
symbol_name[strlen(symbol_name) - 1] = 0;
if(match_keyword(symbol_name) != 0)
{
error_msg_keyword_symbol(symbol_name, line_num);
}
return 1;
}
// 输出版本信息
void version_msg()
{
printf(
"Engintime 16bit MIPS 指令汇编器 [版本 2.0]\n"
);
}
// 输出帮助信息
void help_msg()
{
printf(
"Engintime 16bit MIPS 指令汇编器。\n\n"
"用法:\n\n"
" dmasm.exe assembly_file_name [options]\n\n"
"选项:\n\n"
" -g debug_file_name\t指定生成的调试信息文件路径。\n"
" -h\t\t\t打印此帮助信息。\n"
" -l list_file_name\t指定生成的列表文件路径。\n"
" -o target_file_name\t指定生成的目标文件路径。若未指定,默认生成 a.obj 文件。\n"
" -v\t\t\t打印版本信息。\n"
);
printf("\n");
version_msg();
exit(1);
}
void argument_error_msg()
{
printf("命令行参数错误。\n\n");
help_msg();
}
// 处理器用户输入的命令行参数
void process_argument(int argc, char* argv[])
{
int i;
// argv[0] 是 "easm.exe",所以可以忽略。
for(i=1; i<argc; i++)
{
if(strcmp(argv[i], "-v") == 0)
{
version_msg();
exit(1);
}
else if(strcmp(argv[i], "-h") == 0)
{
help_msg();
}
else if(strcmp(argv[i], "-o") == 0)
{
if(i + 1 < argc)
{
i++;
target_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-l") == 0)
{
if(i + 1 < argc)
{
i++;
list_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(strcmp(argv[i], "-g") == 0)
{
if(i + 1 < argc)
{
i++;
dbg_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
else if(NULL == assembly_file_name && argv[i][0] != '-')
{
// 输入的汇编源代码文件路径。
assembly_file_name = argv[i];
}
else
{
argument_error_msg();
}
}
//
// 如果命令行参数中没有指定输入的汇编文件,就打印错误信息后退出
//
if(NULL == assembly_file_name)
{
printf("命令行参数错误。没有指定汇编源代码文件的路径。\n");
help_msg();
}
}
// 将一个字符串写入二进制文件中。先将字符串长度写入文件,然后将字符串中的
// 每个字符依次写入文件,不包括字符串末尾的 0.
void write_string_to_binary_file(const char* str, FILE* fp)
{
int str_length;
if(str != NULL)
{
str_length = strlen(str);
fwrite(&str_length, 1, sizeof(str_length), fp);
fwrite(str, 1, str_length, fp);
}
else
{
str_length = 0;
fwrite(&str_length, 1, sizeof(str_length), fp);
}
}
int main(int argc, char* argv[])
{
FILE* fp;
char* token;
char line[MAX_LINE_LENGTH];
int i, j;
int line_num = 1; // 行号从第一行开始计数
int keyword_index;
unsigned long base_PC, offset_PC;
//
// 处理命令行参数
//
process_argument(argc, argv);
//
// 打开汇编源代码文件
//
fp = fopen(assembly_file_name, "r");
if(NULL == fp)
{
printf("无法打开源代码文件 %s\n", assembly_file_name);
return 1;
}
//////////////////////////////////////////////////////////////////////////
// 第一遍扫描
version_msg();
printf("\n正在汇编 %s...\n", assembly_file_name);
//
// 一次读取一行文本,同时记录所有的代码行信息
//
while(fgets(line, sizeof(line), fp) != NULL)
{
//
// 将一行代码的信息记录到代码行数据库中
//
strcpy(line_database[line_count].line_string, line);
line_database[line_count].line_num = line_num;
line_database[line_count].address = machine_code_address;
//
// 将代码行中的注释剥离
//
line[strcspn(line, ";")] = 0;
//
// 开始解析代码行
//
token = strtok(line, delimit_char);
if(NULL == token)
{
// 如果是空行,不做任何处理
}
else if((keyword_index = match_keyword(token)) != 0
&& keyword_function_table[keyword_index].parse_function != NULL)
{
// 根据关键字进行相应的处理
keyword_function_table[keyword_index].parse_function(line_num);
}
else if(is_symbol(token, line_num))
{
// 处理符号
parse_symbol(token, line_num);
}
else
{
error_msg("无法识别的代码行。", line_num);
}
//
// 补充代码行数据库信息
//
line_database[line_count].machine_code_count = machine_code_address - machine_code_old_address;
machine_code_old_address = machine_code_address;
//
// 记录产生了机器码的代码行数量
//
if(line_database[line_count].machine_code_count != 0)
{
machine_code_line_count++;
}
//
// 增加行号
//
line_count++;
line_num++;
if(line_count == MAX_LINE_COUNT)
{
sprintf(formated_msg, "汇编文件中的代码行过多,最多只能有 %d 行代码。", MAX_LINE_COUNT);
error_msg(formated_msg, -1);
}
}
fclose(fp);
//////////////////////////////////////////////////////////////////////////
// 第二遍扫描
//
// 根据符号表更新重定位表
//
for(i=0; i<reallocate_count; i++)
{
for(j=0; j<symbol_count; j++)
{
if(stricmp(symbol_table[j].name, reallocate_table[i].symbol_name) == 0)
{
if (stricmp(beq_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(bne_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(bgt_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(bltz_instruction_keyword, reallocate_table[i].instr_key_word) == 0)
{
// 条件转移指令
// 因为标号是指令的第二个字节编码,所以标号地址首先减1,指向该条指令。
// 然后加2,指向下一条指令。因为偏移是相对于PC+2后的地址计算的
//
machine_code[reallocate_table[i].address] = (BYTE)((symbol_table[j].address - (reallocate_table[i].address - 1 + 2))/2);
symbol_table[j].ref_count++;
}
else if (stricmp(jump_instruction_keyword, reallocate_table[i].instr_key_word) == 0
|| stricmp(jal_instruction_keyword, reallocate_table[i].instr_key_word) == 0)
{
//
// 无条件转移指令
//
// 获取跳转指令地址高4位,低12位置为0,作为无条件跳转指令的相对偏移基址
base_PC = reallocate_table[i].address & 0xf000;
// 获取标号地址相对于基地址的偏移,并取出其中的低12位做为有效位
offset_PC = (symbol_table[j].address - base_PC) & 0x0fff;
// 更新跳转指令编码
machine_code[reallocate_table[i].address - 1] = (BYTE)(machine_code[reallocate_table[i].address - 1] | offset_PC >> 8);
machine_code[reallocate_table[i].address] = (BYTE)(offset_PC/2);
symbol_table[j].ref_count++;
}
break;
}
}
if(j == symbol_count)
{
// 重定位表中使用的符号在符号表中未定义,报错
sprintf(formated_msg, "使用了未定义的符号 %s。", reallocate_table[i].symbol_name);
error_msg(formated_msg, reallocate_table[i].line_num);
}
}
//
// 如果存在未引用的符号,输出警告信息。
//
for(i=0; i<symbol_count; i++)
{
if(0 == symbol_table[i].ref_count)
{
warning_msg_unref_symbol(symbol_table[i].name, symbol_table[i].line_num);
}
}
//////////////////////////////////////////////////////////////////////////
// 产生各种输出文件
//
// 将机器码写入二进制文件
//
if(NULL == target_file_name)
{
target_file_name = "a.obj";
}
fp = fopen(target_file_name, "wb");
if(NULL == fp)
{
printf("无法打开输出文件 %s\n", target_file_name);
return 1;
}
fwrite(machine_code, 1, machine_code_address, fp);
fclose(fp);
printf("\n生成目标文件 %s\n", target_file_name);
//
// 将代码行数据库中的信息写入列表文件
//
if(list_file_name != NULL)
{
fp = fopen(list_file_name, "w");
if(NULL == fp)
{
printf("无法打开列表文件 %s\n", list_file_name);
return 1;
}
for(i=0; i<line_count; i++)
{
// 行号
fprintf(fp, "%04d ", line_database[i].line_num);
// 地址和机器码
if(line_database[i].machine_code_count > 0)
{
fprintf(fp, "%02X ", line_database[i].address);
for(j=0; j<line_database[i].machine_code_count; j++)
{
// 确保每行最多写两个字节的机器码
if(j != 0 && j % 2 == 0)
{
if(2 == j)
{
fprintf(fp, " ");
}
else
{
fprintf(fp, "\n ");
}
}
fprintf(fp, "%02X ", machine_code[line_database[i].address + j]);
if(1 == j)
{
fprintf(fp, " ");
fprintf(fp, line_database[i].line_string);
}
}
if(1 == j)
{
fprintf(fp, " ");
fprintf(fp, line_database[i].line_string);
}
else if(j > 2)
{
fprintf(fp, "\n");
}
}
else
{
fprintf(fp, " ");
// 源代码
fprintf(fp, line_database[i].line_string);
}
}
fclose(fp);
printf("生成列表文件 %s\n", list_file_name);
}
//
// 将代码行数据库中的信息写入二进制的调试信息文件。
//
// 调试信息的基本格式为:
// 魔数(4字节),固定不可改变
// 版本号(4字节),固定不可改变
// 源代码文件绝对路径字符串长度(4字节)
// 源代码文件绝对路径字符串(不包括字符串结尾的0)
// 列表文件绝对路径字符串长度(4字节)
// 列表文件绝对路径字符串(不包括字符串结尾的0)
//
// 代码行数据库中元素的数量(4字节)
// 代码行数据库中的所有元素
//
// 符号表元素的数量(4字节)
// 符号表中的所有元素
//
if(dbg_file_name != NULL)
{
fp = fopen(dbg_file_name, "wb");
if(NULL == fp)
{
printf("无法打开调试信息文件 %s\n", dbg_file_name);
return 1;
}
// 魔数
fwrite(&dbg_file_magic, 1, sizeof(dbg_file_magic), fp);
// 版本号
fwrite(&dbg_file_version, 1, sizeof(dbg_file_version), fp);
// 源代码文件路径
write_string_to_binary_file(assembly_file_name, fp);
// 列表文件路径
write_string_to_binary_file(list_file_name, fp);
// 代码行数据库中的所有元素
fwrite(&machine_code_line_count, 1, sizeof(machine_code_line_count), fp);
for(i=0; i<line_count; i++)
{
// 跳过没有产生机器码的代码行
if(0 == line_database[i].machine_code_count)
{
continue;
}
fwrite(&line_database[i].line_num, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].address, 1, sizeof(unsigned long), fp);
fwrite(&line_database[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&line_database[i].flag, 1, sizeof(unsigned long), fp);
}
// 符号表中的所有元素
fwrite(&symbol_count, 1, sizeof(symbol_count), fp);
for(i=0; i<symbol_count; i++)
{
write_string_to_binary_file(symbol_table[i].name, fp);
fwrite(&symbol_table[i].address, 1, sizeof(unsigned long), fp);
fwrite(&symbol_table[i].machine_code_count, 1, sizeof(int), fp);
fwrite(&symbol_table[i].line_num, 1, sizeof(int), fp);
}
fclose(fp);
printf("生成调试信息文件 %s\n", dbg_file_name);
}
return 0;
}
添加文件
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg height="2241" version="1.1" width="2928" xmlns="http://www.w3.org/2000/svg">
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="354" y="1493">PC[15..0]</text>
<polyline fill="none" points="754 773, 904 773" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="754 803, 904 803" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="754 833, 904 833" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="733" y2="733"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="733" y2="733"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 683, 964 783, 1034 733, 964 683" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="733" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="732" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="682">U2</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="829">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="773" y2="773"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="773" y2="773"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 723, 964 823, 1034 773, 964 723" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="773" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="772" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="722">U3</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="869">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="803" y2="803"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="803" y2="803"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 753, 964 853, 1034 803, 964 753" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="803" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="802" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="752">U4</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="899">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="833" y2="833"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="833" y2="833"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 783, 964 883, 1034 833, 964 783" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="833" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="832" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="782">U5</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="929">NNOT</text>
<rect fill="#80ff80" height="1100" stroke="#800000" stroke-width="1" width="500" x="1754" y="943"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="105" font-weight="700" text-anchor="start" x="1754" y="853">PCSRC</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1754" y="903">3mux1.dlsche</text>
<polygon fill="#ffff80" points="1754 1193, 1779 1168, 1829 1168, 1854 1193, 1829 1218, 1779 1218, 1754 1193" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1866" y="1193">S1</text>
<polygon fill="#ffff80" points="1754 1093, 1779 1068, 1829 1068, 1854 1093, 1829 1118, 1779 1118, 1754 1093" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1866" y="1093">S0</text>
<polygon fill="#ffff80" points="1754 1393, 1779 1368, 1829 1368, 1854 1393, 1829 1418, 1779 1418, 1754 1393" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1866" y="1393">C[15..0]</text>
<polygon fill="#ffff80" points="1754 1493, 1779 1468, 1829 1468, 1854 1493, 1829 1518, 1779 1518, 1754 1493" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1866" y="1493">A[15..0]</text>
<polygon fill="#ffff80" points="1754 1893, 1779 1868, 1829 1868, 1854 1893, 1829 1918, 1779 1918, 1754 1893" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1866" y="1893">B[15..0]</text>
<polygon fill="#ffff80" points="2254 1593, 2229 1568, 2179 1568, 2154 1593, 2179 1618, 2229 1618, 2254 1593" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2037" y="1593">F[15..0]</text>
<polyline fill="none" points="854 1493, 654 1493, 204 1493" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="863" y2="863"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="863" y2="863"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 813, 964 913, 1034 863, 964 813" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="863" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="862" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="812">U6</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="959">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="893" y2="893"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="893" y2="893"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 843, 964 943, 1034 893, 964 843" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="893" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="892" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="842">U7</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="989">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="923" y2="923"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="923" y2="923"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 873, 964 973, 1034 923, 964 873" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="923" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="922" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="872">U8</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1019">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="953" y2="953"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="953" y2="953"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 903, 964 1003, 1034 953, 964 903" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="953" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="952" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="902">U9</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1049">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="983" y2="983"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="983" y2="983"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 933, 964 1033, 1034 983, 964 933" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="983" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="982" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="932">U10</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1079">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1013" y2="1013"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1013" y2="1013"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 963, 964 1063, 1034 1013, 964 963" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1013" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1012" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="962">U11</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1109">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1043" y2="1043"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1043" y2="1043"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 993, 964 1093, 1034 1043, 964 993" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1043" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1042" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="992">U12</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1139">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1073" y2="1073"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1073" y2="1073"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 1023, 964 1123, 1034 1073, 964 1023" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1073" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1072" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="1022">U13</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1169">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1103" y2="1103"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1103" y2="1103"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 1053, 964 1153, 1034 1103, 964 1053" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1103" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1102" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="1052">U14</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1199">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1133" y2="1133"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1133" y2="1133"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 1083, 964 1183, 1034 1133, 964 1083" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1133" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1132" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="1082">U15</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1229">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1163" y2="1163"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1163" y2="1163"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 1113, 964 1213, 1034 1163, 964 1113" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1163" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1162" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="1112">U16</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1259">NNOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="954" x2="904" y1="1193" y2="1193"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="1044" x2="1104" y1="1193" y2="1193"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="964 1143, 964 1243, 1034 1193, 964 1143" stroke="#000000" stroke-width="5"/>
<circle cx="1038" cy="1193" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<circle cx="958" cy="1192" fill="none" r="4" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="985" y="1142">U17</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="952" y="1289">NNOT</text>
<polyline fill="none" points="904 863, 754 863" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 893, 754 893" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 923, 754 923" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 953, 754 953" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 983, 754 983" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1013, 754 1013" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1043, 754 1043" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1073, 754 1073" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1103, 754 1103" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1133, 754 1133" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1163, 754 1163" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="904 1193, 754 1193" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 733, 1294 733" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 773, 1294 773" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 803, 1294 803" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 833, 1294 833" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 863, 1294 863" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 893, 1294 893" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 923, 1294 923" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 953, 1294 953" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 983, 1294 983" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1013, 1294 1013" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1043, 1294 1043" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1073, 1294 1073" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1103, 1294 1103" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1133, 1294 1133" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1163, 1294 1163" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="1104 1193, 1294 1193" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="733" y2="683"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="773" y2="723"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="803" y2="753"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="833" y2="783"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="863" y2="813"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="893" y2="843"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="923" y2="873"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="953" y2="903"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="983" y2="933"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1013" y2="963"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1043" y2="993"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1073" y2="1023"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1103" y2="1053"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1133" y2="1083"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1163" y2="1113"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="1294" x2="1344" y1="1193" y2="1143"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1193">PC15</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1163">PC14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1133">PC13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1103">Instr11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1073">Instr10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1043">Instr9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1013">Instr8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="983">Instr7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="953">Instr6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="923">Instr5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="893">Instr4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="863">Instr3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="833">Instr2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="803">Instr1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="773">Instr0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="733">PC_jmp0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="773">PC_jmp1</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="803">PC_jmp2</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="833">PC_jmp3</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="863">PC_jmp4</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="893">PC_jmp5</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="923">PC_jmp6</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="953">PC_jmp7</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="983">PC_jmp8</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1013">PC_jmp9</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1043">PC_jmp10</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1073">PC_jmp11</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1103">PC_jmp12</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1133">PC_jmp13</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1163">PC_jmp14</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1114" y="1193">PC_jmp15</text>
<polyline fill="none" points="1254 1493, 1754 1493" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<rect fill="#80ff80" height="400" stroke="#800000" stroke-width="1" width="400" x="854" y="1393"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="27" font-weight="700" text-anchor="start" x="854" y="1353">PC_NEXT</text>
<text alignment-baseline="after-edge" fill="#000080" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="854" y="1393">al.dlsche</text>
<polygon fill="#ffff80" points="1254 1493, 1229 1468, 1179 1468, 1154 1493, 1179 1518, 1229 1518, 1254 1493" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="1145" y="1543">F[15..0]</text>
<polygon fill="#ffff80" points="854 1493, 879 1468, 929 1468, 954 1493, 929 1518, 879 1518, 854 1493" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="966" y="1493">A[15..0]</text>
<polygon fill="#ffff80" points="854 1563, 879 1538, 929 1538, 954 1563, 929 1588, 879 1588, 854 1563" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="966" y="1563">B[15..0]</text>
<polygon fill="#ffff80" points="854 1633, 879 1608, 929 1608, 954 1633, 929 1658, 879 1658, 854 1633" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="966" y="1633">ALUControl0</text>
<polygon fill="#ffff80" points="854 1703, 879 1678, 929 1678, 954 1703, 929 1728, 879 1728, 854 1703" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="966" y="1703">ALUControl1</text>
<polygon fill="#ffff80" points="54 1493, 54 1468, 179 1468, 204 1493, 179 1518, 54 1518, 54 1493" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="54" y="1493">PC[15..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="823" y2="773"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="853" y2="803"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="883" y2="833"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="913" y2="863"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="943" y2="893"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="973" y2="923"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1003" y2="953"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1033" y2="983"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1063" y2="1013"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1093" y2="1043"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1123" y2="1073"/>
<polyline fill="none" points="704 1153, 704 1123, 704 733, 204 733" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="54 733, 54 708, 179 708, 204 733, 179 758, 54 758, 54 733" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="54" y="733">Instr[15..0]</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1153" y2="1103"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1183" y2="1133"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1213" y2="1163"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1243" y2="1193"/>
<polygon fill="#ffff80" points="54 1893, 54 1868, 279 1868, 304 1893, 279 1918, 54 1918, 54 1893" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="54" y="1893">PC_branch[15..0]</text>
<polyline fill="none" points="304 1893, 1754 1893" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="1344 683, 1344 1393, 1754 1393" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="54 393, 54 368, 179 368, 204 393, 179 418, 54 418, 54 393" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="54" y="393">jump</text>
<polygon fill="#ffff80" points="54 293, 54 268, 179 268, 204 293, 179 318, 54 318, 54 293" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="54" y="293">branch</text>
<polyline fill="none" points="2254 1593, 2654 1593" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2654 1593, 2654 1568, 2879 1568, 2904 1593, 2879 1618, 2654 1618, 2654 1593" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2654" y="1593">PC_NEW[15..0]</text>
<polyline fill="none" points="1454 1493, 1454 2193, 2654 2193" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polygon fill="#ffff80" points="2654 2193, 2654 2168, 2879 2168, 2904 2193, 2879 2218, 2654 2218, 2654 2193" stroke="#800000" stroke-width="1"/>
<text alignment-baseline="central" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="2654" y="2193">PC_NEXT[15..0]</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="134" x2="184" y1="1703" y2="1703"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="134 1703, 84 1653, 84 1753, 134 1703" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 124 1713)" x="124" y="1713">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 54 1713)" x="54" y="1713">U1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 84 1793)" x="84" y="1793">CONSTANT1</text>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1613" y2="1563"/>
<line stroke="#000080" stroke-linecap="round" stroke-width="5" x1="704" x2="754" y1="1663" y2="1613"/>
<polyline fill="none" points="754 1613, 754 1563, 854 1563" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="704 1613, 554 1613" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="584" y="1613">B0</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="584" y="1663">B1</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="134" x2="184" y1="1663" y2="1663"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="134 1663, 84 1613, 84 1713, 134 1663" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Times New Roman" font-size="30" font-weight="700" text-anchor="start" transform="rotate(-90 124 1673)" x="124" y="1673">1</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 54 1673)" x="54" y="1673">U18</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" transform="rotate(-90 84 1753)" x="84" y="1753">CONSTANT1</text>
<polyline fill="none" points="704 1663, 184 1663" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="854 1703, 184 1703" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000080" font-family="宋体" font-size="27" font-weight="400" text-anchor="start" x="134" y="1643">PC+2指向下一条指令</text>
<polyline fill="none" points="704 1183, 704 1243, 704 1493" stroke="#000080" stroke-linecap="round" stroke-linejoin="round" stroke-width="20"/>
<polyline fill="none" points="204 293, 554 293" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="204 393, 554 393" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="614" x2="554" y1="293" y2="293"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="694" x2="754" y1="293" y2="293"/>
<circle cx="690" cy="293" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="614 243, 614 343, 684 293, 614 243" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="634" y="257">U19</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="614" y="389">NOT</text>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="614" x2="554" y1="393" y2="393"/>
<line stroke="#000000" stroke-linecap="round" stroke-width="5" x1="694" x2="754" y1="393" y2="393"/>
<circle cx="690" cy="393" fill="none" r="5" stroke="#000000" stroke-width="5"/>
<polygon fill="#ffffff" fill-opacity="0.5" points="614 343, 614 443, 684 393, 614 343" stroke="#000000" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="634" y="357">U20</text>
<text alignment-baseline="after-edge" fill="#000000" font-family="Arial" font-size="25" font-weight="700" text-anchor="start" x="614" y="489">NOT</text>
<polyline fill="none" points="754 293, 1654 293, 1654 1093, 1754 1093" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<polyline fill="none" points="754 393, 1554 393, 1554 1193, 1754 1193" stroke="#0000ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/>
<text alignment-baseline="after-edge" fill="#000000" font-family="微软雅黑" font-size="105" font-weight="700" text-anchor="start" x="554" y="143">下一条指令选择模块</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="554" y="1893">PC_branch[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="1404" y="1393">PC_jmp[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="1354" y="1493">PC_next[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="45" font-weight="400" text-anchor="start" x="2274" y="1593">PC_new[15..0]</text>
<text alignment-baseline="after-edge" fill="#800000" font-family="Times New Roman" font-size="25" font-weight="400" text-anchor="start" x="754" y="1563">B[15..0]</text>
<circle cx="704" cy="1493" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
<circle cx="1454" cy="1493" fill="#000080" r="25" stroke="#000080" stroke-width="5"/>
</svg>
添加文件
这个 源代码变更 因为 太大 而不能显示。 你可以 浏览blob
.text
addi $r0, $r0, 1 ;r0 = r0 + 1
addi $r1, $r1, 2 ;r1 = r1 + 2
addi $r3, $r3, 3 ;r3 = r3 + 3
SHIFT:
sllv $r1, $r1, $r0 ;r1 = r1 << r0
add $r3, $r3, $r1 ;r3 = r3 + r1
slt $r2, $r1, $r0 ;r2 = r1 < r0 ? 1 : 0;
beq $r2, $r2, NEXT ;if r2 == r2, goto NEXT
NEXT:
lw $r0, 0($r1) ;r0 = memory[r1+0]
sw $r3, 0($r1) ;memory[r1+0] = r3
sub $r1, $r1, $r0 ;r1 = r1 - r0
add $r1, $r1, $r0 ;r1 = r1 + r0
bne $r1, $r2, END ;if r1 != r2, goto END
and $r3, $r1, $r2 ;r3 = r1 & r2
END:
jump F1 ;goto SHIFT
sllv $r3, $r0, $r1 ;r3 = r0 << r1
F1:
sub $r2, $r2, $r3 ;r2 = r2 - r3
bgt $r3, $r2, F2 ;if r3 > r2, goto F2
add $r2, $r2, $r3 ;r2 = r2 + r3
F2:
ori $r1, $r1, 3 ;r1 = r1 | 3
srav $r3, $r3, $r1 ;r3 = r3 >> r1,
andi $r1, $r2, 4 ;r1 = r2 & 4
jump SHIFT ;goto SHIFT
@echo off
mipsasm.exe rom.asm -o rom.rxm -l rom.lst -g rom.dbg
pause
添加文件
0001 .text
0002
0003 00 50 01 addi $r0, $r0, 1 ;r0 = r0 + 1
0004 02 55 02 addi $r1, $r1, 2 ;r1 = r1 + 2
0005 04 5F 03 addi $r3, $r3, 3 ;r3 = r3 + 3
0006
0007
0008 SHIFT:
0009 06 04 44 sllv $r1, $r1, $r0 ;r1 = r1 << r0
0010 08 0D C2 add $r3, $r3, $r1 ;r3 = r3 + r1
0011
0012 0A 04 87 slt $r2, $r1, $r0 ;r2 = r1 < r0 ? 1 : 0;
0013 0C 8A 00 beq $r2, $r2, NEXT ;if r2 == r2, goto NEXT
0014
0015 NEXT:
0016 0E 64 00 lw $r0, 0($r1) ;r0 = memory[r1+0]
0017 10 77 00 sw $r3, 0($r1) ;memory[r1+0] = r3
0018
0019 12 04 43 sub $r1, $r1, $r0 ;r1 = r1 - r0
0020 14 04 42 add $r1, $r1, $r0 ;r1 = r1 + r0
0021 16 96 01 bne $r1, $r2, END ;if r1 != r2, goto END
0022 18 06 C1 and $r3, $r1, $r2 ;r3 = r1 & r2
0023
0024 END:
0025 1A B0 0F jump F1 ;goto SHIFT
0026 1C 01 C4 sllv $r3, $r0, $r1 ;r3 = r0 << r1
0027
0028 F1:
0029 1E 0B 83 sub $r2, $r2, $r3 ;r2 = r2 - r3
0030 20 AE 01 bgt $r3, $r2, F2 ;if r3 > r2, goto F2
0031 22 0B 82 add $r2, $r2, $r3 ;r2 = r2 + r3
0032
0033 F2:
0034 24 35 03 ori $r1, $r1, 3 ;r1 = r1 | 3
0035 26 0D C6 srav $r3, $r3, $r1 ;r3 = r3 >> r1,
0036 28 49 04 andi $r1, $r2, 4 ;r1 = r2 & 4
0037
0038 2A B0 03 jump SHIFT ;goto SHIFT
0039
0040
0041
0042
0043
添加文件
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论