计算机汇编语言实验报告-.pdf
《计算机汇编语言实验报告-.pdf》由会员分享,可在线阅读,更多相关《计算机汇编语言实验报告-.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言实验报告姓名:组长:张亚昊(11072107)组员:安然(11072109)完成日期:2013 年 4 月题目 1:分支程序设计【题目要求】编写程序,键入学生成绩(百分制),按 A、B、C、D 显示在屏幕上。【编程思路】输入并存储一个INT 的赋值,比较一个数值在其中的哪个分支,并现实成绩的显示(ABCDE)【程序流程图】【源代码】一、dseg segment MsgInput db 0ah,0dh,Input a score:,$MsgError db Invalid Input!,$BufInput db 5,?,5 dup(?)Grade db EDCBA,$dseg ends
2、cseg segment assume ds:dseg,cs:cseg BEGIN:开始一个 INT 的赋值比较成绩属于哪一个档数 值 在1-60 数值在60-70 数值在70-80 数值在80-90 数值在90-100 输出结果mov ax,dseg mov ds,ax Init:lea dx,MsgInput mov ah,9 int 21h lea dx,BufInput mov ah,0ah int 21h mov dl,0ah mov ah,2 int 21h mov ax,0 lea bx,BufInput+2 LoopCalc:cmp byte ptrbx,0dh je Comp
3、are cmp byte ptrbx,0 jb Error cmp byte ptrbx,9 ja Error sub byte ptrbx,0 mov cx,10 mul cx mov cx,0 mov cl,bx add ax,cx inc bx jmp LoopCalc Compare:cmp ax,100 ja Error mov cl,10 div cl cmp al,9 jbe Next1 mov al,9 Next1:cmp al,5 jae Next2 mov al,5 Next2:sub al,5 lea bx,Grade xlat mov dl,al mov ah,2 in
4、t 21h jmp Init Error:lea dx,MsgError mov ah,9 int 21h jmp Init mov ah,04ch int 21h cseg ends end BEGIN【程序测试与实现】题目 2:循环程序设计【题目要求】设有一段文字,编写一段程序查找字母a 出现的次数,并显示在屏幕上。【编程思路】输入并存储一个字符串,将字符串长度存入CL。设置计数器AX并清零,顺序遍历字符串,如果字符与A 相同,计数器+1,循环遍历CL次。显示AX中内容,就可以显示A出现的次数。【程序流程图】N 不是 A 是A Y Y 计数器 AX=0 长度存入CL 指针初始化首址比较指针
5、指向字符AX=AX+1 指针 SI+1 CL=CL-1 指针 SI+1 CL=CL-1 CL=0 CL=0?计数器 AX/10,AL=AL+30H AH=AH+30H 输出个数输入字符串存储字符串开始【源代码】STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?);注意这里只有128 个字节 STACKS ENDS DATA SEGMENT BUF DB 30H DB?DB 20H DUP(0)COUNT EQU BUF+1 STRING1 DB Count the num of A$STRING2 DB Please input a string:$DATA ENDS
6、 ENT MACRO ;宏汇编定义换行 MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH INT 21H ENDM CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING1 ;显示标题 MOV AH,09H INT 21H ENT MOV AH,09H ;显示 *MOV AL,*MOV BL,0C1H MOV CX,20 INT 10H ENT 结束 START2:MOV DX,OFFSET STRING2 ;显示“PLEASE INPUT A STRI
7、NG”MOV AH,09H INT 21H ENT MOV DX,OFFSET BUF ;存储输入字符串 MOV AH,0AH INT 21H CMP BUF+2,0 JE EXIT CMP BUF+1,20 JG ERROR ENT XOR AX,AX ;AX作为 A的计数器,清零 MOV CH,0 MOV CL,COUNT ;循环次数存入CL,表示字符串长度 MOV SI,2 AGAIN:MOV BL,BUFSI CMP BL,a JE SAME JNE NOTSAME MOV AH,4CH INT 21H NOTSAME:INC SI LOOP AGAIN JMP PRINT SAME:
8、INC AX ;A计数器+1,表示 A出现次数 INC SI ;指针+1 LOOP AGAIN JMP PRINT PRINT:MOV DL,10 ;10给除数 DIV DL ;AX内容除 10 ADD AL,30H ;将存储在主存单元中的商数值转换为ASCII ADD AH,30H ;将存储在主存单元中的余数数值转换为ASCII MOV BH,AH MOV DL,AL ;屏幕输出商 MOV AH,02H INT 21H MOV DL,BH ;屏幕输出余数 MOV AH,02H INT 21H ENT ENT JMP START2 ;跳转重新运行程序 MOV AH,4CH INT 21H EX
9、IT:ENT MOV AH,4CH INT 21H ERROR:ENT ENT MOV DL,E ;字符串过长越界,显示E MOV AH,02H INT 21H ENT JMP START2 MOV AH,4CH INT 21H CODE ENDS ;代码段结束 END START ;汇编完成,跳START 运行程序【程序测试与实现】题目 3:子程序设计【题目要求】给定一个数组存放5 个小写字母,用地址表传递方法编写子程序,将其转换成大写字母,并显示在屏幕上。【编程思路】分别将每个字符的ascii码值减 32,然后显示在屏幕上。【程序流程图】输入子程序调用读取数据并储存将每个字母的ascii
10、码值减 32 输出【源代码】STACKS SEGMENT STACK;堆栈段DW 128 DUP(?);注意这里只有128 个字节STACKS ENDS DATA SEGMENT;数据段ARRAY DW 5 DUP(0)COUNT DW 5 RESULT DW 5 DUP(0)ADDRESS DW 3 DUP(0);定义地址表STRING1 DB Transport letters$STRING2 DB Please input 5 small letters,(0)to exit:$STRING3 DB Result is:$ATTENTION1 DB Can not input this
11、letter$DATA ENDS ENT MACRO;宏定义定义换行MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH INT 21H ENDM STACK1 SEGMENT PARA STACK;堆栈段DW 40H DUP(0)STACK1 ENDS CODE SEGMENT;代码段ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING1 MOV AH,09H INT 21H ENT MOV AH,09H;显示*MOV AL,*MOV BL,0C1H MOV CX,20 INT
12、10H ENT START2:MOV DX,OFFSET STRING2;显示请输入5 个字符MOV AH,09H INT 21H XOR DX,DX MOV SI,0 LP:MOV AH,1;输入一个字符INT 21H CMP AL,0 JE EXIT CMP AL,a;判断输入字符的大小写,如果是大写,跳转到ATTENTION JB ATTENTION CMP AL,z JA ATTENTION MOV BYTE PTR ARRAYSI,AL INC SI CMP SI,5;比较 SI,5 JNE LP;如果不相等,表明未输入满5 个数,继续输入MOV ADDRESS,OFFSET ARR
13、AY;ARRAY地址存入地址表MOV ADDRESS+2,OFFSET COUNT;COUNT地址存入地址表MOV ADDRESS+4,OFFSET RESULT;RESULT地址存入地址表MOV BX,OFFSET ADDRESS;地址表装入 BX CALL TRANSPORT;调用子程序(大小写转换)ENT ENT JMP START2 MOV AH,4CH INT 21H EXIT:ENT MOV AH,4CH INT 21H ATTENTION:ENT;异常输入,提示用户LEA DX,ATTENTION1 MOV AH,9 INT 21H ENT ENT JMP START2 TRAN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 汇编语言 实验 报告
限制150内