MOV CX,20
MOV BL,0
INLOOP:IN AL,41H
TEST AL,01H
JZ INLOOP
IN AL,40H
AND AL,0FH;ASCII十进制(BCD)
ADD BL,AL
LOOP INLOOP;共输入20个
MOV AL,BL;累加和®AL
MOV AH,0
MOV BL,100
DIV BL;AX¸BL;商®AL,余数®AH
MOV NBCDH,AL;存百位数
MOV AL,AH
MOV AH,0
MOV BL,10
DIV BL;十位数®AL,个位数®AH
MOV CL,4
ROL AL,CL;AL循环左移四位
OR AL,AH;形成压缩型BCD码
MOV NBCDL,AL;存十位,个位数
HLT
sum db 3 dup(0)
......
push ax
xor ax,ax
mov cx,14H
lop1:
in al,41H;读状态信息
test al,1;测试状态
jz lop1;若未就绪,继续查询
in al,40H;否则,读入数据
add ah,al
loop lop1
mov cl,08H
SHR AX,CL;AX<-AH
mov bl,0ah
mov cx,3
mov di,offset sum + 2
lop2:
div bl
mov di,ah;保存各十进制位
dec di
xor ah,ah
loop lop2
POP AX
......
同样的问题,另一个网友说是: 与单片机有关的编程。
http://zhidao.baidu.com/question/212337483.html