freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編語言課程設(shè)計粒子運動動畫報告(已改無錯字)

2022-10-08 11:37:54 本頁面
  

【正文】 dx DWORD 0 tn DWORD 0A2F59C2Eh 。 隨機數(shù)初始值的工作變量 ra DWORD 19 。 隨機數(shù)因子 rb DWORD 91 。 隨機數(shù)平移 rn DWORD 0A2F59C2Eh 。 隨機數(shù)初始值 r0 rs DWORD 16 。 隨機數(shù)向右移位的次數(shù) ma DWORD 3 。 隨機數(shù)掩碼 mf DWORD 0 。 位 0:方向數(shù)(取值 4或 8),位 1:絕對方向行走模式還是相對模式( A或 R) bkcolor DWORD 033FF00h bmFile BITMAPFILEHEADER 04D42H, 0, 0, 0, 54 bmInfo BITMAPINFOHEADER sizeof(BITMAPINFOHEADER), 800, 600, 1, 32, BI_RGB, 0, 0, 0, 0, 0 bmFilter BYTE 位圖文件 (*.BMP), 0, *.BMP, 0, 所有文件 (*.*), 0, *.*, 0, 0 bmDefExt BYTE BMP, 0 szCap BYTE 粒子運動動畫 , 0 format BYTE %u,0 .data? hInstanceDWORD ? hWinMain DWORD ? hdcTemp HDC ? seedxch DWORD ? strtemp BYTE 1024 dup (?) hBitmapTemp HBITMAP ? mTemp DWORD ? bitmapTemp BITMAP ? 。 背景位圖信息 ofn OPENFILENAME ? filename BYTE MAX_PATH dup(?) pathname BYTE MAX_PATH dup(?) ALIGN 16 ats ATOMST 10000 dup(?) 。 種子數(shù)組 att DWORD 10000 dup(?) crCustColors DWORD 16 dup(?) .const szClassName db 39。rpClass39。,0 。 .code 。 初始化種子 initSeed proc uses ebx, _n:DWORD LOCAL x0:SDWORD,y0:SDWORD, tt mov ecx, seed mov ebx, offset ats mov eax, tn .if !smode 。 分散的種子。隨機產(chǎn)生 n 個初始點和顏色 .while ecx mul ra 。 eax = a*r add eax, rb 。 eax = a*r+b cdq mov tn, eax idiv xClient mov [ebx]., dx mov eax, tn mul ra add eax, rb cdq mov tn, eax idiv yClient mov [ebx]., dx mov eax, tn mul ra add eax, rb mov tn, eax mov edx, eax shr edx, 8 and edx,7F7F7FH 。 限制隨機顏色的亮度 mov [ebx]., edx add ebx, sizeof ATOMST dec ecx .endw .else 。 集中的種子。使用當(dāng)前窗口的中心點作為所有種子的初始位置 mov edx, xClient shr edx, 1 mov x0, edx mov edx, yClient shr edx, 1 mov y0, edx .while ecx mov edx, x0 mov [ebx]., dx mov edx, y0 mov [ebx]., dx mul ra add eax, rb mov tn, eax mov edx, eax shr edx, 8 and edx, 7F7F7FH mov [ebx]., edx add ebx, sizeof ATOMST dec ecx .endw .endif ret initSeed endp 。 將內(nèi)存設(shè)備數(shù)據(jù)區(qū)用 color 進(jìn)行覆蓋 bkSetcolor proc _m:DWORD, _color:DWORD LOCAL _k:DWORD, _N:DWORD mov edx, _m mov eax, mov _N, eax .while _N mov eax, mov _k, eax mov eax, _color .while _k mov DWORD PTR [edx], eax add edx, 4 dec _k .endw dec _N .endw ret bkSetcolor endp 。 弱化內(nèi)存設(shè)備數(shù)據(jù)區(qū)像素的顏色 bkGrey proc _m:DWORD, _color:DWORD LOCAL _k:DWORD, _N:DWORD LOCAL _r:DWORD, _g:DWORD, _b:DWORD movzx eax, BYTE PTR _color mov _r, eax movzx eax, BYTE PTR _color+1 mov _g, eax movzx eax, BYTE PTR _color+2 mov _b, eax mov edx, _m mov eax, mov _N, eax .while _N mov eax, mov _k, eax .while _k 。 新像素 = (原像素 + 背景顏色 ) / 2 movzx eax, BYTE PTR [edx] add eax, _r shr eax, 1 mov [edx], al movzx eax, BYTE PTR [edx+1] add eax, _g shr eax, 1 mov [edx+1], al movzx eax, BYTE PTR [edx+2] add eax, _b shr eax, 1 mov [edx+2], al add edx, 4 dec _k .endw dec _N .endw ret bkGrey endp。 隨 機數(shù)發(fā)生器(產(chǎn)生 03 或 07的隨機數(shù)) rnd proc mov eax, ra mov edx, tn imul eax, edx 。 eax = a*r add eax, rb 。 eax = a*r+b mov ecx, rs mov tn, eax 。 rn = a*r+b shr eax, cl 。 eax = (a*r+b)/(2^s) .if mfamp。2 。 相對方向模式,從當(dāng)前方向算起 add eax, edx .endif and eax, ma 。 eax = ((a*r+b)/(2^s))%m 為返回值 ret rnd endp 。 繪制直線 drawLine proc uses ebx esi edi, _x:SWORD, _y:SWORD, _xx:SWORD, _yy:SWORD, _color:DWORD LOCAL incx:SDWORD, incy:SDWORD mov eax, movzx ecx, _y sub eax, ecx dec eax imul eax, movzx edx, _x shl edx, 2 add eax, edx mov edi, mTemp add edi, eax 。 計算兩個方向的畫線距離 movzx eax, _xx movzx edx, _x sub eax, edx 。 dx = xx x movzx edx, _y movzx ecx, _yy sub edx, ecx 。 dy = yy y 。 計算兩個方向的步長 mov ebx, 4 .if (eax SDWORD PTR 0) neg ebx neg eax .elseif !eax mov ebx, eax .endif mov incx, ebx mov ecx, .if (edx SDWORD PTR 0) neg ecx neg edx .elseif !edx mov ecx, edx .endif mov incy, ecx mov ebx, _color 。 計算較大的方向長度 .if (eax = edx) shl edx, 1 mov esi, edx mov ecx, eax sub esi, eax shl eax, 1 。 繪制整條直線 .while ecx mov [edi], ebx add esi, edx add edi, incx .if esi = SDWORD PTR 0 add edi, sub esi, eax .endif dec ecx .endw .else shl eax, 1 mov esi, eax mov ecx, edx sub esi, edx shl edx, 1 。 繪制整條直線 .while ecx mov [edi], ebx add esi, eax add edi, incy .if esi = SDWORD PTR 0 add edi, incx sub esi, edx .endif dec ecx .endw .endif 。 mov [edi], ebx ret drawLine endp 。 單步 (n 個像素距離內(nèi)的 )隨機行走 Step proc uses ebx, hdcT:HDC, _n:DWORD LOCAL _k:DWORD .if view == 3 mov ebx, offset ats mov edx, offset att mov ecx, seed .while ecx mov eax, [ebx] mov [edx], eax add ebx, 8 add edx, 4 dec ecx .endw .endif mov ecx, 0 .while ecx _n push ecx mov ebx, offset ats mov eax, seed mov _k, eax .while _k call rnd 。 rnd()為:產(chǎn)生 0,1,2,3的隨機數(shù)發(fā)生器 and eax, 3 .if eax == 0 inc [ebx]. 。 向右行走一個像素的距離 .elseif eax == 1 dec [ebx]. 。 向上行走一個像素的距離 .elseif eax == 2 dec [ebx]. 。 向左行走一個像素的距離 .elseif eax == 3 inc [ebx]. 。 向下行走一個像素的距離 .elseif eax == 4 inc [ebx]. dec [ebx]. .elseif eax == 5 dec [ebx]. dec [ebx]. .elseif eax == 6 dec [ebx]. inc [ebx]. .else inc [ebx]. inc [ebx]. .endif 。 水平方向上的越界檢查(越界時進(jìn)行回繞處理) movsx eax, [ebx]. .if eax SDWORD PTR 0 mov eax, xClient dec eax mov [ebx]., ax .elseif eax = xClient mov eax, 0
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1