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

正文內(nèi)容

匯編語言課程設(shè)計粒子運動動畫報告-wenkub.com

2025-04-13 06:42 本頁面
   

【正文】 創(chuàng)建窗口時設(shè)定一個定時器 .if !ftime mov ftime, 100 invoke SetTimer,hWnd,ftime,speed,NULL .endif .elseif uMsg == WM_DESTROY invoke DeleteDC, hdcTemp invoke DeleteObject, hBitmapTemp 。 隨機數(shù)發(fā)生器參數(shù)設(shè)置 invoke DialogBoxParam, hInstance, IDD_RNDPARAM, hWnd, ADDR RandProc, 0 .if eax == IDOK mov eax, rn mov tn, eax invoke InvalidateRect, hWnd, NULL, TRUE .endif .elseif eax == IDM_BKCOLOR 。 保存圖像 invoke saveBmDlg, OFFSET pathname, OFFSET filename .if eax invoke writeDIB, OFFSET pathname .endif .elseif eax == IDM_EXIT 。 繪制當前狀態(tài)(向hDc設(shè)備繪制一點) .if view == 0 invoke bkSetcolor, mTemp, bkcolor .elseif view == 1 invoke bkGrey, mTemp, bkcolor .endif invoke Step,hdcTemp,astep invoke StretchBlt, hDc, 0, 0, xClient, yClient, hdcTemp, 0, 0, xClient, yClient, SRCCOPY 。 重新初始化種子 mov eax, xClient mov , eax mov eax, yClient mov , eax invoke CreateCompatibleDC, 0 。 當窗口尺寸變化時,計算客戶區(qū)尺寸和中心坐標 mov eax, lParam mov edx, lParam and eax, 0FFFFH shr edx, 16 .if eax 16 mov eax, 16 .endif mov xClient, eax 。 窗口過程_ProcWinMain proc uses ebx edi esi,hWnd,uMsg,wParam,lParam local stPs:PAINTSTRUCT local hDc:HDC, _SPEED:DWORD .if uMsg == WM_PAINT 。 檢查命令消息 .if wParam == IDOK || wParam == IDCANCEL invoke EndDialog, hDlg, wParam mov eax, TRUE jmp AbRet .endif .endif xor eax, eax 。 系統(tǒng)參數(shù)設(shè)置對話框過程SyspProc proc hDlg:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD .if uMsg == WM_INITDIALOG invoke setIPs, hDlg, IDC_EDIT01, seed invoke setIPs, hDlg, IDC_EDIT02, astep invoke setIPs, hDlg, IDC_EDIT03, speedmov eax, smode add eax, IDC_RADIO1 invoke SendDlgItemMessage, hDlg, eax, BM_SETCHECK, BST_CHECKED, 0 mov eax, mf add eax, IDC_RADIO1+2 invoke SendDlgItemMessage, hDlg, eax, BM_SETCHECK, BST_CHECKED, 0 mov eax, view add eax, IDC_RADIO1+6 invoke SendDlgItemMessage, hDlg, eax, BM_SETCHECK, BST_CHECKED, 0 jmp ItRet0 .elseif uMsg == WM_COMMAND .if wParam == IDOK mov seedxch, 0 invoke getIPs, hDlg, IDC_EDIT01 。 保存位圖文件選擇框,獲取有效的全路徑文件名saveBmDlg proc fname$:DWORD, tname$:DWORD mov , OFFSET bmFilter mov , OFFSET bmDefExt mov eax, fname$ mov word ptr [eax], 0 mov edx, tname$ mov word ptr [edx], 0 mov , eax mov , edx mov , OFN_OVERWRITEPROMPT invoke GetSaveFileName, OFFSET ofn retsaveBmDlg endp。 mov eax, 10 mul ecx sub ebx, 030H mov ecx, eax add ecx, ebx inc edi mov bl, [edi] .endw mov edx, v$ mov [edx], ecx mov eax, edi pop ebx pop edi retgetV10 endp。 amp。 繪制當前狀態(tài)(向hDc設(shè)備繪制一點) movzx eax, [ebx]. movzx edx, [ebx]. .if view != 3 invoke SetPixel,hdcT,eax,edx,[ebx]. .endif add ebx, sizeof ATOMST dec _k .endw pop ecx inc ecx .endw .if view == 3 push esi push edi mov esi, offset ats mov edi, offset att mov ebx, seed .while ebx invoke drawLine,[edi].,[edi].,[esi].,[esi].,[esi]. add esi, 8 add edi, 4 dec ebx .endw pop edi pop esi .endif retStep endp。 向左行走一個像素的距離 .elseif eax == 3 inc [ebx]. 。 單步(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 。 計算較大的方向長度 .if (eax = edx) shl edx, 1 mov esi, edx mov ecx, eax sub esi, eax shl eax, 1 。 計算兩個方向的畫線距離 movzx eax, _xx movzx edx, _x sub eax, edx 。2 。 eax = a*r add eax, rb 。 將內(nèi)存設(shè)備數(shù)據(jù)區(qū)用color進行覆蓋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 retbkSetcolor endp。 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 。 初始化種子initSeed proc uses ebx, _n:DWORD LOCAL x0:SDWORD,y0:SDWORD, tt mov ecx, seed mov ebx, offset ats mov eax, tn .if !smode 。 種子數(shù)組att DWORD 10000 dup(?)crCustColors DWORD 16 dup(?) .constszClassName db 39。 隨機數(shù)向右移位的次數(shù)ma DWORD 3 。 隨機數(shù)初始值的工作變量ra DWORD 19 。 種子數(shù)astep DWORD 16 。 客戶區(qū)寬度yClient DWORD 400 。在劉樹群老師的辛勤的指導與小組成員的共同努力下,此次匯編語言課程設(shè)計終于順利完成!其間遇到的許多問題都游逆而解!同時,從劉樹群老師的身上我學到了許多知識,在此我向劉老師表示我深切的感謝之情!與此同時,對我們小組內(nèi)的各成員以及給過我?guī)椭乃型瑢W與老師也表示我忠心的祝福與感謝! 附錄:程序清單 .486 .model flat,stdcall option casemap:none。差不多一周的時間過去了,回顧這段日子,至今我仍感慨良多。[7]詹仕華等編.《匯編語言程序設(shè)計習題解答及課程設(shè)計、設(shè)計輔導》.北京:中國電力出版社,[3]王爽等編.《匯編語言》.北京:清華大學出版社,通過這次課程設(shè)計,我懂得了理論和實際相結(jié)合的重要性,在理論方面,看上去很容易實現(xiàn)的東西,實際操作起來,并沒有那么容易。這次實驗讓我明白了流程圖的重要性,剛開始寫程序的時候,直接就動手了,結(jié)果程序?qū)懙暮軄y,執(zhí)行起來的效果也不好。 圖4—3運行圖(2)2)如圖程序?qū)崿F(xiàn)了對粒子種子的范圍劃定。完成此部分后,我對子程序設(shè)計方法有了更進一步的了解,對于跳轉(zhuǎn)語句的使用更加熟練,程序設(shè)計的能力也有所提升,思維更加嚴謹。 mov [edi], ebx retdrawLine endp(2) 隨機數(shù)發(fā)生器子程序此程序用于產(chǎn)生隨機數(shù),對應(yīng)種子時間內(nèi)的路徑。 dx = xx x movzx edx, _y movzx ecx, _yy sub edx, ecx 。利用坐標點繪制直線來實現(xiàn)橫向和豎向的運動軌跡。 垂直方向上的越界檢查(也做回繞處理) movsx edx, [ebx]. .if edx SDWORD PTR 0 mov edx, yClient dec edx mov [ebx]., dx .elseif edx = yClient mov edx, 0 mov [ebx]., dx .endif 。 向左行走一個像素的距離 .elseif eax == 3 inc [ebx]. 。該子程序是整個程序的核心部分,具體實現(xiàn)代碼如下:第一部分: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
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1