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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

24个汇编实例小程序Word格式.docx

1、从键盘上输入一个十进制数,以十六进制数显示出来。要求子程序用寄存器参数传送方法试编制一个程序,把bx寄存器中的二进制数用十六进制数的形式在屏幕上显示出来代码:1.逆序输出字符串“BASED ADDRESSING”s1 segment stack ;定义栈段s1 dw 100 dup() ;定义栈空间为100top label word ;top指向栈顶s1 endss2 segment ;定义数据段s2s db BASED ADDRESSING,$ ;定义字符串sS2 endss3 segment ;定义代码段s3 assume cs:s3,ds:s2,ss:s1main proc far m

2、ov ax,s1 ;栈初始化 mov ss,ax lea sp,top ;栈初始化 mov ax,s2 ;数据段初始化 mov ds,ax ;数据段初始化 mov si,15l: mov dl,ssi ;dl获取字符串s的最后一个(从零开始的第十五个字符) mov ah,2 ;调用int 21h 2号功能输出dl上的值 int 21h dec si ;寄存器减一,准备获取下一个字符 cmp si,0 ja l mov ah,4ch ;终止main endps3 ends end main2.从键盘上输入两个数,分别放到x,y单元,求出它们的和s1 segment stack dw 100h d

3、up()top label words2 segmenth1 db Please input x:提示输入h2 db Please input y:h3 db z=x+y:提示输出crlf db 0dh,0ah,24h ;定义回车换行x dw y dw s2 endss3 segments3初始化 lea sp,top mov ax,s2 mov ds,ax ;初始化 lea dx,h1 ;int 21h 9号功能输出“提示输入x”的字符串 mov ah,9 xor bx,bx ;bx清零,即把bx置零InputX: mov ah,1 ;输入一个字符 cmp al,0dh ;判断时候为“回车”

4、字符 jz exit1 ;如果是回车字符就跳转到exit1 cmp al,30h ;和30h(即字符0的asii值)比较 jl exit1 ;如果输入字符小于0,跳转到exit1 cmp al,39h ;和39h(即字符9的ascii值)比较 jg exit1 ;如果输入字符大于9,跳转到exit1 sub al,30h ;al减去30h,输入字符转化成数字(从这一行开始到后面的add bx,ax为输入字符转化为数字的处理方法) cbw ;al扩充为ax xchg ax,bx mov cx,10 mul cx xchg ax,bx add bx,ax ;sub al,30h开始到这一行为输入字

5、符转化为数字的处理方法 jmp InputX exit1: mov x,bx ;把输入的存于bx的放到x中 lea dx,crlf lea dx,h2 xor bx,bxInputY:和InputX类似,输入y mov ah,1 cmp al,0dh jz exit2 cmp al,30h jl exit2 cmp al,39h jg exit2 sub al,30h cbw add bx,ax jmp InputYexit2: mov y,bx ;把输入的存于bx的放到y中 mov bx,x add bx,y ;此时bx为两数加和 int 21H lea dx,h3 xor si,si ;s

6、i清零,用作计数 mov ax,bx ;把和放到ax上 l4: mov cl,10 ;把和连续除以10知道和变为零,余数依次进栈 div cl mov dl,ah mov dh,0 push dx inc si mov ah,0 ;重要,不能漏写 cmp al,0 jnz l4l5: pop dx ;余数依次出栈 add dl,30h ;余数转换为显示的余数字符 mov ah,2 ;输入余数字符 dec si jnz l5 mov ah,4ch3.是编写一段程序,要求在长度为10的数组中,找出大于42h的无符号数的个数并存入地址为up开始区域,找出小于42h的无符号数的个数并存入地址为down

7、的开始区域,并分别显示up、down数组的个数和数组的数字the num of up array and the up array are(prints in decimalism) :the num of down array and the down array are(prints in decimalism) :crlf db 0dh,0ah,24harray db 0,50h,11h,61h,22h,72h,33h,73h,41h,74h,定义数组arrayup db 10 dup() ;定义up数组 down db 10 dup() ;定义down数组 mov ax,s1 mov

8、ds,ax mov si,0 mov di,1 mov bp,1 repeat: cmp arraysi,42h ;把array数组中小于42h的值放到down数组里,大于42h的值放到up数组里面 jb downarray mov dl,arraysi mov upbp,dl cmp si,10 jz exit1 inc bp jmp repeatdownarray: mov downdi,dl inc si inc di sub di,1 jmp exit sub bp,1exit: mov dx,bp ;把分配好的up数组和down数组在其有效数字后面添加,便于后面的输出结束 mov u

9、p0,dl mov upbp, mov dx,di mov down0,dl mov downdi, mov cl,10 lea dx,h1PrintUparray: cmp upsi, jz next mov al,upsi call print jmp PrintUparraynext: xor si,siPrintDownArray: cmp downsi, jz atend mov al,downsi jmp PrintDownArrayprint proc near ;print为输出十进制输出某个数的子程序 mov di,0rediv: mov ah,0 jnz redivbrea

10、k: pop dx add dl,30h mov ah,2 dec di cmp di,0 jnz break mov dl, retprint endpatend:4.键盘输入一段字符串,其中小写字母以大写字母输出,其他字符不变输出Please input a string:The changed string is:temp db jz exit cmp al,a jl putinz jg putin sub al,20h ;把小写字符变为大写字符putin: mov tempsi,al ;把字符放到temp数组里 jmp l lea dx,crlf ;输出tmp数组 mov tempsi

11、, lea dx,temp5.从键盘上就收一个小写字母,找出它的前导字符和后续字符,在顺序显示这三个字符Please input a lowercase:The the three chars are: jl l jg l mov cl,al dec cl mov dl,cl ;输出前导字符 inc cl输出该字符输出后导字符 int 21h 6.把一个包含20个数据的数组M分成两组:the positive number is:the negative number is:array dw 50h,-11h,61h,-22h,72h,-33h,73h,-41h,74h,21h,67h,-90

12、h,73h,77h,-1h,-89h,-11h,61h,-22h,20h, mov bx,0 mov dx,arraysi cmp dx,0 jl addlow ;有符号数比较用jl add si,2 cmp si,40addlow: inc bx mov ax,bx mov ax,20 sub ax,bx jmp atend打印数字字符的子程序 mov ah,0 jnz repeatl2: jnz l27.打印输出首地址为data的20个字数组中的最小偶数the min even number is:data dw 50,-11,61,-22,72,-33,73,-41,74,21,67,-

13、90,73,77,-1,-89,-11,61,-22,20, mov bx,65534 ;bx存最小数,初始令最小值置为65534 mov cl,100 mov dl,2 mov ax,datasi cmp ax,0 jnl l4 neg ax ;如果是负数,则求补 mov al,ah div dl cmp ah,0 jnz l1 cmp bx,datasi ;比较最小值和数组中的每个数 jl l1 ;如果数组中的数大于最小值跳转到l1 mov bx,datasi ;如果数组中的数小于最小值则将其赋给最小值 l1: jmp l2 cmp bx,0 jnl l5 neg bx- call pri

14、nt ;调用子程序输出最小值print proc nearl3: jnz l38.输入两船字符串string1和string2,并比较两个字符串是否相等,相等就显示“match”,否则显示“no match”Please input the first string:Please input the second string:h3 db MATCHh4 db NO MATCHstr1 db 50,50 dup()str2 db 50,50 dup( lea dx,str1 mov ah,0ah lea dx,str2 mov dl,str1+1 ;str1+1为str1实际的字符个数 cmp dl,str2+1 ;str2+1为str2实际的字符个数 jnz l mov si,2 mov dl,str1si

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

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