汇编语言实验报告

合集下载

汇编语言实验报告

汇编语言实验报告

实验一汇编程序的汇编及运行1.实验目的和要求1、熟悉汇编程序的汇编、连接、执行进程2、生成LST文件,查看LST文件3、生成OBJ文件,修改语法错误4、生成EXE文件5、执行2.实验环境IBM—PC机及其兼容机实验的软件环境是:操作系统:DOS 2.0以上;调试程序:;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。

3.实验内容及实验数据记录一、将数据段输入,取名1.txt,保留在MASM文件夹下。

生成LST文件,(没必要连接、运行)用EDIT查看1.LST文件。

试回答:DA1,DA2的偏移量别离是多少?COUNT的值为多少?DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB ‘IBM PC’DA2 DB 0AH, 0DHCOUNT EQU $-DA1DATA ENDSEND2、输入有错误的文件,修改错误语句。

(MASM没有显现错误即可。

没必要连接、运行。

)DATA SEGMENTVAR1 DB 0, 25, ODH, 300VAR2 DB 12H, A4H, 6BHVAR3 DB ’ABCDEF’VAR4 DW 1234H, 5678HVAR5 DW 10H DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DE: DATA BEING MOV AX, DATAMOV DS, AXLEA SI, VAR5MOV BX, OFFSET VAR2MOV [SI], 0ABHMOV AX, VAR1+2MOV [BX], [SI]MOV VAR5+4, VAR4MOV AH, 4CHINT 21HCODE ENDSEND START3、输入正确的程序,汇编、连接、运行STACKS SEGMENT STACKDW 128 DUP(?)STACKS ENDSDATAS SEGMENTSTRING DB ‘WELCOME!’, 13, 10, ‘$’DATAS ENDSCODES SEGMENTASSUME CS: CODES, DS: DATASSTART:MOV AX, DATASMOV DS, AXLEA DX, STRINGMOV AH, 9INT 21HMOV AH, 4CHINT 21HCODES ENDSEND START4.算法描述及实验步骤(1)编写源程序。

汇编语言实验报告_图文.

汇编语言实验报告_图文.

设置十个学生成绩否是否小于 60 是 bh 加 1,di 减 1 count 减 1 count 是否为0 否是是否小于 70 bl 加 1,di 减 1 count 减 1 是退出程序否是否小于 80 是 ch 加1,di 减 1 count 减 1 否是否小于 90 是 cl 加 1,di 减 1 count 减 1 否是否小于 100 是 dh 加 1,di 减 1 count 减 1 否 al 加 1,di 减 1 count 减 1 四、源程序清单和执行结果 76,69,84,90,73,88,99,63,100,80 data segment grade dba db '<60renshu:','$' b db 0ah,0dh,'60~70renshu:','$'c db 0ah,0dh,'70~80renshu:','$'d db 0ah,0dh,'80~90renshu:','$'e db 0ah,0dh,'90~100renshu:','$'f db0ah,0dh,'100renshu:','$' count db 10 data ends stacks segment stacks ends code segment assume cs:code,ds:data,ss:stacks main proc far start: mov ax,data mov ds,ax xor ax,ax xor bx,bx xor cx,cx xor dh,dh call countgrade ;调用子程序统计成绩 call output ;调用子程序显示结果 mov ah,4ch int 21h main endp countgrade proc near mov di,0 l0: cmp grade[di],60 jb l1 cmp grade[di],70 jb l2 cmp grade[di],80 jb l3 cmp grade[di],90 jb l4 cmp grade[di],100 jb l5 inc al jmp continue l1: inc bh jmp continue l2:inc jmp l3: inc jmp l4: inc jmp l5: bl continue ch continue cl continue inc dh jmp continue continue: inc di dec count jnz l0 ret countgrade endp output proc near mov ah,0 push ax push dx push cx push bx lea dx,a ;输出小于 60 分的人数 mov ah,9 int 21H pop bx mov dl,bh add dl,30h mov ah,2 int 21H lea dx,b ;输出 60 至 69 分的人数 mov ah,9 int 21H mov dl,bl add dl,30h mov ah,2 int 21H lea dx,c ;输出 70 至 79 分的人数 mov ah,9 int 21H pop bx mov dl,bhadd dl,30h mov ah,2 int 21H lea dx,d ;输出 80 至 89 分的人数 mov ah,9 int 21H mov dl,bl add dl,30h mov ah,2 int 21H lea dx,e ;输出 90 至 99 分的人数 mov ah,9 int 21H pop bx mov dl,bh add dl,30h mov ah,2 int 21H lea dx,f ;输出 100 分的人数 mov ah,9 int 21H pop bx mov dl,bl add dl,30h mov ah,2 int 21H ret output endp code ends end start 执行结果:五、实验总结刚开始觉得汇编语言很麻烦很难,因为有很多条指令,也不知道怎么样才能记住,但经过几次实验,发现那些指令也不是很难,只要知道每条指令的用途就不会很难了。

