DTSEG SEGMENT
DATAW DW 97F4H
COUNT DB 0
CNT_ASC DB 2 DUP(0), '$'
DTSEG ENDS
CDSEG SEGMENT
START:
ASSUME CS:CDSEG, DS:DTSEG
MOV AX, DTSEG
MOV DS, AX
SUB AL, AL
MOV DL, 16
MOV BX, DATAW
AGAIN: ROL BX, 1
JNC NEXT
ADD AL, 1
DAA
NEXT: DEC DL
JNZ AGAIN
MOV COUNT, AL
CALL BCD2ASC
CALL DISPLAY
MOV AH, 4CH
INT 21H
END START
BCD2ASC PROC
MOV AL, COUNT
MOV AH, AL
AND AX, 0F00FH
MOV CL, 4
SHR AH, CL
OR AX, 3030H
XCHG AH, AL
MOV CNT_ASC, AX
RET
BCD2ASC ENDP
DISPLAY PROC
MOV AH, 09
MOV DX, OFFSET CNT_ASC
INT 21H
RET
DISPLAY ENDP
此代码'计算整数字中包含的1的数量'。 我认为'97F4H'是整数字,COUNT是1的数字。 最后一行有一个错误。我不知道如何修复此代码。 我不知道在哪里放'CDSEG ENDP'。 我是第一次使用这个程序。 请帮忙〜
答案 0 :(得分:0)
将CDSEG ENDP
放在文件的最后一行之后,因为CDSEG SEGMENT
之后的所有内容都是说明。您希望它们成为代码段的一部分。