当前位置: 代码迷 >> 汇编语言 >> 一段汇编代码 求高手解答
  详细解决方案

一段汇编代码 求高手解答

热度:9822   发布时间:2013-02-26 00:00:00.0
一段汇编代码 求高手解答~在线等
这是个二进制转十六进制的程序:
;FILENAME 592.ASM
.486
DATA SEGMENT USE16
BNUM DW 0001001000110100B
DW 0101011001111000B
DW 0001101000101011B
DW 0011110001001101B
BUF DB 4 DUP (?),'H $'
COUNT DB 4
DATA ENDS

CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG:MOV AX,DATA
MOV DS,AX

MOV CX,4
MOV BX,OFFSET BNUM

AGAIN:MOV DX,[BX]
SAL EDX,16
CALL N2_16ASC
MOV AH,9
MOV DX,OFFSET BUF
INT 21H
ADD BX,2
LOOP AGAIN

MOV AH,4CH
INT 21H
;---------------------------------
N2_16ASC PROC
MOV SI,OFFSET BUF
MOV COUNT,4
LAST:ROL EDX,4
AND DL,0FH
CMP DL,10
JC NEXT
ADD DL,7

NEXT:ADD DL,30H
MOV [SI],DL
INC SI
DEC COUNT
JNZ LAST
RET
N2_16ASC ENDP

CODE ENDS
 END BEG

我想知道为什么那段MOV COUNT,4不能删??不是COUNT顶一顶时候已经给它一个值4了么,为什么这里还要把4传送给COUNT??求尽快解决,谢谢!(代码已调试,无错)

------解决方案--------------------------------------------------------
应该是MOV COUNT,4在子程序中的原因,子程序中count值不定,不知道对不对
  相关解决方案