汇编语言实验报告1~7

汇编语言实验报告1~7

汇编语言实验报告1~7实验一:数据传输指令、算术指令、逻辑指令的使用实验内容:利用汇编语言,编写一个程序,实现两个整数相加,并将结果存入第三个变量中实验步骤:1. 声明三个变量a、b、c2. 将10存入a,将20存入b3. 将a的值传入al,将b的值传入bl4. 使用add指令将al和bl相加,将结果存入al5. 将al的值传入c6. 显示c的值实验结果:a db 10mov al,aadd al,blint 21hmov ax,4c00h实验二:分支指令的使用实验内容:利用汇编语言,编写一个程序,实现当输入的值为正数时,输出"I'm positive!";当输入的值为负数时,输出"I'm negative!";当输入的值为零时,输出"I'm zero!"1. 定义一个变量num2. 接收用户输入,并将其存储在num中3. 用test指令判断num的值4. 当num=0时,执行输出"I'm zero!"的指令7. 退出程序num db ?lea dx, promptsub al, '0'test num, numjz zerojs negjmp positiveneg:output:zero_msg db 'I am zero!$'prompt db 'Please enter a number:', 0dh, 0ah, '$'1. 定义变量i、sum,分别表示累加的数字和累加和2. 将i赋初值1,sum赋初值03. 进入循环5. 使用inc指令将i加16. 使用cmp指令将i与10比较,如果i小于等于10,继续循环,否则退出循环7. 输出结果mov bx, iloopStart:inc bx实验四:过程调用的使用2. 循环遍历1到100之间的每个数3. 用一个for语句嵌套一个for语句判断该数是否为质数4. 用两个自定义的子程序is_prime和output输出结果call is_primeskip:cmp i, 100prime_loop:div blretje newlinejmp done实验目的:掌握字符串操作指令的使用实验内容:利用汇编语言,编写一个程序,将字符串"SJTU"改为字符串"MIT"1. 定义字符串SJTU和MIT2. 定义两个变量i和len,分别表示字符串的下标和长度3. 使用movsb将SJTU的值传到MIT中4. 输出MITSJTU db 'SJTU'lea si, SJTUstringLoop:实验内容:利用汇编语言,编写一个程序,实现将输入的字符串写入一个文件中,然后再读取该文件中的字符串并输出2. 打开文件3. 将字符串写入文件中4. 关闭文件6. 读取文件内容8. 输出读取的字符串fileName db 'test.txt'content db 32 dup(?)mov cx, word ptr [content]实验内容:利用汇编语言,编写一个程序,在系统按下Ctrl+C时,输出一条信息并退出1. 声明函数handleCtrlC2. 获取中断21的地址,将其存储到文件头中org 100hmov [old_int_21h], es:bxmov dx, offset handleCtrlCend开始:。

汇编语言指令及伪指令练习的实验报告总结(范文)

汇编语言指令及伪指令练习的实验报告总结(范文)

