微机原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、课程设计的内容

输入十个学生某门课的成绩,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出统计结果。要求学生成绩的输入和统计结果的输出使用图形界面。

二、程序界面与操作

三、程序的制作过程

1.界面的设计

用Visual C++ 6.0建立MFC工程设计出程序界面,得到.RC文件、.RES文件和相关的头文件,然后从老师给出的例子“Dialog”中提取Var.bat文件、Makefile文件,再自己编写代码写成.asm文件,最后联结各文件生成EXE应用程序。

先通过vc mfc设计出界面保存后得到

2.代码处理与cmd操作

先与vc 界面链接起来

然后编写代码

编写完后将文件后缀改为asm 将老师dialog文件夹里的Makefile 打开将dialog改为gg

然后打开cmd

进入gg文件夹后输入代码生成obj文件

再通过输入Link /subsystem:windows gg.obj gg.res生成EXE应用程序

程序制作完成

四、程序代码;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

.386

.model flat, stdcall

option casemap :none ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

; Include 文件定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

include windows.inc

include user32.inc

includelib user32.lib

include kernel32.inc

includelib kernel32.lib

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

; Equ 等值定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

IDR_MAINFRAME equ 128 ;图标IDD_GG_DIALOG equ 102

IDC_EDIT1 equ 1000 IDC_EDIT2 equ 1001 IDC_EDIT3 equ 1002 IDC_EDIT4 equ 1003 IDC_EDIT5 equ 1004 IDC_EDIT6 equ 1005 IDC_EDIT7 equ 1006 IDC_EDIT8 equ 1007

IDC_EDIT9 equ 1008

IDC_EDIT10 equ 1009 IDC_EDIT11 equ 1010 IDC_EDIT12 equ 1011 IDC_EDIT13 equ 1012 IDC_EDIT14 equ 1013 IDC_EDIT15 equ 1014

IDC_EDIT16 equ 1015

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

; 数据段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

.data?

hInstance dd ?

score dword 0,0,0,0,0,0,0,0,0,0

fail dword 0

sixty dword 0

seventy dword 0

eighty dword 0

ninety dword 0

hundred dword 0 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

; 代码段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

.code ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>

_ProcDlgMain proc uses ebx edi esi, hWnd,wMsg,wParam,lParam

local @szBuffer[2]:byte

mov eax,wMsg

.if eax == WM_CLOSE

invoke EndDialog,hWnd,NULL

.elseif eax == WM_INITDIALOG

invoke LoadIcon,hInstance,IDR_MAINFRAME

invoke SendMessage,hWnd,WM_SETICON,ICON_BIG,eax .elseif eax == WM_COMMAND

mov eax,wParam

.if ax == IDCANCEL

invoke EndDialog,hWnd,NULL

.elseif ax == IDOK

mov ebx,0

mov fail,0

mov sixty,0

mov seventy,0

mov eighty,0

相关文档
最新文档