將內存中以BUF爲首地址的100個字節單元中爲原碼錶示的有符號數,依次變成用補碼錶示的有符號數,仍然依次放在原100個字節單元中,請編寫完整程序。

DATA SEGMENT
    BUF DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
      MOV DS,AX
      LEA BX,BUF
      MOV CX,100
 NEXT:TEST BYTE PTR [BX],80H    ;測試最高位,來判斷正負
      JZ ZS                     ;如果是正數,則保持不變
      AND BYTE PTR [BX],7FH     ;如果是負數,最高位置零
      NEG BYTE PTR [BX]         ;如果是負數,然後在取補
   ZS:INC BX
      LOOP NEXT
      MOV AH,4CH
      INT 21H
CODE ENDS
    END START
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章