汇编语言指令及伪指令‎练习的实验报告总结‎汇编语言指令及伪指令‎练习的实验报告总结‎‎篇一:汇‎编语言实验报告福建‎农林大学金山学院课‎程名称:姓‎名:系:‎专业:‎年级:学‎号:指导教师‎:职称:‎ (程序设计类‎课程) 实验报告汇‎编语言 201X~2‎01X学年第二学期‎实验项目列表福建农‎林大学金山学院实验报‎告系:专‎业:年级:‎姓名:‎学号:‎实验课程:‎汇编语言实验室号:‎_ _1#6‎05 实验设备号:‎ I3 实验时‎间:201‎X.4.25‎指导教师签字:‎成绩:‎实验一汇编程序的‎汇编及运行1‎.实验目的和要求‎ (1)熟悉汇编程‎序的汇编、连接、执行‎过程;(2)‎生成LST文件,查看‎L ST文件;‎(3)生成BJ文件,‎修改语法错误;‎(4)生成EXE文‎件;(5)执‎行程序。

2.‎实验环境 IBM—P‎C机及其兼容机;实‎验的软件环境是:‎操作系统:‎ DS2.‎0以上;调试程序:‎ DEBUG.C‎M;文本编程程序:‎ EDIT.EX‎E、PS.EXE;宏‎汇编程序:M‎A SM.EXE(或A‎S M .EXE);连‎接装配程序:‎L INK .EXE;‎交叉引用程序:‎CREF.EXE(‎可有可无)。

‎3.实验内容及实验数‎据记录(1)‎将数据段输入,取名‎ 1.txt,保存‎在MASM文件夹下。

‎生成LST文件,(不‎必连接、运行)用ED‎I T查看1.L‎S T文件。

试回答:‎ DA1,DA2‎的偏移量分别是多少?‎C UNT的值为多少?‎DATA SEGM‎E NT RG 20H‎NUM1=8 NU‎M2=NUM1+10‎H DA1 DB ‘‎I BM PC’ CU‎N T EQU $-D‎A1 DATA EN‎D S DA2 DB ‎0AH, 0DH E‎N D(2)输‎入有错误的文件,修改‎错误语句。

(MASM‎没有出现错误即可。

不‎必连接、运行。

)‎D ATA SEGME‎N T VAR1 DB‎0, 25, DH‎,300 VAR2‎DB 12H, A‎4H, 6BH VA‎R3 DB ’ABC‎D EF’ VAR4 ‎D 1H, 5678‎H VAR5 D 1‎0H DUP(?) ‎D ATA ENDS ‎C DE SEGMEN‎T ASSUME C‎S: CDE, DE‎: DATA MV ‎D S, AX LEA‎SI, VAR5 ‎M V BX, FFS‎E T VAR2 MV‎[SI], 0AB‎H MV AX, V‎A R1+2 MV [‎B X], [SI] ‎M V VAR5+4,‎VAR4 MV A‎H, 4CH INT‎21H ENDS ‎E ND START ‎B EING MV A‎X, DATA CD‎E(3)输入‎正确的程序,汇编、连‎接、运行 STACK‎S SEGMENT ‎S TACK D 12‎8DUP(?) E‎N DS SEGMEN‎T ENDS SEG‎M ENT ASSUM‎E CS: CDES‎,DS: DATA‎S STACKS D‎A TAS DATAS‎CDES STRI‎N G DB ‘ELC‎M E!’, 13, ‎10, ‘$’ ST‎A RT: M‎V AX, DATA‎S MV DS, A‎X LEA DX, ‎S TRING MV ‎A H, 9 INT ‎21H MV AH,‎4CH INT 2‎1H CDES EN‎D S END STA‎R T4.算法‎描述及实验步骤 1)‎首先,用记事本输入‎各段程序,并储存成源‎程序,保存在MASM‎目录下。

汇编语言实验报告1用表格形式显示ASCII字符

汇编语言实验报告1用表格形式显示ASCII字符

