ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:17.81KB ,
资源ID:8600720      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8600720.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华南理工大学物流工程汇编语言实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华南理工大学物流工程汇编语言实验报告.docx

1、华南理工大学物流工程汇编语言实验报告华南理工大学计算机原理与汇编语言课程实验报告姓名: 学号: 班级: 物流工程(2)班 组别: 合作者: 指导教师: 实验题目1:先让用户输入一个字符串,再让用户输入一个字母。输出这个字母在该字符串中出现的次数,再输出首次出现的位置(下标,首个字符的下标为0)。实验概述【实验目的及要求】实验目的: 熟悉数组的使用,数组的遍历与数组单元的比较与统计。实验要求:提示用户输入字符串,再提示用户输入一个字符,统计在之前输入的字符串中该字符出现次数和第一次出现的位置。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】CODES SEGMENT ASS

2、UME CS:CODES ORG 100HSTART: JMP BEGIN MSG1 DB please input a string: ,$ MSG2 DB please input a char: ,$ LFCR DB 13,10,$ STRING1 DB 255,?,255 DUP(?) CHAR1 DB ? COUNT DB 0 POS DB 0BEGIN: PUSH CS POP DS PUSH CS POP ES LEA DX,MSG1 MOV AH,9 INT 21H LEA DX,STRING1 MOV AH,10 INT 21H LEA DX,LFCR MOV AH,9 IN

3、T 21H LEA DX,MSG2 INT 21H MOV AH,1 INT 21H MOV CHAR1,AL LEA DX,LFCR MOV AH,9 INT 21H MOV CL,STRING1+1 MOV CH,0 LEA SI,STRING1+2 MOV BYTE PTR COUNT,0 MOV BYTE PTR POS,0 MOV BL,0 CLD A: LODSB INC BL CMP AL,CHAR1 JNE B INC BYTE PTR COUNT CMP BYTE PTR COUNT,1 JNE B MOV POS,BL B: LOOP A MOV DL,COUNT ADD

4、DL,30H MOV AH,2 INT 21H MOV DL, INT 21H MOV DL,POS ADD DL,30H INT 21H MOV AH,4CH INT 21HCODES ENDS END START小结遍历数组,将数组元素和查找的字符进行比较,记录第一次出现时的下标。记录遍历完数组后,查找的赐福出现的次数。实验题目2:循环接收用户按键输入,将用户输入的大字母原样输出,将用户输入的小写字母转换为大写字母再输出,用户若输入数字0则退出程序,其它情况输出“error!”。实验概述【实验目的及要求】实验目的: 熟悉汇编语言的输入输出,以及ASCLL码的使用实验要求:输入A-Z,相应输

5、出A-Z输入a-z,相应输出A-Z输入其他,返回error!输入0,退出程序。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】DATAS SEGMENT STRING DB ERROR!$ X DB ?; DATAS ENDSSTACKS SEGMENT DW 128 DUP (?);STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART :MOV AX,DATAS MOV DS,AXAGAIN :MOV AH,01H INT 21H CMP AL,0 JE NEXT CMP AL,A JB ERR

6、OR ;小于A的出错 CMP AL,Z JBE PRINT1 ;在A,Z之间的输出PRINT1 CMP AL,a JB ERROR ;在Z(41HH)和a(61H)之间的出错 CMP AL,z JBE PRINT2 ;在a,z之间的输出PRINT2 JMP ERRORPRINT1:MOV DL,AL MOV AH,02H INT 21H JMP AGAIN ;循环输入,AGAIN PRINT2:MOV DL,AL SUB DL,20H MOV AH,02H INT 21H JMP AGAIN ;循环输入,AGAIN ERROR :MOV DX,OFFSET STRING MOV AH,09H

7、INT 21H JMP AGAIN;NEXT :MOV AH,4CH INT 21HCODES ENDS END START小结输入字符,判断字符的ASCII码,从低向高,比较字符。小于A,A-Z,Z-a,a-z,大于z。分别输出对应的字符。实验题目3:从键盘接收用户输入的一个正整数(0-32767之间),输出该数字的所有因子。实验概述【实验目的及要求】实验目的: 熟悉汇编语言中各种命令的使用。实验要求:用户从键盘输入一个0-32767之间的正整数,程序输出该数字的所有因子。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】stack segment para stackd

