project #2

  • Follow


hi all . i want an  intresting  project topic in assembly but i dont
have any  topic . maby a bout protected mode or
hack (i love it)
and you know i'm new in assembly ... it shoud be easy  :(
 is any one have any idea a bout topic [ an reference for it  ]   ?
0
Reply nicole 1/15/2011 10:38:35 AM

nicole wrote:
> 
> hi all . i want an  intresting  project topic in assembly but i dont

One posting every 5 years from somebody who wants to learn assembly
programming and no answer?


> have any  topic . maby a bout protected mode or
> hack (i love it)
> and you know i'm new in assembly ... it shoud be easy  :(
>  is any one have any idea a bout topic [ an reference for it  ]   ?

Seems you are in the lucky position, to be able to run 16 bit 
code. Hope you also can use full screen mode (XP and older).

In this case I would suggest to do some graphics programming.
You will never find an easier way to do it than in 16 bit DOS.
Here a few examples from older postings in alt.lang.asm


------
Cross posted an follow-up set to alt.lang.asm

::::::::::::::::::::::::::::::::: demo 1 :::::::::::::::::::::::::::::::
@echo off
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>2006.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY
Wv;ovBX2Gv0ExGIuht6>>2006.com
echo
?RwAgOLRN_?GE@`yU?wP_N{b?xFG?p=pr~p{m]jEx{kAkyvLuqoswEt`L?>>2006.com
echo
BooBOK@Hcz@tHMMUEFSyFGOGKsAggrR?wA?~zANOLBK1_a?DGB?MOw?C}A>>2006.com
echo
x~pkr{}vE]dA=F1o?~yMx~~}?F=MlgHMN?c@@An}DGwBh?cP@?WF@~xA@M>>2006.com
echo
Hm?_mJqnNwG}@N_oLiHc?WLkx\ISx\hJt=h~p=0[5Merry9Christmas..>>2006.com
echo 3and1A5Happy3New4Year420060]>>2006.com
2006.com
del 2006.com