汇编语言实验报告1一、实验内容:用表格形式显示ASCII字符二、实验要求:按15行×16列的表格形式显示ASCII码为10H—100H的所有字符,即以行为主的顺序及ASCII码递增的次序显示对应的字符。

每16个字符为一行,每行中的相邻两个字符之间用空白符(ASCII为0)隔开。

说明:显示调用DOS中断功能02,先考虑显示单个字符,再进行循环,程序关键在于寄存器的使用和循环控制。

MOV AH,02HMOV DL,10H ; 输出要显示的符号的代码,放入DL寄存器INT 21HMOV AH,02HMOV DL,0DHINT 21H ; 输出回车符MOV AH,02HMOV DL,0AHINT 21H ; 输出换行符三、实验源代码如下:DA TAS SEGMENTDA TAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKSSTART:MOV AX,DA TASMOV DS,AXMOV DX,10H ;初植10HNEXT:MOV CX,10H ;16列LOOP1:MOV AH,02H ;显示输出DL字符INT 21HINC DX ;DX加1PUSH DX ;把DX推进栈保存MOV DL,0 ;显示空白符INT 21HPOP DX ;把DX之前的数取回来LOOP LOOP1 ;当CX=0时会自动跳出LOOP1循环PUSH DX ;保存DX的数,即为了保存ASCII码MOV AH,02HMOV DL,0AH ;显示换行字符INT 21HMOV AH,02HMOV DL,0DH ;显示回车INT 21HPOP DX ;把DX之前的数取回来CMP DX,100H ;最后的字符的ASCII码为100HJB NEXT ;小于时就会NEXTMOV AH,4CH ;带返回码终止INT 21HCODES ENDSEND START四、实验运行结果如下:(附截图)。

汇编语言实验7实验报告

汇编语言实验7实验报告

汇编语言实验7实验报告一、实验目的本次实验旨在通过汇编语言编写程序,实现对字符串的操作和输出。

二、实验内容1. 编写一个汇编程序,要求从键盘输入一个字符串,并将其逆序输出到屏幕上;2. 编写一个汇编程序,要求从键盘输入两个字符串,并将它们拼接起来后输出到屏幕上。

三、实验过程1. 字符串逆序输出程序首先,需要从键盘输入一个字符串。

为了方便起见,我们可以先规定字符串的最大长度为100。

接着,我们需要定义两个变量:```buffer db 100 ; 用于存储输入的字符串length dw ? ; 存储输入的字符串长度```其中,db代表定义字节型变量,dw代表定义双字节型变量。

然后,我们需要使用INT 21H中断来读取用户输入的字符串。

具体而言,我们可以使用下面这段代码:```mov ah, 0Ah ; 设置INT 21H功能号为0Ahmov dx, offset buffer ; 将buffer的地址传给DX寄存器int 21h ; 调用INT 21H中断```该代码会将用户输入的字符串存储在buffer中,并且将其长度存储在length变量中。

接着,我们需要将该字符串逆序输出到屏幕上。

为了实现这个功能,我们可以使用栈来存储字符串中的每个字符,并逐个弹出来输出。

具体而言,我们可以使用下面这段代码:```mov si, offset buffer + 1 ; 将si寄存器指向字符串的第一个字符mov cx, length ; 将cx寄存器设置为字符串长度dec cx ; 字符串长度需要减1reverse:push byte ptr [si] ; 将当前字符压入栈中inc si ; 指向下一个字符loop reverse ; 循环直到所有字符都被压入栈中mov ah, 02h ; 设置INT 21H功能号为02h,表示输出一个字符print:pop dx ; 弹出栈顶元素int 21h ; 输出该字符loop print ; 循环直到所有字符都被弹出并输出完毕```2. 字符串拼接程序首先,需要从键盘输入两个字符串。

汇编语言程序设计实验报告一

汇编语言程序设计实验报告一

