1、3.演示程序运行结果,请指导教师检查。 三、思考1.汇编语言程序中语句END后的标号作用是什么? 2.采用标准序结构编制源程序,用ret结束程序运行返回操作系统时,可否将语句main proc far中的far属性去掉,为什么? 3.一个段的大小为多少?一定是64KB吗?如何在DEBUG下查看程序在内存的存放情况?四、提交内容 将各个源程序代码、exe文件压缩为RAR后提交到作业系统。题目创建人题目注释1.1.asmDATAS SEGMENT String db BASED ADDRESSING count dw $-StringDATAS ENDSSTACKS SEGMENTSTACKS E
2、NDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX mov cx,count ;循环次数 lea si,count-1 ;将最后一个字符G的地址给si L: mov ah,2 mov dl,si dec si int 21h loop L MOV AH,4CH INT 21HCODES ENDS END START1.2.asm x db x=$ y db y=$ z db x+y=$ MOV DS,AX mov ah,9 ;显示x= lea dx,x mov ah,1 ;输入X su
3、b al,30h mov cl,al ;将X放在CLy= lea dx,y输入Y add cl,al ;两数字相加z= lea dx,z mov ah,2 ;显示结果 mov dl,cl add dl,30h1.3.asm array db 128 dup(41h,43h) up dw 0 down dw 0 lea di,array mov cx,256L: mov al,di cmp al,42h jl L1 ja L2L1: inc down jmp L3L2: inc up jmp L3 L3: inc di实验二 程序结构与简单程序设计简单程序设计2013-4-1 22:55一、实验
4、目的1掌握汇编语言源程序结构。 2掌握汇编语言调试方法。1.编写完整的汇编语言程序:(1) 试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。(2) 编写程序,从键盘接收一个小写字母,然后找出它的前导字母和后续字母,再按顺序显示这三个字符。(3) 试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”.(4) 编写程序,将一个包含有20个数据的数组M分成2个数组:正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。1对输入的非字母字符如何处理? 2. 字母“a”和“z”边界字符的处
5、理方法是什么? 3. 显示结果为多位数的时候如何输出?将各个源程序代码、exe文件,思考题的WORD文档压缩为RAR后提交到作业系统。2.1.asm crlf db 0ah,0dh,$输入数据会AL push ax ;将AX存进栈里 lea dx,crlf ;换行 mov ah,9 pop dx ;栈里数据放进DX,即将原先AX放进DX sub dl,20h ;小写变大写要减去20h输出2.2.asm String db zabcdefghijklmnopqrstuvwxyza lea di,String输入字母 inc di ;先DI自加1,第一次就是a的地址,不是z cmp al,di ;
6、直到找到字母和输入的相匹配 jnz L dec di ;推前成为前端字母的地址 mov cx,3 ;循环次数3 mov dl,di loop L22.3.asm String1 db this is a program count1 dw $-String1 String2 db count2 dw $-String2 answer1 db match, answer2 db no match mov ax,count1 mov bx,count2 cmp ax,bx ;比较两个字符串的长度,如果不等就是不匹配 jnz next mov cx,count1 ;字符串长度 lea si,stri
7、ng1 lea di,string2 mov al,si比较两个字符串的字符,如果不等就跳 jnz next inc si lea dx,answer1 ;能到这里说明都匹配 jmp finally ;跳去finally,避免顺序执行了nextnext: ;显示不匹配 lea dx,answer2finally:2.4.asm M db 5 dup(-1,1,2,3) P dw 0 N dw 0 lea si,M mov cx,20 ; cmp al,0 ;和0比较判断正负 jg L2 inc N inc P loop L mov ax,P ;输出P mov bl,10 ;设置除数10 div bl mov bh,ah ;将ah(余数放在bh保留) mov dl,al ;将商显示 mov dl,bh ;将余数显示 mov ax,N ;输出N mov bl,10 div bl mov bh,ah mov dl,al mov dl,bh实验三 分支程序设计分支结构2013-4-14 20:14:571. 掌握汇编语言源程序结构。2. 掌握汇编语言分支结构
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1