标题:初学者求程序详细解释,8个字节数据转成十六进制数的ASCII码,然后数据用DO ...
只看楼主
我是地心引力
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-11-22
结帖率:100%
 问题点数:0 回复次数:0 
初学者求程序详细解释,8个字节数据转成十六进制数的ASCII码,然后数据用DOS系统功能2号调用
DAT SEGMENT PARA 'DAT'
A1 DB 12H,34H,56H,78H,9AH
   DB 0BCH,0DEH,0F0H
B1=$-A1
B2=B1*2             定义个B2有什么作用
A2 DB B2 DUP(?)      这个是放A1定义的数据的吗
DAT ENDS
STA SEGMENT PARA STACK 'STA'
STA1 DW 50 DUP(?)      定义这个什么作用
STA ENDS
CODE SEGMENT PARA 'CODE'
     ASSUME CS:CODE,DS:DAT,SS:STA,ES:DAT
START:PUSH DS         
      XOR AX,AX
      PUSH AX          上面的两个DS AX放入堆栈是保护现场吗,可是AX已经清零了
      MOV DS,AX
      MOV ES,AX         为什么AX要传给DS ES
      LEA SI,A1
      LEA DI,A2
      MOV CX,B1
G1:   MOV BL,2           G1不懂要干什么
      MOV AL,[SI]         
      MOV BH,AL
      PUSH CX
      MOV CL,4
      ROR AL,CL
      POP CX
G2:   AND AL,0FH
      DAA
      ADD AL,0F0H
      ADC AL,40H
      MOV [DI],AL
      INC DI
      MOV AL,BH
      DEC BL
      JNZ G2
      INC SI
      LOOP G1
      MOV SI,OFFSET A2
      MOV CX,B2
      CALL P1
      MOV AH,4CH
      INT 21H
P1    PROC              
      MOV BL,2
G:    MOV DL,[SI]
      MOV AH,2
      INT 21H
      INC SI
      DEC BL
      JNZ T
      MOV DL,' '
      MOV AH,2
      INT 21H
      MOV BL,2
T:    LOOP G
      RET
P1    ENDP
CODE  ENDS
      END START  



问题太多了,谁能分步解释下代码有什么作用
搜索更多相关主题的帖子: ASCII DOS 十六进制 系统功能 
2010-12-01 18:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-327547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.269885 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved