




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
王爽汇编程序设计项目(拿到题目,建议先自己动手去做,去思考) 程序设计项目一data segment dw ?data endsend要求:只在定义的数据段?中加入相关的内容,使得上面的程序可以在屏幕中间显示一个绿色的字符A。汇编源程序设计如下:assume cs:datadata segment dw 61h start:mov ax,data mov ds,ax mov bx,0 mov ax,0b800h mov es,ax mov cx,0 mov cl,ds:bx mov ch,00000010b mov es:2000,cx mov ax,4c00h int 21hdata endsend start通过此程序设计学习到了:一个有意义、完整的汇编源程序必须有至少有一个代码段。程序设计项目二对加密的字符串进行解密。要求:(1)加密的字符串放在Cryptography段。(2)解密方法:将Cryptography段的每个字符的ASCII值减去1。 (3)用汇编语言实现程序,将Cryptography段的数据按照解密方法进行解密,将解密后的数据放在PlainText段,然后再把解密之后的字符串以白底蓝字方式显示到屏幕中间。(4)密文和明文的数据段定义如下:Cryptography segment db tqsfbe!zpvs!xjoht db !cf!zpvs!nbtufs!Cryptography endsPlainText segment db 2*17 dup ( )PlainText ends汇编源程序设计如下:assume ds:cryptography,cs:codecryptography segment db tqsfbe!zpvs!xjoht db !cf!zpvs!nbtufs!cryptography endsplainText segment db 34 dup (0)plainText endscode segment start:mov ax,cryptography mov ds,ax mov bx,0 mov di,34 mov ax,0b800h mov es,ax mov cx,0 mov al,0 mov cx,34 s: mov al, ds:bx dec al mov ds:di,al inc bx inc di loop s mov di,34 mov bx,46 /列 mov si,1920 /行 mov cx,34 s1: mov ah,01110001b mov al,ds:di inc di mov es:si+bx,ax inc si inc si loop s1 mov ax,4c00h int 21hcode endsend start 通过此程序设计学习到了:定位显示时,列不能取奇数程序设计项目三加、减、除三则运算。要求:(1)读取字符串的内容,判断第四个字符是+、-或/,然后按照相应的符号进行运算,并把运算结果转换为字符串存放在等号后面,最后把算式显示到屏幕中间,白底蓝字。(2)注意数字字符的ASCII与数字的对应关系,数字的数值加30H为这个数字的字符所对应的ASCII。(3)数据段定义如下:Calculate segment db 1. 3/1= db 2. 5+3= db 3. 9-3= db 4. 4+5= Calculate ends汇编源程序设计如下:assume ds:calculate,cs:codecalculate segment db 1. 3/1= db 2. 5+3= db 3. 9-3= db 4. 4+5= calculate endsstack segment dw 64 dup (0)stack endscode segment start:mov ax,calculate mov ds,ax mov di,3 mov ax,stack mov ss,ax mov sp,128 mov ax,0b800h mov es,ax mov si,0 mov bx,1504 mov cx,4 s:push cx mov ah,0 mov al,ds:di call jian0 inc di mov ch,0 mov cl,ds:di push cx mov dl,cl call chufapanduan mov cl,dl jcxz chufa k1:pop cx push cx mov dl,cl call jianfapanduan mov cl,dl jcxz jianfa k3:pop cx push cx mov dl,cl call jiafapanduan mov cl,dl jcxz jiafa k2:pop cx pop cx add di,12 loop s mov cx,0 mov cx,4 g2:push cx mov cx,16 g1:mov ah,01110001b mov al,ds:si inc si mov es:bx,ax inc bx inc bx loop g1 add bx,128 pop cx loop g2 mov ax,4c00h int 21h chufa:push ax inc di mov ch,0 mov cl,ds:di mov al,cl call jian0 mov cl,al pop ax div cl inc di inc di add al,30h mov ds:di,al jmp short k1 jiafa:push ax inc di mov ch,0 mov cl,ds:di mov al,cl call jian0 mov cl,al pop ax add al,cl add al,30h inc di inc di mov ds:di,al jmp short k2 jianfa:push ax inc di mov ch,0 mov cl,ds:di mov al,cl call jian0 mov cl,al pop ax s5:dec al loop s5 add al,30h inc di inc di mov ds:di,al jmp short k3 jian0: mov cx,30h s1:dec al loop s1 retchufapanduan:mov cx,2fh s2:dec dl loop s2 retjianfapanduan:mov cx,2dh s3:dec dl loop s3 retjiafapanduan:mov cx,2bh s4:dec dl loop s4 ret code endsend start学会了:分别设计了三个子程序分别用于除法、减法、加法的判断通过哪种判断就执行哪种计算方法从data段的段地址di=3开始扫描下一行是3+16 、3+16+16以此下去结果保存等式=后面最后显示在屏幕中间 程序设计项目四编程计算x(x2)的y(y2)次方。使用add指令实现。另,若学到第10章,使用两种方式实现:(1)只使用add指令实现;(2)只使用mul指令实现;并将计算式显示在屏幕中央。例如:计算4的3次方。在屏幕中央显示格式如下:43-64注意:结果不能超过16位寄存器可存储的最大值。汇编源程序设计如下:1、只使用add指令实现assume cs:codecode segment start:mov ax,0b800h mov es,ax mov si,1504 mov ax,2 mov dx,3 push dx push ax mov di,ax dec dx mov cx,dx mov dx,ax s1:push cx mov bx,ax dec ax mov cx,ax inc ax mov ax,dx mov bx,dx s2:add ax,bx loop s2 pop cx mov dx,ax mov ax,di loop s1 mov ax,dx mov cx,ax pop ax pop dx add ax,30h mov ah,00000001b add dx,30h mov dh,00000001b mov es:si,ax add si,160 mov bh,00000001b mov bl,5eh mov word ptr es:si,bx add si,160 mov es:si,dx add si,158 mov bh,00000001b mov bl,2dh mov word ptr es:si,bx add si,2 mov word ptr es:si,bx add si,2 mov word ptr es:si,bx add si,2 mov word ptr es:si,bx add si,156 mov di,0 mov ax,cx mov bx,10 h:mov dx,0 div bx push dx inc di mov cx,ax jcxz ok1 jmp short h ok1:mov cx,di h1: pop dx add dx,30h mov dh,00000001b mov es:si,dx add si,2 loop h1 mov ax,4c00h int 21hcode endsend start会做项目三的基础上完成此程序并不难程序设计项目五定义一个数据段如下:data segmentdb h12E332lL#O*&!88nIcE$% %$T1O m33E44E55t y77O88u!()db ?data ends注意:第一行字符串为待处理的数据,?为字符串结束符号。设计程序完成如下操作:(1)去掉除字母、空格、!之外的字符;(2) 通过内存间的数据交换,将数据段中的字符串修改为Hello!Nice to meet you!;(3)在屏幕正中打印处理好后的数据。完成程序后思考:(1)如何设计程序,程序代码量最少;(2)如何设计程序,程序执行速度最快;(3)如何设计程序,使得程序具有通用性。注意:(1)?、!和空格分别假定为字符串的结束符、一句话的最后的标点和单词间的间隔符,都不属于干扰符号。(2)这里的通用性是指:任意带有其他符号干扰的一组字符串都能够通过程序被处理为具有如下特点的英文段落:段落中只包含字母、空格、!三种符号。段落中的每句话都是以开头字母为大写,!为结束标点的句子。汇编源程序设计如下: assume cs:codedata segment db h12E3321L#o*&!88nIcE$T1o m33E44E55t y77o88u!() db ?data endsstack segment dw 64 dup (0)stack endscode segment start:mov ax,data mov ds,ax mov si,0 mov ax,0b800h mov es,ax mov di,1440 mov ah,0 mov bh,0 s:mov al,ds:si inc si mov ah,0 mov dl,al call zifu jcxz xianshizifu zf:mov ah,0 mov al,dl call gan jcxz xianshigan gg:mov ah,0 mov al,dl call kongge jcxz xianshikong kk:mov ah,0 mov al,dl call wenhao jcxz j jmp short sxianshizifu: mov al,dl mov ch,0 add bh,1 dec bh dec bh mov cl,bh jcxz daxie or al,00100000b hh1:mov ah,00000001b mov es:di,ax add di,2 jmp short zf daxie:mov ch,0 mov cl,20h da:dec al loop da mov bh,1 jmp short hh1xianshigan:mov al,dl mov ah,00000001b mov es:di,ax add di,2 mov bh,0 jmp short ggxianshikong:mov al,dl mov ah,00000001b mov es:di,ax add di,2 jmp short kk j:mov ax,4c00h int 21h zifu: or al,00100000b mov ch,0 mov cl,60h z1:dec al loop z1 mov cl,26 z2:mov bl,cl dec al mov cl,al jcxz z3 mov cl,bl loop z2 jmp short z4 z3:add bh,1 z4:mov cl,al ret gan:mov ch,0 mov cl,21h g1:dec al loop g1 mov cl,al ret kongge:mov ch,0 mov cl,20h kong1:dec al loop kong1 mov cl,al ret wenhao:mov ch,0 mov cl,3fh w1:dec al loop w1 mov cl,al retcode ends end start 此程序也是建立在项目三的基础上的,分别建四个子程序判断字符、空格、感叹号、问号。难点是:如何使每一句子开头的字母大写,句子与感叹号!为结尾 问号?结束 程序设计项目六在屏幕中间显示:“中华”两个字。参看demo0.png示例。提示:通过字模提取工具,可以提取字的显示信息。 assume ds:data,cs:codedata segment db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 db 1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1 db 1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1 db 1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1 db 1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0 db 0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0 db 0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0 db 0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0 db 0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0 db 0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0 db 0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 data endsstack segment dw 64 dup (0)stack endscode segment start:mov ax,0b800h mov es,ax mov dl,160 mov al,16 mul dl mov di,ax add di,20 mov ax
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 各大美院考题试卷及答案
- 2025年电梯施工考试试题及答案
- 2025北京招教考试真题及答案
- DB65 T8038-2025 《好住房建设技术标准》
- DB46T7202025水务工程施工资料管理规程
- 2025年怀化联考历史试卷及答案
- 2025年中级中医考试试题及答案
- 大城一中模拟考试题及答案
- 临床专业测试真题及答案
- 光污染防治与照明控制方案
- 中国矢量地图可编辑建筑生通用区位分析
- 2023年自学考试历年试题自学考试小学英语教育试题复习参考资料
- 路基路面工程现场检测技术培训课件
- 中考复习《中考经典错题集》课件
- 2型糖尿病防治指南解读共120张课件
- 大学生计算思维调查问卷
- 抖音短视频运营部门薪酬绩效方案(短视频运营薪酬绩效考核方案)
- 《中国民间故事》整本书阅读交流展示课ppt课件(完美版) 小学语文五年级必读书目快乐读书吧
- 运动营养学全套教学课件
- 高中音乐 鉴赏《学会聆听》音乐情感及情绪 课件
- 《今天是你的生日》(课堂PPT)
评论
0/150
提交评论