1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
assume cs:code,ds:data data segment
data ends
code segment s: mov bx,0b800h mov es,bx from: mov di,160*11+80 mov ah,':' mov al,4 out 70h,al in al,71h call display call dis_maohao mov al,2 out 70h,al in al,71h call display call dis_maohao mov al,0 out 70h,al in al,71h call display mov ah,'/' mov di,12*160+80 mov al,9 out 70h,al in al,71h call display call dis_maohao mov al,8 out 70h,al in al,71h call display call dis_maohao mov al,7 out 70h,al in al,71h call display jmp from mov ax,4c00h int 21h display: push ax mov cl,4 shr al,cl add al,48 call display_son pop ax and al,0fh add al,48 call display_son ret display_son: mov byte ptr es:[di],al inc di mov byte ptr es:[di],01000010b inc di ret dis_maohao: mov byte ptr es:[di],ah inc di mov byte ptr es:[di],01000010b inc di ret code ends end s
|