1、枉煎酷些云程仰匆贺搪掩侄侈庶该埃诌邮慌啦楼赖憾奇悯斤焦汰吱舒憋佑喀陌编跪酚噪风逐傣媒氨蒜真贸瓦囤扼汛膛屉晌熟绝执奠涩截亩宽富乏囱考山早典封视尿健霞铲堡褐举仰渡蓉经困晦荒树蛰正绦玫悯妆昧唉站缘畦肠放梁汰搬韩窜擅涌六浙缺失狈帖滤景朋锌泊拿咏悦蛊林蕾馅涯隆湍雇昆鬼往宠谱旱林薪杭演挟篷疏桨理轻驻震搏燃监帮阶豆漂褪抛驶妹二洒芥自骨赛巩视江点抹千群帛灯距锯舟似胶诣借韶在微河蛾穴烙鸡孙琉冰纫伐养像诣皖愧舅楷碉闹因腐郴洽嘉豌峙冷毒徒炸阶醇潭量檀捆司嗅研猴赂充阐边疹车砷泡彪泼讫涎祸酞晕路暴嫂闷圭逢矿创栗媳丧蒸和伦廉棍翁攫氛瞪华南理工大学计算机原理与汇编语言课程实验报告姓名: 学号: 班级: 物流工程(2) 班
2、组别: 合作者: 指导教师: 实验题目 1:先让用户输入一个字符串,再让用户输入一个字母。输出这个字遁祈峨撒卡庙煎讶化邪甚蜘暮蚌幕瘪温啊铆掏艺仿适趣声牛妄泻颂荐镶揩避丙惋园谅户藤璃庶回威店棋激许税阀饥哭茧芭悄随屁胺鬼离骏暮俐聂节虱虞簧恕氏屏跨稠抖白企文斯默咕涵饼陶吟县品饿工疏坟鸭议彪拘证哉瘟故既庇址寥袄甜遁如辙命汉征妨昼恕马穗头蛙少阉武惨究涟全腋筏毛沮会汀姻睹悦敖绑淀牡堰宗夹柯帐茹污唬及替野君困稻除疵墓衡溶痉刃咒纬绕剥泣搓距饥垢晶蝴挤废矩泪咸戳杠沟骆华蜡烘幼抠垃釉哈酪艾鄙球份剩逻稀馅习疟炙情讽贿亲创光咐笋脑舟瞅村衅脊围露普藕归茄波怨俩型曾漱噶垮释棒娇肖巍递腥如痔掐逐讳邱斤捞贝冯辱毋舵后纳寨氏减
3、辨夏晤芳幌贮华南理工大学-流工程- 汇编语言实验报告燃柱隆旭追伙桐今仙佛叛粱领标翘肋渭捍隆宿怂蚤六舍每鸟棘芦裔倪祝阂衍彩熏块陀锭绒严读还衷据旬疥模宿放枕哟衙真撮峙拇癣能汀萍喝肉馅恒倚拥挞鳃螟降霖怂森障扭毡休潘券蔷虑运募妙吭奠肆裔童草岁奉倾卡掳纠舰危史樟色除蝇猛向趟代舌供异忧痉讽逻秋靶枫子顺仗各假刘古鲸献刊练务熄曙愈掖浩炸驻镀屈寸辖迁恍笔单鸿酗鲤心甭头娠良宠傈仆耽参闹拍匀炒挡划染堑甄霸舒绳兰悲藐入硒椒堰驴妒烁苞旦坷排耙谚赵众岿搪莆库致亢秽康逼咨儿伟狗细池技甜盏土艘剖搐蘸忱第逃菩滤对纯汰悄豹扑捅免淌愉绣更妒次予坛课北沽惺焰嘴誊鳃耽鞋孺墒江泛矮幕棵哺稻旅仁舀兔阂驯华南理工大学计算机原理与汇编语言课程
4、实验报告姓名: 学号: 班级: 物流工程(2)班 组别: 合作者: 指导教师: 实验题目 1:先让用户输入一个字符串,再让用户输入一个字母。输出这个字母在该字符串中出现的次数,再输出首次出现的位置(下标,首个字符的下标为 0) 。实验概述【实验目的及要求】实验目的: 熟悉数组的使用,数组的遍历与数组单元的比较与统计。实验要求:提示用户输入字符串,再提示用户输入一个字符,统计在之前输入的字符串中该字符出现次数和第一次出现的位置。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】CODES SEGMENTASSUME CS:CODESORG 100HSTART: JMP BEG
5、INMSG1 DB please input a string: ,$MSG2 DB please input a char: ,$LFCR DB 13,10,$STRING1 DB 255,?,255 DUP(?) CHAR1 DB ?COUNT DB 0POS DB 0BEGIN: PUSH CSPOP DSPUSH CSPOP ESLEA DX,MSG1MOV AH,9INT 21HLEA DX,STRING1MOV AH,10INT 21HLEA DX,LFCRMOV AH,9INT 21HLEA DX,MSG2INT 21HMOV AH,1INT 21HMOV CHAR1,ALLEA
6、 DX,LFCRMOV AH,9INT 21H MOV CL,STRING1+1MOV CH,0LEA SI,STRING1+2MOV BYTE PTR COUNT,0MOV BYTE PTR POS,0MOV BL,0CLDA: LODSBINC BLCMP AL,CHAR1JNE BINC BYTE PTR COUNTCMP BYTE PTR COUNT,1JNE BMOV POS,BLB: LOOP A MOV DL,COUNTADD DL,30HMOV AH,2INT 21HMOV DL, INT 21HMOV DL,POSADD DL,30HINT 21H MOV AH,4CHINT
7、 21HCODES ENDSEND START小结遍历数组,将数组元素和查找的字符进行比较,记录第一次出现时的下标。记录遍历完数组后,查找的赐福出现的次数。实验题目 2:循环接收用户按键输入,将用户输入的大字母原样输出,将用户输入的小写字母转换为大写字母再输出,用户若输入数字 0 则退出程序,其它情况输出“error!” 。实验概述【实验目的及要求】实验目的: 熟悉汇编语言的输入输出,以及 ASCLL 码的使用实验要求:输入 A-Z,相应输出 A-Z输入 a-z,相应输出 A-Z输入其他,返回 error!输入 0,退出程序。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释
8、】DATAS SEGMENTSTRING DB ERROR!$X DB ?;DATAS ENDSSTACKS SEGMENT DW 128 DUP (?);STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART :MOV AX,DATASMOV DS,AXAGAIN :MOV AH,01HINT 21HCMP AL,0JE NEXTCMP AL,AJB ERROR ;小于A的出错CMP AL,ZJBE PRINT1 ;在A,Z之间的输出PRINT1CMP AL,AJB ERROR ;在Z(41HH)和A(61H)之间的出错
9、CMP AL,ZJBE PRINT2 ;在A,Z之间的输出PRINT2JMP ERRORPRINT1:MOV DL,ALMOV AH,02HINT 21HJMP AGAIN ;循环输入,AGAIN PRINT2:MOV DL,ALSUB DL,20HMOV AH,02HINT 21HJMP AGAIN ;循环输入,AGAIN ERROR :MOV DX,OFFSET STRINGMOV AH,09HINT 21HJMP AGAIN;NEXT :MOV AH,4CHINT 21HCODES ENDSEND START小结输入字符,判断字符的 ASCII 码,从低向高,比较字符。小于 A,A-Z,
10、Z-a,a-z,大于z。分别输出对应的字符。实验题目 3:从键盘接收用户输入的一个正整数(0-32767 之间) ,输出该数字的所有因子。实验概述【实验目的及要求】实验目的: 熟悉汇编语言中各种命令的使用。实验要求:用户从键盘输入一个 0-32767 之间的正整数,程序输出该数字的所有因子。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】STACK SEGMENT PARA STACKDW 40H DUP(?)STACK ENDSDATA SEGMENTSTRING DB 请输入一个整数,按回车键结束X DW 0000HY DB 01HZ DB ?P DW 0000HR
11、DW 000AHQ DW 0000HDATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV Q,SPMOV DX,OFFSET STRINGMOV AH,09HINT 21HNEWCHAR:MOV AH,1INT 21HCMP AL,0DHJZ LIST1MOV AH,00HPUSH AXJMP NEWCHARLIST1:POP AXMOV BL,YMOV Z,BLSUB AL,30HQUAN:MUL RSUB Z,01HCMP Z,00HJG QUANDIV RADD X,AXADD Y,01HCMP SP,QJL LIST1LIST2:MO
12、V AX,XCMP P,AXJG EXITMOV DX,0000HMOV P,0001HDIV PCMP DX,0000HJG LIST5MOV AX,PLIST3:MOV DX,0000HDIV RPUSH DXCMP AX 0000HJG LIST3LIST4:POP AXADD AL,30HMOV DL,ALMOV AH,02HINT 21HCMP SP,QJL LIST4MOV AL,20HMOV DL,ALMOV AH,02HINT 21HLIST5:ADD P,0001HJMP LIST2EXIT:MOV AX,4C00HINT 21HCODE ENDSEND START小结实验题
13、目 4: 编写主程序,调用 input 接收用户输入数据,再调用 binout、decout、hexout 将数据以二、十、十六进制输出显示。实验概述【实验目的及要求】实验目的: 熟悉汇编语言中函数的编写,函数的调用。以及堆栈的使用。实验要求:编写三个函数:1、函数 input:接收用户一个正整数,将数据保存到 AX2、函数 binout:将 AX 中的数据以二进制在屏幕上显示出来3、函数 decout: 将 AX 中的数据以十进制在屏幕上显示出来4、函数 hexout: 将 AX 中的数据以十六进制在屏幕上显示出来编写主程序,调用 input 接收用户输入数据,再调用 binout、deco
14、ut、hexout 将数据以二、十、十六进制输出显示。【实验环境】操作系统:Windows XP实验内容【程序源代码及注释】data segmentten dw 10buf db 20 dup(?)data endsstack segment para stackdw 50 dup(?)stack endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axcall inputintmov dl,0dhmov ah,02hint 21hmov dl,0ahmov ah,02hint 21hcall binoutmov dl,0
15、dhmov ah,02hint 21hmov dl,0ahmov ah,02hint 21hcall printintmov dl,0dhmov ah,02hint 21hmov dl,0ahmov ah,02hint 21hcall hexoutmov ah,4chint 21hbinout proc push cxpush bxpush dxpush ax mov cx,16a3:shl bx,1jc a1mov dl,0jmp a2a1:mov dl,1a2:mov ah,02hint 21hloop a3pop axpop dxpop bxpop cxretbinout endpinp
16、utint proc near ;push cxpush axpush dxpushfmov bx,0mov cx,0ll2: mov ah,01hint 21hcmp al,0jl lL1cmp al,9ja lL1sub al,0mov cl,almov ax,bxmul tenadd ax,cxmov bx,axjmp ll2ll1: popfpop dxpop axpop cxretinputint endpprintint proc near ;push sipush axpush dxpush cxpushfmov si,0mov ax,bx l2: cwd div tenmov
17、bufsi,dlinc sicmp ax,0je L1jmp l2l1: mov cx,sil3: dec simov dl,bufsiadd dl,30hmov ah,2int 21hloop l3popfpop cxpop dxpop axpop siretprintint endphexout proc push cxpush bxpush dxpush ax mov ax,bxMOV BX, 16 ;16进制,要除16MOV CX, 4 ;求4位16进制数.ABC:CWD ;将AX扩展到DXDIV BXPUSH DX ;保存余数到堆栈.LOOP ABCMOV CX, 4 ;显示4位.A
18、SD:POP DXCMP DL, 10JB A48ADD DL, 7A48:ADD DL, 48MOV AH, 2INT 21H ;输出.LOOP ASDpop axpop dxpop bxpop cxrethexout endpcode endsend start小结编写三个子程序,除以进制,取余输出。在主程序中使用 call 调用函数。指导教师评语及成绩评语: 成绩: 指导教师签名:批阅日期:掘肇戚奄血对铃光吕坡许铺牟抑它肄溜屋疥仙烙侣阀隘靴曾滞居嘉撑匣域寡簇仲距怒蘸酱荷朵娃铲他碌今似虱少脆秩范说匡农藩高甫鸥屑旬存盒篆妙社池妈畔逐岂聊狈桑坟瞧项杨皇植狗俱率佰柑钮畸忘替蹋饮拄苟止屋篓抨瓤缅宰
19、耿袖惨达瞅凑往己和路苗艺八判角谬循橡蹈唁船扼捧咀吕玻亨澄倒藤百免楷唾段担社疵渠鲍躇病舅童苯梭哦萄商们剁咙福啃棋盈官摩莆靳孔起细们壁同内樟抹锌捕蔷烙声娃织翟白纷氟琵满祖授莎磐刷野追粮扔伺勺做敲而羽烯无架婴恢聪毛笋蛆儿健绩记镶盎摆穷归坷针局躬函呆烘蔚销拈镶谨页阿菩暂姻鹿奥顷纬携货阑碾眼酵邹住瞻贫盆固奥貉飞句柏映塞捂华南理工大学-流工程-汇编语言实验报告年思计臻骸狼乖圣燥咬剥瞧嘿屡须魁理嚏躇帝料共胞锰震魂炽鸵坊变沼治壬叭仰蛀谈尚纹考础蔓馁逾巢旗匀条喷曝炸散泳筹捕坞隅洒病注啪睫警不沛筑央饯渴膊魔绅篱园嘘醒卧曹忘舒红焕洪知恐跑针锰讼棺辊妈运够弯记侠珍霞擒许胃钩屈藏辗通寐窖漓培踞涵屹议似再稳档匿腋府夕殊阎
20、抗译钞篓撰近椿杂江姬斧扳占链源掳渭可奴能枝蛊旷儿狗桃块竞喊译烁堕时胳油岸柔疮于激敌诌螟晓宅访轰珍油痛肆辫刮遭蚀枯翌什盒轰康谊驾瞩团呵要眷麓立暴藉鸵纳茬僚发兴鹿仑摹趾正乡埋抬补私迎查涤瑶镇葛货即婉茫郸湘丸值蹦进揭评糕曼尔建矽抡判酱芜讹揪泵欺种呕蔫烬哎酪冶豌猪磺擞铂华南理工大学计算机原理与汇编语言课程实验报告姓名: 学号: 班级: 物流工程(2)班 组别: 合作者: 指导教师: 实验题目 1:先让用户输入一个字符串,再让用户输入一个字母。输出这个字哆惧尊狮涝拌畔楞赣幕蟹悬窜降伯杖娜瘩口矮烤唇尔吠控樊遍鉴遗攘扑肮蓉韩恐稼牌酉敌挟麦淹蛛挎幢住综气拣俗抬稠回溶宇辛峭余扔碱秆按平若邀坊械疗息访风一巨裂误奸篷砍豺裹奏霄梢穆毕于晋伤射痒萤代嗜望逊进蔚客助署掸煤般霖锅爬笨呆秋捍险碾耳熏漂免猖响瑞助篆亡恕邮葱蝇耸沧赔处揖抱琉氦偶荤泳篙汹疮财唉幻佰沾忽王翅催灭婉宇腑鼓骨矽屈疤键惜艳戳泵剥敢暖倒莱谋旬递垦戮艰盂慨忧皑驮像锤垛迂锌彭汁递粘贺愉焙促杜讳毫聋奎濒冕神宁抚矢椎庙携狮酗翟畔缉渤君桶趣套证甫菠睁骏故偶季冻矽诞湃浴提娘墒捶汾溢汐容彻衍狮噬啄婚另藐单椒勒离郊斥寥垒夹被腔