|
According to your requirements, write and pull again. It should be fine.
data segment use16
buf db 10
db?
db 10 dup (?), '$'
tab dw t0
dw t1
dw t2
dw t3
dw t4
dw t5
dw t6
dw t7
dw t8
dw t9
data ends
code segment use16
assume cs: code, ds: data
beg: mov ax, data
mov ds, ax
mov ah, 0Ah
mov dx, offset buf
int 21h
lea bx, buf + 1
mov cx, 4
push bx
loo: pop bx
inc bx
sub byte ptr [bx], 30h
push bx
mov bl, byte ptr [bx]
mov bh, 0
add bx, bx
mov si, offset tab
dec cx
cmp cx, 0
je looo
jmp [bx + si]
looo: mov dx, offset buf + 2
mov ah, 09h
int 21h
; The password corresponding to 0.1.2.3.4.5.6.7.8.9 is 9.0.8.2.7.4.6.3.1.5
t0: mov byte ptr [bx], 39h
jmp loo
t1: mov byte ptr [bx], 30h
jmp loo
t2: mov byte ptr [bx], 38h
jmp loo
t3: mov byte ptr [bx], 32h
jmp loo
t4: mov byte ptr [bx], 37h
jmp loo
t5: mov byte ptr [bx], 34h
jmp loo
t6: mov byte ptr [bx], 36h
jmp loo
t7: mov byte ptr [bx], 33h
jmp loo
t8: mov byte ptr [bx], 31h
jmp loo
t9: mov byte ptr [bx], 35h
jmp loo
code ends
end beg |
|