1
在emu8086中寫了一個程序,它讀取2個32位十六進制數並計算它們的產品,這是一個64位數字。由於寄存器是16位的,我每次讀取4位數字並將它們存儲在其中一個數字中。我的問題是,當我讀取並打印(用於查看他鍵入的數字)數字時,我的程序每4位打印一個額外的字符。我找不到任何錯誤,所以我把這個例程放在這裏,我認爲必須引起這個。我在8086/8088程序集中的程序打印多餘字符
READ_HEX PROC NEAR
LL: READ
CMP AL,'0'
JL LL
CMP AL,'9'
JLE NEXT1
CMP AL,'A'
JL LL
CMP AL,'F'
JLE NEXT2
NEXT1:
PRINT AL
SUB AL,30H
RET
NEXT2:
PRINT AL
SUB AL,37H
RET
READ_HEX ENDP
MAKE_16_BIT PROC NEAR
MOV CX,4
MOV BX,0
MOV AX,0
L: CALL READ_HEX
MOV AH,0
ROL BX,4
ADD BX,AX
LOOP L
MAKE_16_BIT ENDP
抱歉給這麼小的一部分,但程序混亂,我知道問題在這裏。信不信由你,我沒有看到過,沒有回報! thnx很多! – petyhaker