汇编语言程序设计实验报告(一)一、实验目的1. 掌握顺序程序设计方法2. 掌握分支程序的结构及分支程序的设计,调试方法3. 学习数据传送及算术和逻辑运算指令的用法4. 熟悉在PC 机上建立、汇编、连接、调试和运行汇编语言程序的过程二、实验内容1. 从键盘上接收一位十进制数X ,计算Y 值,并以十六进制形式显示出来,Y 按下列公式计算。

⎪⎪⎩⎪⎪⎨⎧===-=+=)6(2/)5()4(2)3(2222X X X X X X X X X X Y 2. 从键盘上接收两个一位十六进制数X 和Y ,然后再输入一个A-D 之间的字符,按下列要求计算。

A )当输入字符为A ,则计算X+Y ,并以十六进制形式显示出来B )当输入字符为B ,则计算|X-Y|,并以十六进制形式显示出来C )当输入字符为C ,则计算X*Y ,并以十六进制形式显示出来D )当输入字符为D ,则计算X/Y ,并以十六进制形式显示出来三、实验结果1、结果截图2、结果截图四、源代码1、代码DATA SEGMENTX DB ?TABLE DW L1,L2,L3,L4DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV AH,1INT 21HCMP AL,33HJB L0CMP AL,36HJA L0AND AL,0FHMOV X,ALSUB AL,3SHL AL,1XOR AH,AHMOV BX,OFFSET TABLEADD BX,AXJMP [BX]L1:MOV AL,XMUL ALADD AL,XJMP L7MUL ALSUB AL,XSUB AL,XJMP L7L3:MOV AL,XMUL ALJMP L7L4:MOV AL,XMUL ALMOV CL,2DIV CLJMP L7L7:MOV BL,ALMOV CL,4SHR AL,CLCMP AL,9JLE L5ADD AL,7L5:ADD AL,30HMOV DL,ALMOV AH,2INT 21HAND BL,0FHCMP BL,9JLE L6ADD BL,7L6:ADD BL,30HMOV DL,BLMOV AH,2INT 21HL0:MOV AH,4CHINT 21HCODE ENDSEND START2、代码DA TA SEGMENTX DB ?Y DB ?Z DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA START:MOV AX,DATAXOR AX,AXMOV AH,1INT 21HMOV X,ALMOV AH,1INT 21HMOV Y,ALMOV AH,1INT 21HMOV Z,ALMOV AL,XMOV BL,YMOV AH,ZCMP AL,39HJBE M1SUB AL,7M1:SUB AL,30H MOV X,ALCMP BL,39HJBE M2SUB BL,7M2:SUB BL,30H MOV Y,BLMOV AL,XMOV BL,YCMP AH,41HJE L1CMP AH,42HJE L4CMP AH,43HJE L6CMP AH,44HJE L7L1:ADD AL,BLJMP L5L4:CMP AL,BLJA L8SUB BL,ALMOV AL,BLJMP L5L8:SUB AL,BLJMP L5L6:MOV AL,XMUL BLJMP L5L7:XOR AX,AXMOV AL,XDIV BLL5:MOV BH,ALMOV CL,4SHR AL,CLCMP AL,9JLE L2ADD AL,7L2:ADD AL,30HMOV DL,ALMOV AH,2INT 21HAND BH,0FHCMP BH,9JLE L3ADD BH,7L3:ADD BH,30HMOV DL,BHMOV AH,2INT 21HL0:MOV AH,4CHINT 21HCODE ENDSEND START五、实验心得通过本次实验,我对汇编语言程序设计的方法和特点有了一点理解,并有以下心得体会。

汇编实验报告

汇编实验报告

实验一(1)熟悉汇编语言程序调试环境及顺序程序设计一、实验目的及要求:1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、熟悉汇编语言程序调试环境1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

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









.CODE
_start:
mov eax,0
mov ebx,0
mov ecx,0
output promot
while:
input value,1
cmp value,0dh
je endWhile ;如果回车则结束
promot3 BYTE "The number isn't from 0 to 100,please Enter a right number ",0
value BYTE 16 DUP(?)










