DATA SEGMENT
DATA1 DB 33H,39H,31H,37H,34H
DATA2 DB 36H,35H,30H,38H,32H
DATA3 DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
CLC
NEXT: MOV AL,DATA1[SI]
ADC AL,DATA2[SI]
AAA
MOV DATA3[SI],AL
INC SI
LOOP NEXT
MOV SI,5
DISP: ADD DATA3[SI-1],30H
MOV DL,DATA3[SI-1]
MOV AH,2
INT 21H
DEC SI
JNZ DISP
MOV AH,4CH
INT 21H
CODE ENDS
END START
uj5u.com熱心網友回復:
從代碼操作上來看,這個定義不對吧,所有都要刪去 3 或換 3 為 0。這個應該是用一個位元組表示一個資料位來進行多位數相家操作。
uj5u.com熱心網友回復:

這是你的DATA1,你可能理解錯了,這個DATA1都是16進制定義的,后面帶H都是16進制的,你大概沒看到A~F出現吧。
右邊才是它的十進制表示,數字0~9的ASCII碼就是 (數字+30)H,你可以理解為程式里的DATA1定義了一個用ASCII碼表示的陣列。
原理上就是,你定義的DATA1是DB類,用8位二進制來表示一個字符,也就是00H~FFH來表示
uj5u.com熱心網友回復:
嘿嘿,謝謝大家了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/62276.html
標籤:匯編語言
下一篇:python有個問題
