<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # **匯編指令** ## **move指令** | 指令形式 | 例子 | | --- | --- | | mov 寄存器,數據 | mov ax,8 | | ~~mov 段寄存器,數據~~ | ~~mov ds,8~~ | | mov 寄存器,寄存器 | mov ax,bx | | mov 寄存器,段寄存器 | mov ax,ds | | mov 段寄存器,寄存器 | mov ds,ax | | ~~mov 段寄存器,段寄存器~~ | ~~mov ds,cs~~ | | mov 寄存器,內存單元 | mov ax,[0] | | mov 內存單元,寄存器 | mov [0],ax | | mov 內存單元,段寄存器 | mov [0],ds | | mov 段寄存器,內存單元 | mov ds,[0] | | | | | | | **實例** ![](https://img.kancloud.cn/92/7c/927c1baa4e846e490dd8fb9028b5adfd_909x295.png) | 指令形式 | 例子 | | --- | --- | | add 寄存器,數據 | add ax,8 | | add 寄存器,寄存器 | add ax,bx | | add 寄存器,內存單元 | add ax,[0] | | add 內存單元,寄存器 | add [9],ax | | ~~add 內存單元,內存單元~~ | ~~add [9],[0]~~ | | 段寄存器是不能參與add和sub運算的,內存單元只能是一個 | | | | | | | | | | | | | | ## **add加指令:滿16進1** ![](https://img.kancloud.cn/d8/45/d8453171fee2391dca6e607888eee60b_712x329.png) ## **sub減指令:向前借1增16** ![](https://img.kancloud.cn/eb/36/eb36eec18a0ec040df33cb44e46ebaf3_707x325.png) ## **小結** 加法滿16進1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | | --- | --- |--- | --- |--- | --- |--- | --- |--- | --- |--- | --- |--- | --- |--- | --- | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 匯編命令不區分大小寫 ![](https://img.kancloud.cn/8f/76/8f76eca2cf8d1d1ffc48f15d41d0df7c_861x397.png) ![](https://img.kancloud.cn/13/c7/13c7efefbe4af4b3a69342a72d1d31ec_879x502.png) ## **實操** 必須將匯編命令寫入CS寄存器(相當于特殊段地址)和IP(相當于偏移地址)指定的內存里 t會向下逐個執行匯編命令,那么執行后怎么才能重置到自己想執行匯編命令的位置?如跳回到`mov ax,1000`jmp 073f:100 ![](https://img.kancloud.cn/2c/99/2c9973bdf5aec7728d79f05eef96912d_889x482.png) ![](https://img.kancloud.cn/44/e3/44e3676e475d8860b5412780cdb28ff9_896x569.png) ![](https://img.kancloud.cn/34/26/3426408810a01b6491b51a31cf533579_899x242.png) ## **棧操作** 棧特點:后進先出 ### **入棧:push** 將會一個新的元素放到棧頂 | 指令形式 | 例子 | | --- | --- | | push 寄存器 | push ax | | push 段寄存器 | push ds | | push內存單元 | push [0] | | | | 從棧頂取出一個元素 ### **出棧:pop** | 指令形式 | 例子 | | --- | --- | | pop 寄存器 | pop ax | | pop 段寄存器 | pop ds | | pop 內存單元 | push [0] | | | | # **偽指令** ## **assume :假設** 這條偽指令的含義為“假設”。它假設某一段寄存器和程序中的某一個用segment...ends定義的段相關聯。通過assume說明這種關聯,在需要的情況下,編譯程序可以將段寄存器和某一個具體的段相聯系。 assume并不是一條非要深入理解不可的偽指令,以后我們編程時,記著用assume將有特定用途的段和相關的段寄存器關聯起來即可。 ## **end:匯編程序結束標記** 匯編程序的結束標記。若程序結尾處不加end ,編譯器在編譯程序時,無法知道程序在何處結束。 ## **段名+segment [...] 段名+ends:段定義** 我們在前面的課程中所講解的段的概念,在匯編源程序中得到了應用與體現,一個源程序中所有將被計算機所處理的信息:指令、數據、棧,被劃分到了不同的段中。 一個匯編程序是由多個段組成的,這些段被用來存放代碼數據,或當作間來使用。 一個有意義的匯編程序中至少要有一個段,這個段用來存放代碼。 ``` assume cs:codesg codesg segment mov ax,0123H ... ... codesg segment end ``` ``` ;特殊段的關聯 assume cs:codesg,ds:data,ss:stack ;數據段 data segment dw 0123H,0456H,0789H,0abcH,odefH data ends ;棧段 stack segment dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 stack ends ;代碼段 codesg segment mov ax,stack mov ss,ax mov sp,20h ;設置棧段 mov ax,data mov ds,ax ;設置數據段 mov bx,0 mov cx,8 s: push [bx] add bx,2 loop s ... ... codesg segment end ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看