number DWORD ?
sum DWORD ?
answer BYTE "The four numbers' average is "
ave BYTE 11 DUP(?)
BYTE cr,LF,0
.CODE
_start:
output promot1
mov sum,0
mov ebx,0
firstagain:
output promot2
input value,16
atod value
judge:
cmp eax,100 ;num >100转移重新输入
(写不完时,可另加附页。)
年级
2012级
班号
1202班
学号
2012213537
专业
计算机科学与技术
姓名
郑凯伦
实验名称
实验3.1 分类统计字符个数
实验
类型
设计型
综合型
创新型
设计型







一、掌握分支程序设计的原理和方法,重点掌握各种分支程序中形成和判断条件而产生的程序设计的设计方法和技巧。
二、掌握如何产生条件,如何对条件判断,如何实现分支。
; Author: Karllen
; Date: revised 5/2014
.386
.MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
INCLUDE io.h ; header file for input/output
cr EQU 0dh ; carriage return character




程序设计流程:
1、程序接收用户输入的一行字符(字符个数不超过80个,该字符串以回车符结束),并按字母、数字及其它字符分类计数,然后将结果分别显示出来。要求有信息提示用户按照要求输入字符串,三类字符的个数分别在三行显示,并指明是哪类字符。
; Example assembly language program --
letterBYTE 11 DUP(?)
BYTE cr,Lf, 0
aswerNumber BYTE "数字的个数:"
numberBYTE 11 DUP(?)
BYTE cr,Lf, 0
answerOtherBYTE "其他字符的个数:"
otherBYTE 11 DUP(?)
BYTE cr,Lf, 0

Lf EQU 0ah ; line feed
.STACK 4096 ; reserve 4096-byte s34;请输入一段字符串,分别统计字母,数字,和其他字符的个数",cr,Lf,0
valueBYTE 1 DUP(?)
answerLetterBYTE "字母的个数:"
2.首先在数据段中定义提示信息、累计总分变量sum和平均分数变量average。程序一开始初始化sum值为0,当用户每输入一个成绩后累加到sum中。4个成绩输入完成后,sum内的值除以4得到平均分数并保存到average中。最后显示计算结果。
代码:
; Example assembly language program -- adds four numbers to calculate theirs average
jg doif
cmp eax,0 ;num <0转移重新输入
jl doif
jmp addSum ;满足0<=num<=100
doif:
output promot3
input value,16
atod value
jmp judge
addSum:
inc ebx
add sum,eax
cmp ebx,4
jne firstagain ;end firstagain
院 系:计算机科学学院
专 业:计算机科学与技术
年 级:2012级
课程名称:汇编语言
学 号:2012213537
姓 名:郑凯伦
指导教师:雷建云
2014年6月18日
年级
2012
班号
1202班
学号
2012213537
专业
计算机科学与技术
姓名
郑凯伦
实验名称
实验
类型
设计型
综合型
创新型
设计型







一、掌握顺序程序设计的基本方法和技巧,熟练使用基本的I/O宏
mov eax,sum
cdq ;将sum拓展为64位
idiv ebx
dtoa ave,eax
output answer
INVOKE ExitProcess, 0 ; exit with return code 0
PUBLIC _start ; make entry point public
END ; end of source code
二、程序要结构化,简明、易读和易调试。
三、执行速度较快且占用存储空间少。




程序设计流程:
1.程序接收用户键入的4个成绩,并计算出这4个成绩的总分和平均分数。在用户键入每个成绩和显示总分和平均分数之前都要有相应的提示信息。当用户输入的成绩不在[0,100]之间时,显示错误信息并重新等待正确输入。
Lf EQU 0ah ; line feed
.STACK 4096 ; reserve 4096-byte stack
.DATA
promot1 BYTE "Please Enter four numbers to caclute the average",cr,Lf, 0
promot2 BYTE "Please Enter a number from 0 to 100! ",0
; Author: Karllen
; Date: 10/5/2014
.386
.MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
INCLUDE io.h ; header file for input/output
cr EQU 0dh ; carriage return character
相关文档
最新文档