xiaosawanjava 发表于 2014-6-1 16:44:48

int 7ch 代替loop

assume cs:code

code segment
start:
MOV AX,CS
MOV DS,AX
MOV SI,offset do0

MOV AX,0
MOV ES,AX
MOV DI,200h

MOV CX,offset jiesu-offset do0

CLD
REP movsb

MOV AX,0
MOV DS,AX

MOV WORD ptr DS:,0
MOV WORD ptr DS:,200H


mov ax,4c00h
int 21h

do0:
    PUSH BP
    MOV BP,sp

    DEC CX
   
    JCXZ ok
   
    ADD ,bx ;这里加2是因为在之前又push一个bp

ok:
    POP BP
    IRET
jiesu:nop
   

code ends
end startassume cs:code

code segment
start:
MOV AX,0b800h
MOV ES,AX
MOV DI,160*12

MOV bx,offset s-offset se
MOV CX,80

s:
    MOV BYTE ptr ES:,'!'
    MOV BYTE ptr ES:,2 ;如果颜色不设置默认为白色
    ADD DI,2
    INT 7ch
se:NOP

mov ax,4c00h
int 21h

code ends
end start

页: [1]
查看完整版本: int 7ch 代替loop