8、w 40h dup(?)stack endsdata segmentstring db 请输入一个整数,按回车键结束x dw 0000hy db 01hz db ?p dw 0000hr dw 000ahq dw 0000hdata endscode segmentassume ds:data,cs:codestart: mov q,sp mov dx,offset string mov ah,09h int 21hnewchar:mov ah,1 int 21h cmp al,0dh jz list1 mov ah,00h push ax jmp newchar list1:pop ax m

9、ov bl,y mov z,bl sub al,30h quan:mul r sub z,01h cmp z,00h jg quan div r add x,ax add y,01h cmp sp,q jl list1 list2:mov ax,x cmp p,ax jg exit mov dx,0000h mov p,0001h div p cmp dx,0000h jg list5 mov ax,p list3:mov dx,0000h div r push dx cmp ax 0000h jg list3 list4:pop ax add al,30h mov dl,al mov ah,

10、02h int 21h cmp sp,q jl list4 mov al,20h mov dl,al mov ah,02h int 21h list5:add p,0001h jmp list2 exit:mov ax,4c00h int 21h code ends end start小结实验题目4: 编写主程序,调用input接收用户输入数据,再调用binout、decout、hexout将数据以二、十、十六进制输出显示。实验概述【实验目的及要求】实验目的: 熟悉汇编语言中函数的编写,函数的调用。以及堆栈的使用。实验要求:编写三个函数:1、函数input:接收用户一个正整数,将数据保存到AX

11、2、函数binout:将AX中的数据以二进制在屏幕上显示出来3、函数decout: 将AX中的数据以十进制在屏幕上显示出来4、函数hexout: 将AX中的数据以十六进制在屏幕上显示出来编写主程序,调用input接收用户输入数据,再调用binout、decout、hexout将数据以二、十、十六进制输出显示。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】data segmentten dw 10buf db 20 dup(?)data endsstack segment para stackdw 50 dup(?)stack endscode segment assum

12、e cs:code,ds:datastart: mov ax,data mov ds,ax call inputint mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h call binout mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h call printint mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h call hexout mov ah,4ch int 21hbino

13、ut proc push cx push bx push dx push ax mov cx,16a3:shl bx,1 jc a1 mov dl,0 jmp a2a1:mov dl,1a2:mov ah,02h int 21h loop a3 pop ax pop dx pop bx pop cx retbinout endpinputint proc near ; push cx push ax push dx pushf mov bx,0 mov cx,0 ll2: mov ah,01h int 21h cmp al,0 jl lL1 cmp al,9 ja lL1 sub al,0 m

14、ov cl,al mov ax,bx mul ten add ax,cx mov bx,ax jmp ll2ll1: popf pop dx pop ax pop cx retinputint endpprintint proc near ; push si push ax push dx push cx pushf mov si,0 mov ax,bx l2: cwd div ten mov bufsi,dl inc si cmp ax,0 je L1 jmp l2l1: mov cx,sil3: dec si mov dl,bufsi add dl,30h mov ah,2 int 21h

15、 loop l3 popf pop cx pop dx pop ax pop si retprintint endphexout proc push cx push bx push dx push ax mov ax,bx MOV BX, 16 ;16进制,要除16 MOV CX, 4 ;求4位16进制数.ABC: CWD ;将AX扩展到DX DIV BX PUSH DX ;保存余数到堆栈. LOOP ABC MOV CX, 4 ;显示4位.ASD: POP DX CMP DL, 10 JB A48 ADD DL, 7A48: ADD DL, 48 MOV AH, 2 INT 21H ;输出. LOOP ASD pop ax pop dx pop bx pop cx rethexout endpcode ends end start小结编写三个子程序,除以进制,取余输出。在主程序中使用call调用函数。指导教师评语及成绩评语: 成绩: 指导教师签名: 批阅日期:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1