::::::::::::::::::::::::::::::::: demo 2 :::::::::::::::::::::::::::::::
echo off
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>love.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY
Wv;ovBX2Gv0ExGIuht6>>love.com
echo
?RwAgOLRF_?GZpep?xDH~pyrpwHM?zQZrv@{?wlC_i@mA~?CHYvnnNBbO@>>love.com
echo
Zr@gvNKsBFQpep?wex?Hf?rve=?g@{CAgBai_w@sHJsULR?w=IUL?K?BwA>>love.com
echo BOLr0x>>love.com
love.com
del love.com

::::::::::::::::::::::::::::::::: demo 3 :::::::::::::::::::::::::::::::
@echo off
echo
Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>hla2asm.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY
Wv;ovBX2Gv0ExGIuht6>>hla2asm.com
echo
DWKMzO???AE?B@qp?p{r?rLRwvtlL?Ro?wOG]yRGFxFGBz?Gq=?WOLBKR?>>hla2asm.com
echo
wAO1yA?CxA?BzABx=EwOLbL?@oewrGrL?K?OH]cevRuvBKbBa`HGh_v?Gv>>hla2asm.com
echo
BceC_uvRfbBG?oGoBGyM}AmfxBe`k?K_{am~Bf~I@_xAr?p{G}jYf~Bg@z>>hla2asm.com
echo
BGK=?GKI?G?pVppirjKiV?@Ki?@o]J1irZWFBMG}@]IqBC_tLtAmBMjZv~>>hla2asm.com
echo
f}Ujf~Bw?xDWGkAGAs?FiAoa}uan~B=`gCfp}?H_~BQagEfQzAc`M?FOxl>>hla2asm.com
echo
ehe?WOr_P1DEBKaF?stJtV=BknH?~__@g~c?D{gPD{PFH}F@grjF@Mf}Gg>>hla2asm.com
echo
bNB_BVmC}Br`yDfbx?W_r?WoF@cyI?gRLst\wLxlL?Aoj}rGEMGG~BS`r?>>hla2asm.com
echo
W_ox?Jer?[F@dyB??a}?EvntJvwFM_L?@o@srGsULRcoIowULbL?BowBOk>>hla2asm.com
echo
L?Bob?rwes@spOHMuvQN=Gh?v?FOFHXzpGHMuvQNGGfO=KwLs?GOivFFDz>>hla2asm.com
echo
NgNBU@WDzYQpBoAjNwOUG}q?ar?mONToqbwBV`L?Bob?rwut@s~{hrA~BM>>hla2asm.com
echo
eStPVEFR??B?e??OZEFR??B?j??o~BczFsDcH\jNCDE?@AB??@@???????>>hla2asm.com
echo
_A???????????O?G@K??W?~???KGO?oC~?QooOsrdTsq`ThwDT?_s\@OPO>>hla2asm.com
echo
@OPO@oP[@O1O@OPO=OPOxOP?DoMW@oPWxOPCDO1?DOPOxOP?xOP?0xxxxx>>hla2asm.com
hla2asm.com
del hla2asm.com

::::::::::::::::::::::::::::::::: demo 4 :::::::::::::::::::::::::::::::
@echo off
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>erde.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY
Wv;ovBX2Gv0ExGIuht6>>erde.com
echo
DWKMOO?OO?D?F{bED_MMMO?_?DgBEzO?q?AO{B@{Lco{I?YwUH@GpFy@rL>>erde.com
echo
?NSN?`FwEC?RwAwOLbyR?_xK`_z?F_=?~_LERq?oOoBGyM}AmflEU_s?G[>>erde.com
echo
WNd_FHFzNleHeGu]Gg@NmBrqSNPNwg?oG@e=J}G{xqs\jan~pUjNGdZf?x>>erde.com
echo
1gAg?mlOB{pxtLId~fg?D{AGBw?iONOCOBDGcHktFtd`NWTuNG?FxAEG}A>>erde.com
echo
BHlyPAd@?U?M@ta~cBiRFTGQcat\DuNGDicP[?Bw_D??Ax?C=?pKu?~O~w>>erde.com
echo
BGGd?ctFDSwe_fA???mJ?GJFm`FqMCCL@NCH@NGjHml@N~h@K{gHKw}B}~>>erde.com
echo
upFrBygF?OwAOgh[gJ}~WBnPNp?M}@}~cgN1gHBwgB}~HB\`C?ozBrXC~~>>erde.com
echo
w}FubEJ[~IcxeX????eOv1I_@NMOedF{]CeWeTpeODveQvmepFmuJQmeFC>>erde.com
echo
qmJQ@eFseHeRHd@NEhepD@epg@e=rHFwm@e=e@Owe?~RGl@N?d@MmH~rDH>>erde.com
echo
exl@e=oLOC@cQJmPBrtI}1?HvfNCxB~hDyCCBMNNwAxSqar@?o@ljABt@C>>erde.com
echo
@@wAtI}11MnB?GwMFG~Ir@tqEFjM?F}`uJKG`F}`vFqpNdOBE@?oFu`EvQ>>erde.com
echo
p{cDuR?b?g?pFo?@yAbuvnwFAagc?sHABaJGmGi?waAxgFImHaNeJCeEv]>>erde.com
echo
E_@NCbeh}BFGOF}@FKtpF?EGF?GrFAEGe??OmMJQ@eFseK`RF_@N@hepqU>>erde.com
echo
JQUBF?@F}peCiReJH]Oj@NpVGMMBuBQFCAFE]GcB}1FuNGcJ}1?Fi_P?[R>>erde.com
echo
vhP~kNhbcFORgfAoJAJ_FG{IGkHiB}F{FIdHdJ}1uFio?@lrfAd@JAHmHG>>erde.com
echo
CIGSHi~@Hw~?FRnxEpVA=TnhOpXOhkY~v1@F1D~HAr@kw`?F~N?i~`x?MN>>erde.com
echo
JI}G?K=`x~eJJG}G?B=`U?u1mPV=[E@mf@J{}@Go1sGQnx]pXH{\@EEdA?>>erde.com
echo
}B`ANWmB~JOF}@YDNw[}}jEMJGpFg@Gr~z??xEderf?FB]tJ}1FMrBJ[zI>>erde.com
echo
@uJQCJEWLgI[CJ?WFgG[q`?W}gFKm`?WwgFKay?GCxGG~z?GK=?g]gJKZg>>erde.com
echo
?KE??wTgCKQg?Kxe?Crs{C{xePCtGS@EBQjGEo?wsIOLRKBE}nBCDrEg@N>>erde.com
echo
f@e=FHOw?CxAvQp{FiuCoA?MVGJHBqa~R?wAEKJEPIH}Yvi~OA?MJ@uagC>>erde.com
echo
kps~BnUL@KoIs@ULcN?BwABOLrpHpK}?QJ?Fw@wDs`L?JoHHroHCt@WsQv>>erde.com
echo
mM@OUhF?hFqp{=YKDvqCCx?MQtuPfwOhev@LvFypFkuCyUHQuNF__@@~`G>>erde.com
echo
ACNWAFyeyQrHFOYvA{wO@[~=HoEq?Cj~o}?pAoGdYdwBFKJtLVNdRDOFuQ>>erde.com
echo
J?RpJ?RpFAd@?S?MPAH}gZgvZ~_]N?WpN?RpFAd@?S?MVAd@?U?MZgP1~F>>erde.com
echo
gzRJ?[?J?KAdNFU?Vwi@?{HZAcpgO1BZ~vghO~?~kMJ?Jr~dgz?N?K]gNn>>erde.com
echo
Jg~rgJg{g~VMNgNrB`O~AevbmJFGhF?AuBT~Nc`FvVuqE@ar?@BB??B?B?>>erde.com
echo
@??~?K~}=~@@@?????NvvDWGG?_sQ?vgg?OutA~ww??QAP?N???sQO??N?>>erde.com
echo
?sdO1__?EB?Cc?cPEY?GR?WO?s?CIEqA?h?C{?k`?TE?_?k@EP?KL?PO?`>>erde.com
echo
?CVEaB?c?Cx?np?SE?m?mPFL??`?RO?_??WF_??e?Cw?`@?QF?~?m@FI?C>>erde.com
echo
e?]O_xkDynsDnl_SdrtTe}lO_xkDj__OlxdDwd}S_shDhG_S`K_S`qtTM_>>erde.com
echo
_OdbhTgs_S_s`DtnxTne_ScmtTs__O_dgDx`vT`a_S_jbD_nsDr`_SldrT>>erde.com
echo
xkaTqo_SqfnTll`TfmhT__m?`dQTxkkThl_SdrrTx_cPqtnTo__OsrnTfm>>erde.com
echo
hT_mr@onGTv_dP__d@khvTr_kP_ddDqnlTn_dPs_ePldgT__m?u`GT`_dP>>erde.com
echo
hm_S_dbDx`cT__m?r`AT_cdD_mnDq`lTdmrP_dwD_xaDBmSPq`kT?djD?I>>erde.com
echo _A_~~N??X??X_??X??0x>>erde.com
erde.com
del erde.com
0
Reply Herbert 1/15/2011 8:38:49 PM


"nicole" <nicol.young20@nospicedham.gmail.com> wrote in message 
news:7a24cafb-3efc-4f70-be47-f0c10d096dac@l17g2000yqe.googlegroups.com...
> hi all . i want an  intresting  project topic in assembly but i dont
> have any  topic . maby a bout protected mode or
> hack (i love it)
> and you know i'm new in assembly ... it shoud be easy  :(
> is any one have any idea a bout topic [ an reference for it  ]   ?

Modify a virtual Etch-A-Sketch.  Give it some nifty features.  Perhaps use 
the number keys to change the line thickness?  Maybe use the function keys 
to change the line color?  The sky is the limit!!  :)

Here is a skeleton once posted by Beth:

-------------------- 8< ---------------------

; Etch.asm:
;  Etch-a-sketch simulation program
;
; keys:
;   a   = move up
;   z   = move down
;   ,   = move left
;   .   = move right
;   s   = shake etch-a-sketch (clears drawing)
;   esc = quit
;

         org 100h

         mov   ax, 0013h
         int   10h

         mov   di, 0A000h
         mov   es, di
         mov   di, (99 * 320) + 159

      NextPixel:
         mov   byte [es:di], 15

         mov   ah, 00h
         int   16h

         cmp   ah, 01h
         je    QuitProgram

         cmp   ah, 1Fh
         jne   NotShake

         mov   ax, 0013h
         int   10h

      NotShake:
         cmp   ah, 1Eh
         jne   NotMoveUp

         sub   di, 320

      NotMoveUp:
         cmp   ah, 2Ch
         jne   NotMoveDown

         add   di, 320

      NotMoveDown:
         cmp   ah, 33h
         jne   NotMoveLeft

         dec   di

      NotMoveLeft:
         cmp   ah, 34h
         jne   NotMoveRight

         inc   di

      NotMoveRight:
         jmp   NextPixel

      QuitProgram:
         mov   ax, 0003h
         int   10h

         ret

-------------------- >8 ---------------------

Use Nasm to assemble:>nasm -fbin -o etch.com etch.asmFor some ideas, here is 
a slightly enhanced version:;
; ETCH3.ASM
;  Etch-a-sketch simulation program
;
;  Original DOS code by Beth Stone.
;
;    Adapted to A86, with enhancements, by Annie.
;
;      To assemble with A86:    A86 ETCH3.ASM
;
; Control Keys:
;   Up Arrow:    move up
;   Down Arrow:  move down
;   Left Arrow:  move left
;   Right Arrow: move right
;   SPACE BAR:   toggles line drawing OFF and ON
;   C:           clears the drawing
;   ESC:         quit
;
code    segment
;
row     dw      0
col     dw      0
write   db      0
;
        org     100h
        mov     ax,0013h
        int     10h
        mov     write,11
        mov     di,0A000h
        mov     es,di
reset:
;
; Light up the VGA border.
;
        mov     ax,1001h        ;function 10h, sub-function 1
        mov     bh,5            ;set color in BH (5 = magenta)
        int     10h             ;call ROM BIOS video services

        mov     row,32000
        mov     col,159

NextPixel:
        mov     ax,320
        mov     bx,row
        mul     bx
        add     bx,col
        mov     di,bx
        mov     byte [es:di],11
        mov     ah,0
        int     16h
        cmp     write,0
        jne     YesWrite
        mov     bl,write
        mov     byte [es:di],bl
YesWrite:
        cmp     ah,2Eh
        jne     NotShake
        mov     ax,0013h
        int     10h
        jmp     reset
NotShake:
        cmp     ah,48h
        jne     NotMoveUp
        sub     row,320
NotMoveUp:
        cmp     ah,50h
        jne     NotMoveDown
        add     row,320
NotMoveDown:
        cmp     ah, 4Bh
        jne     NotMoveLeft
        sub     col,1
NotMoveLeft:
        cmp     ah,4Dh
        jne     NotMoveRight
        add     col,1
NotMoveRight:
        cmp     ah,39h
        je      Toggle
        cmp     ah,01h
        je      exit
        jmp     NextPixel
Toggle:
        cmp     write,11
        jne     SetWrite
        mov     write,0
        jmp     NextPixel
SetWrite:
        mov     write,11
        jmp     NextPixel
exit:
        mov     ax,0003h
        int     10h
        int     20h
;
end

Nathan. 


0
Reply Nathan 1/16/2011 8:16:51 PM

Herbert Kleebauer wrote:
> nicole wrote:
>> hi all . i want an  intresting  project topic in assembly but i dont
> 
> One posting every 5 years from somebody who wants to learn assembly
> programming and no answer?

Give us a minute, Herbert! These questions only come up every five 
years, you can't expect us to have an answer on the tip of our tongue! :)

> Seems you are in the lucky position, to be able to run 16 bit 
> code.

That's one way of looking at it.

> Hope you also can use full screen mode (XP and older).

Yes! I've heard that it is possible to coax full-screen mode out of 
newer versions by disabling the graphics driver(?)... Dunno if it's a 
good idea...

> In this case I would suggest to do some graphics programming.
> You will never find an easier way to do it than in 16 bit DOS.

Agreed. Given MS's apparent determination to brutally murder dos, I 
don't know how long it will be "useful", but it is, relatively speaking, 
easy. Somewhat less easy if you prefer something less chunky than mode 
13h...

> Here a few examples from older postings in alt.lang.asm

Good ones! I especially like "erde"!

> Cross posted an follow-up set to alt.lang.asm

Posted back to clax, since that's what Nicole is apparently reading...

> ::::::::::::::::::::::::::::::::: demo 1 :::::::::::::::::::::::::::::::
> @echo off
> echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>2006.com
> echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY
> Wv;ovBX2Gv0ExGIuht6>>2006.com

I imagine Nicole's first question will be "What the heck is this???"

It's a batch file, which writes a .com file on-the-fly, executes it, and 
then deletes it. To do this, the batch file must be composed entirely of 
printable characters. This requires rather "special" code. The first few 
bytes have to be instructions which actually *are* printable characters. 
These serve to "decrypt" the remaining printable characters into actual 
opcodes and operands. A very clever technique - might make a pretty good 
"project" in itself - but *not* the easiest examples to learn from!

[snip]
> del erde.com

If I were going to "study" this code, the first thing I'd do is "delete 
the delete", to leave myself a .com file to work with. Load 'er up in 
debug, and 'u'nassemble. The first part may be "strange" (a matter of 
taste, I guess), but "valid" code. After a while, it turns to complete 
garbage. Run it. Now disassemble it again. Now you should be able to see 
the "real code", starting at... I forget... 200h? Some "oddball" origin, 
not the usual 100h for a .com file.

I'm sure Herbert will provide source code, if asked, but it will be in 
the syntax of his own assembler - not much like Masm.

[sample - part of "erde" for Linux]
main:   move.l  r7,stack_ptr    ; save initial stack pointer

         ; ******************** get socket handle 
***************************
         moveq.l #0,-(sp)        ; no protocol specified
         moveq.l #1,-(sp) ; 1: SOCK_STREAM (/usr/include/linux/net.h)
         moveq.l #1,-(sp) ; 1: AF_UNIX, AF_LOCAL 
(/usr/include/linux/socket.h)
         move.l  r7,r2           ; pointer to parameter for "socket"
         move.l  #1,r3           ; "socket" (/usr/include/linux/net.h)
         move.l  #102,r0         ; socketcall (/usr/include/asm/unistd.h)
         trap    #$80
         addq.l  #3*4,r7         ; free space for parameters
         cmp.l   #-4095,r0       ; ERROR
         bhs.l   err
         move.l  r0,x_handle

You probably don't need the confusion... Paste those batch files out of 
Herbert's post and give 'em a try (may need unwrapping). Might give you 
ideas for a "project"...

Best,
Frank
0
Reply Frank 1/16/2011 11:55:42 PM

On Jan 17, 2:55=A0am, Frank Kotler
<fbkot...@nospicedham.myfairpoint.net> wrote:
> Herbert Kleebauer wrote:
> > nicole wrote:
> >> hi all . i want an =A0intresting =A0project topic in assembly but i do=
nt
>
> > One posting every 5 years from somebody who wants to learn assembly
> > programming and no answer?
>
> Give us a minute, Herbert! These questions only come up every five
> years, you can't expect us to have an answer on the tip of our tongue! :)
>
> > Seems you are in the lucky position, to be able to run 16 bit
> > code.
>
> That's one way of looking at it.
>
> > Hope you also can use full screen mode (XP and older).
>
> Yes! I've heard that it is possible to coax full-screen mode out of
> newer versions by disabling the graphics driver(?)... Dunno if it's a
> good idea...
>
> > In this case I would suggest to do some graphics programming.
> > You will never find an easier way to do it than in 16 bit DOS.
>
> Agreed. Given MS's apparent determination to brutally murder dos, I
> don't know how long it will be "useful", but it is, relatively speaking,
> easy. Somewhat less easy if you prefer something less chunky than mode
> 13h...
>
> > Here a few examples from older postings in alt.lang.asm
>
> Good ones! I especially like "erde"!
>
> > Cross posted an follow-up set to alt.lang.asm
>
> Posted back to clax, since that's what Nicole is apparently reading...
>
> > ::::::::::::::::::::::::::::::::: demo 1 ::::::::::::::::::::::::::::::=
:
> > @echo off
> > echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=3D>2006.=
com
> > echo 0DxFP,0Xx.t0P,=3DXtGsB4o@$?PIyU WwX0GwUY
> > Wv;ovBX2Gv0ExGIuht6>>2006.com
>
> I imagine Nicole's first question will be "What the heck is this???"
>
> It's a batch file, which writes a .com file on-the-fly, executes it, and
> then deletes it. To do this, the batch file must be composed entirely of
> printable characters. This requires rather "special" code. The first few
> bytes have to be instructions which actually *are* printable characters.
> These serve to "decrypt" the remaining printable characters into actual
> opcodes and operands. A very clever technique - might make a pretty good
> "project" in itself - but *not* the easiest examples to learn from!
>
> [snip]
>
> > del erde.com
>
> If I were going to "study" this code, the first thing I'd do is "delete
> the delete", to leave myself a .com file to work with. Load 'er up in
> debug, and 'u'nassemble. The first part may be "strange" (a matter of
> taste, I guess), but "valid" code. After a while, it turns to complete
> garbage. Run it. Now disassemble it again. Now you should be able to see
> the "real code", starting at... I forget... 200h? Some "oddball" origin,
> not the usual 100h for a .com file.
>
> I'm sure Herbert will provide source code, if asked, but it will be in
> the syntax of his own assembler - not much like Masm.
>
> [sample - part of "erde" for Linux]
> main: =A0 move.l =A0r7,stack_ptr =A0 =A0; save initial stack pointer
>
> =A0 =A0 =A0 =A0 =A0; ******************** get socket handle
> ***************************
> =A0 =A0 =A0 =A0 =A0moveq.l #0,-(sp) =A0 =A0 =A0 =A0; no protocol specifie=
d
> =A0 =A0 =A0 =A0 =A0moveq.l #1,-(sp) ; 1: SOCK_STREAM (/usr/include/linux/=
net.h)
> =A0 =A0 =A0 =A0 =A0moveq.l #1,-(sp) ; 1: AF_UNIX, AF_LOCAL
> (/usr/include/linux/socket.h)
> =A0 =A0 =A0 =A0 =A0move.l =A0r7,r2 =A0 =A0 =A0 =A0 =A0 ; pointer to param=
eter for "socket"
> =A0 =A0 =A0 =A0 =A0move.l =A0#1,r3 =A0 =A0 =A0 =A0 =A0 ; "socket" (/usr/i=
nclude/linux/net.h)
> =A0 =A0 =A0 =A0 =A0move.l =A0#102,r0 =A0 =A0 =A0 =A0 ; socketcall (/usr/i=
nclude/asm/unistd.h)
> =A0 =A0 =A0 =A0 =A0trap =A0 =A0#$80
> =A0 =A0 =A0 =A0 =A0addq.l =A0#3*4,r7 =A0 =A0 =A0 =A0 ; free space for par=
ameters
> =A0 =A0 =A0 =A0 =A0cmp.l =A0 #-4095,r0 =A0 =A0 =A0 ; ERROR
> =A0 =A0 =A0 =A0 =A0bhs.l =A0 err
> =A0 =A0 =A0 =A0 =A0move.l =A0r0,x_handle
>
> You probably don't need the confusion... Paste those batch files out of
> Herbert's post and give 'em a try (may need unwrapping). Might give you
> ideas for a "project"...
>
> Best,
> Frank

thanks alot
0
Reply nicole 1/17/2011 11:16:29 AM

4 Replies
137 Views

(page loaded in 0.206 seconds)

Similiar Articles:













7/22/2012 9:56:34 AM


Reply: