如何在組合語言中減去 2 個小數點

發布 科技 2024-06-19
9個回答
  1. 匿名使用者2024-01-29

    輸入乙個 4 位的十六進製數,我把它轉換成乙個 2 位數,方法是把每個數字(現在是 ASCII 碼)轉換成 0-9 或 a-f 的數字,然後向左移動 4 位,把它放進乙個變數裡,迴圈就上線了,也就是將十進位十六進製轉換為 2 的基本演算法, 向左移動 4 位,然後繼續前進。

    xor bx,bx ;bx 包含輸入後轉換後的二進位數。

    mov cl,04 ;過渡期間的班次數。

    mov ah,01

    mov di,4 ;迴圈切換 4 個輸入。

    lp1: shl bx,cl ;由於頂部位也僅移動 3 4 位,因此它被放置在前面。

    int 21h

    sub al,30h ;將輸入數字與 0 的 ASCII 進行比較。

    cmp al,9

    jbe deal1 ;不小於 9 的等於 a、b 和 c。

    sub al,7 ;根據位置關係減去 7

    deal1: add bl,al ;轉換後的號碼將存入 BLDEC DI 中

    cmp di,0

    jnz lp1

  2. 匿名使用者2024-01-28

    sub ax ,bx

    它是暫存器 ax-bx,它將結果放入 ax 中。

    AX 和 BX 都是 16 位暫存器,可分為高 8 位和低 8 位。

    在彙編中,可以直接寫十六進製,比如ffh,但是如果16位中的上8位是0,就應該寫0fh,因為在定義變數時可以定義fh,會和十六進製混淆。

  3. 匿名使用者2024-01-27

    數就是數,不要跟進和競爭。

  4. 匿名使用者2024-01-26

    總結。 您好,親愛的,我很高興為您解答。

    答:兩個 128 位二進位數的加法函式通過臂彙編指令實現如下

    第乙個數字從高到低儲存在暫存器 r7 r4 中,第二個數字儲存於 。

    高電平從低電平儲存在暫存器 r11 r8 中,運算結果儲存在暫存器 r3 r0 中:

    adds r0,r4,r8 ;新增低端詞。

    adcs r1,r5,r9 ;新增第二個單詞並帶上進位。

    adcs r2,r6,r10 ;新增第三個詞,帶上乙個進位。

    adc r3,r7,r11 ;新增第四個單詞並帶來進位位置。

    請注意,這 4 條線代表乙個整體,需要垂直檢視。

    首先是加法計算,都是從低加法到高加法,這個都需要理解,比如15+14=29,先數一數大家,再計算10位,這裡編譯也是一樣。

    在第一行中,可以理解為先進行計算,結果儲存在下暫存器r0中,以此類推,至於進位,這肯定是要考慮的。

    ADD不在乎之前有沒有進位,也不在乎新增後有沒有進位。

    adds 不在乎之前是否有進位,但它在乎新增後是否有進位。

    ADC只關心之前是否有進位,而不關心加法後是否有進位。

    ADCS關心的是加法前有沒有進位,加法後有沒有進位。

    使用 arm 彙編指令實現兩個 128 位二進位數的加法功能。

    請耐心等待10分鐘,我們正在整理,我們會立即回答您,請不要結束諮詢。

    親愛的,很高興回答你關於使用臂組裝指令實現兩個128位二進位數加法功能的問題A: 利用臂裝配指令實現兩個128位拆分二進位數的加法功能 具體如下: 第乙個數字從高到低儲存在暫存器R7 R4中, 第二個數字從高到低儲存在暫存器R11 R8中,運算結果儲存在暫存器R3 R0中:

    adds r0,r4,r8 ;新增低端詞ADCS R1、R5、R9; 新增第二個詞,帶有進位ADCS R2、R6、R10; 加上第三個字,帶上進位霍爾源沈ADC R3、R7、R11; 加上第四個字,加上進位注意,這4行,代表乙個整體,需要垂直檢視。 首先是加法計算,都是從低加法到高加法,這個都需要理解,比如15+14=29,先數一數大家,再計算10位,這裡編譯也是一樣。 第一行,可以理解為你先計算,結果儲存在低暫存器r0中,以此類推,至於進位,這個肯定是要考慮的,add不在乎加法之前有沒有進位,也不在乎加法後有沒有進位, 不在乎之前有沒有進位,而是在乎新增ADC後是否有進位,只在乎之前是否有進位,不在乎新增ADCS後是否有進位,在乎之前是否有進位, 關心新增後是否有進位。

  5. 匿名使用者2024-01-25

    總結。 您好,對於您的問題 組合語言加法指令實現兩個16位十六進製數的過程是什麼 答:組合語言加法指令實現兩個16位十六進製數的過程是:

    c+f=b, 1 第 2 步:2+F+1 (1 向上) = 2, 1 第 3 步:7+1 (1 向上) = 8 0x72c + 0xff=0x82b。

    組合語言加法指令實現兩個 16 位十六進製數的過程是什麼?

    您好,對於您的問題 在組合語言加法指令中實現兩個 16 位十六進製數的過程是什麼 答: 組合語言加法指令實現兩個 16 位十六進製數的過程是: c+f=b,提前 1 步 2:

    2+f+1 (1 向上) = 2, 1 步驟 3: 7 + 1 (1 向上) = 8 0x72c + 0xff = 0x82b。

    組合語言是用於電子計算機、微處理器、微控制器或其他可程式設計裝置的任何低階語言,也稱為符號語言。 在組合語言中,機器指令使用助記符代替操作碼,指令或運算元使用位址符號或指示符代替位址。 在不同的裝置中,組合語言對應不同的機器語言指令集,通過彙編過程轉換為機器指令。

    特定的組合語言和特定的機器語言指令集是一對一的對應關係,不能直接移植到不同的平台之間。

    加法指令,使用助記符加法,常用的加法指令包括不帶進位的加法指令、帶進位的加法指令、增量指令和小數調整指令。

  6. 匿名使用者2024-01-24

    您好,親愛的,很高興回答您的<>

    答:組合語言加法指令通過新增指令add(addition)格式實現兩個16位十六進製數:add a,b a=a+b; 功能:將兩個數字相加為 1

    OPRD1 是任何通用暫存器或記憶體運算元,它可以是任何通用暫存器,也可以是任何記憶體運算元。 OPRD2 是即時數或任何通用暫存器運算元。 即時數只能用於源運算元 A 和 b 都是允許的暫存器,乙個是暫存器,另乙個也是允許的,但兩者都不允許是記憶體運算元。

  7. 匿名使用者2024-01-23

    你是兩個三位元組的二進位數,即 24 位二進位數,而不是三個 16 位的二進位數,只是兩個數字的相加。 您的程式寫入每個數字首先儲存在高位,然後儲存在低位。 如果把數字加到20h,先把最高位置放,再放21h,把最低位置放22h。

    但通常先把低倉放在20h,再把高倉放在22h之後,這樣程式就會改變。 另外,根據你的程式的編寫方式,修改如下,其他行不需要改動。

    請及時採用!

  8. 匿名使用者2024-01-22

    組合語言教科書中也有這個問題的例子,所以建議找這本書。

    大約需要 5 個步驟,過程如下:

    1.將 ax 中的內容除以 10,000,商為 10,000 位,其餘部分臨時儲存。

    將得到的商轉換為ASCII碼並輸出顯示。

    2.將餘數除以1000,得到的商為一千,餘數暫時儲存。

    將得到的商轉換為ASCII碼並輸出顯示。

    3.將餘數除以 100,得到的商為一百,餘數暫時儲存。

    將得到的商轉換為ASCII碼並輸出顯示。

    4.餘數除以10,得到的商為十位,餘數為個位數,臨時儲存。

    將得到的商轉換為ASCII碼並輸出顯示。

    5.將餘數轉換為 ASCII 程式碼並輸出。

    這個問題通常不是在迴圈中實現的,因為它不會簡化程式。

    這個問題必須注意:你不能每次都除以 10,先得到剩下的個位數,然後再得到 10 個、數百個、、......這種方法,因為 8086 的除法指令不支援這種處理,所以將大量數字除以 10 會導致除法溢位錯誤。

  9. 匿名使用者2024-01-21

    組合語言,直接使用十進位、十六進製、2基數,都沒問題。

    現在給出了十進位數,大概需要轉換為 16。

    嗯,轉換如下:

    47 = 2fh

    2724 = 0aa4h

    步驟如下:47 作為單位元組無符號數儲存在暫存器 30h、mov 30h、2fh 中

    將 2724 作為 31h(高位元組)和 32h(低位元組)中的雙位元組數。

    mov 31h, #0ah

    mov 32h, #0a4h

    將兩個無符號整數相加,加法結果儲存在33h(高位元組)和34h(低位元組),MOV A,32h

    add a, 30h

    mov 34h, a

    mov a, 31h

    addc a, #

    mov 33h, aend

相關回答
8個回答2024-06-19

以100為例,您可以根據需要進行更改。

stac segment stack >>>More

18個回答2024-06-19

我也有 0 個基本程式設計。

從王爽老師的《組合語言》一書開始,通俗易懂,如果不是這本書,也許我早就放棄學習程式設計了,學完這個看了譚浩強的《C語言程式設計》,只看前幾章,以win32彙編為基礎,Windows下的彙編和C很像, 再學習羅雲斌的《Windows環境下的32位組合語言程式設計》,學完這本書就上手了。 >>>More

20個回答2024-06-19

我自己的看法,我希望能全部讀完。

機器語言是硬體工作的物理語言,只有 0 和 1,不供人看到,例如 CPU 的內部工作指令。 >>>More

6個回答2024-06-19

檢視 IBM PC Assembly Language Programming(第 5 版)。

14個回答2024-06-19

1.如果資料段未結束,請新增 dseg ends2宣告資料時,db後面應該有空格,你不是自由的。 >>>More