注册 登录
编程论坛 汇编论坛

求教关于汇编 画图的问题

boyue163 发布于 2010-12-04 10:36, 656 次点击
只有本站会员才能查看附件,请 登录

用汇编和ascii码来组成一个小人
下边是asm代码,本人是初学,希望能帮我解释下是怎么画出小人的

PDATA   SEGMENT
CHRTAB  DW    5
        DB    01,0,0,0DBH,1,0,13H,1,0
        DB    2FH,-1,-1,5CH,0,2
PDATA   ENDS

STACK   SEGMENT  PARA  STACK'STACK'
        DB    100 DUP(?)
STACK   ENDS

CODE    SEGMENT
 ASSUME  CS:CODE,DS:PDATA
PICTURE PROC   FAR
START: PUSH   DS
 MOV    AX,0
 PUSH    AX
 MOV    AX,PDATA
 MOV    DS,AX
 STI
 MOV     AL,02
 MOV AH,0
 INT 10H
 CALL DRAW
 MOV   AH,0
 INT 16H
 RET
 PICTURE ENDP
DRAW   PROC   NEAR
     MOV    DI,OFFSET CHRTAB
 MOV CX,[DI]
 MOV DH,10
 MOV DL,40
 ADD DI,2
NEXT: ADD DH,[DI+1]
 ADD DL,[DI+2]
 MOV AH,2
 INT 10H
 MOV AL,[DI]
 PUSH CX
 MOV CX,1
 MOV AH,10
 INT 10H
 POP CX
 ADD DI,3
 LOOP NEXT
 RET
DRAW ENDP
CODE ENDS
 END START  

最好解释一下是哪些指令形成的小人,和思路,万分感谢



`

2 回复
#2
xiaomarn2010-12-04 19:38

PDATA   SEGMENT
CHRTAB  DW    5
        DB    01,0,0,0DBH,1,0,13H,1,0
        DB    2FH,-1,-1,5CH,0,2
PDATA   ENDS
总共用了5个字符分别为我标记的那几个
而这几个字符后面的两个数是相对于前一位置的位置偏移
#3
boyue1632010-12-10 21:43
xiaomarn谢谢,我查了下ASIIC码搞定了
1