欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    汇编语言程序上机.ppt

    • 资源ID:18070970       资源大小:143KB        全文页数:27页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言程序上机.ppt

    1、汇编语言程序上机过程,建立汇编语言的工作环境 建立ASM文件 用ASM(或MASM)程序产生OBJ文件 用LINK程序产生EXE文件 程序的执行,一 建立汇编语言的工作环境为了运行汇编语言程序至少要在磁盘上建立以下程序文件:编辑程序,文件名 EDIT.COM汇编程序,文件名 MASM.EXE 连接程序,文件名 LINK.EXE 调试程序,文件名 DEBUG.EXE 下面是三个可选程序:LIB.EXE,库管理程序 CREF.EXE,符号索引文件处理程序 EXE2BIN.EXE,将EXE转换为COM的文件格式转换程序,二 上机操作过程一个源程序的上机操作过程由编辑、汇编、连接和调试四个部分组成。1

    2、编辑汇编语言源程序的编写输入可以在DOS环境下的编辑软件EDIT中完成也可以在目前流行的各种文字处理软件、高级语言编辑环境及数据库编辑环境中完成注意:1.对编辑完成的源程序在存盘时扩展名必须加写.ASM2.一定要严格遵守汇编语言书写格式及段结构的格式来编写程序,2汇编汇编程序的主要功能包括展开宏指令,检查源程序的语法错误,生成目标代码程序。汇编过程就是将汇编语言源程序转换成机器能够识别的目标代码程序,即OBJ的二进制文件。还可生成扩展名为.LST的列表文件,扩展名为.CRF的符号索引文件。MASM5.0提供的汇编程序是MASM.EXE,MASM6.0提供的汇编语言是ML.EXE。二者的区别是:

    3、MASM.EXE仅能实现源程序的汇编,不能自动调用连接程序;而ML.EXE既能实现对源程序的汇编,也可在汇编结束后自动调用连接程序。,具体汇编过程如下:在DOS状态下,键入MASM,调入宏汇编程序。调入以后,先显示版本号,然后依次提出四个问题,如下所示:Source Filename.ASM:Sample第一行询问汇编语言源程序名。Object Filename Sample.OBJ:询问目标程序文件名,括号内为机器默认的文件名,通常直接回车,表示采用默认的文件名。,Source Listing Nul.LST:Sample询问是否要建立列表文件,该文件列出汇编后的目标代码以及与其有关的地址、

    4、源语句和符号表,可供打印输出。若需要这个文件则输入文件名并回车。Cross Reference Nul.CRF:Sample 询问是否要建立交叉引用文件,该文件是一个中间文件,可供CREF.EXE程序建立一个扩展名为.REF的引用表文件,以便用户了解源程序中符号和变量的引用情况。若需要则输入文件名,若不需要则直接回车。当用户回答了第四个询问后,汇编程序就对源程序进行汇编。,3连接所谓连接是用连接程序LINK.EXE把若干个经汇编后产生的.OBJ文件及指定的库文件连接起来,产生可执行的.EXE文件。在DOS状态下,键入LINK,调入连接程序。调入以后,先显示版本号,然后依次提示四个问题,如下所示

    5、:Object Modules.OBJ:Sample第一行询问要连接的目标文件名,如果有多个要连接的目标文件,应一次输入,各目标文件名之间用“+”号相连 Run File Sample.EXE:第二个提示询问要产生的可执行文件名,一般直接回车就采用了括号内默认的文件名,List File Nul.MAP:Sample 第三个提示询问是否产生扩展名为MAP的输出文件,这是一个连接程序的列表文件,又称为连接映象,它给出每个段在存储器中的分配情况 Libraries.LIB:最后提示是否用到库文件,要求用户输入源程序访问的库文件名。所谓库文件,就是若干可重定位的目标代码的集合,它可以由库管理程序LI

    6、B.EXE建立和修改。若没有库文件,则直接输入回车即可。,4调试经过上述汇编、连接后产生的.EXE可执行文件可在DOS状态下直接输入文件名运行该程序。如果出现错误,可用动态调试程序DEBUG进行调试。找出错误后,再重复上述过程,直至程序能正确运行为止。,数据的输入与输出,输入一个字符:使用中断21H,功能调用号为01H,将输入任意键入的字符,存入AL中(ASCII码)MOV AH,01HINT 21H输入字符串:DX=缓冲区首址 LEA DX,BUFMOV AH,0AHINT 21H,例:单字符输入(AH=1)get-key:mov ah,1 int 21h cmp al,Y je yes c

    7、mp al,N je no jne get_key yes:no:,例:输入字符串(AH=0ah)缓冲区的第一个字节保存最大字符数,这个最大字符数由用户程序给出。第二个字节是实际输入字符的个数,由功能A填入,不是由用户填入。在这两个字节之后,字符串按字节存入缓冲区,结束字符串的回车符0DH还要占用一个字节。(1)maxlen db 32 actlen db?string db 32 dup(?)lea dx,maxlen mov ah,0ah int 21h,0b,(DX),输出一个字符:使用02号功能,将DL中的字符显示出来MOV DL,XMOV AH,02HINT 21H输出字符串:DX=

    8、串地址 串必须以$结束,光标跟随串移动LEA DX,DATAMOV AH,09HINT 21H,例:显示单个字符(AH=2)mov ah,2 mov dl,A int 21h例:显示字符串(AH=9)string db HELLO,0dh,0ah,$lea dx,string mov ah,9 int 21h,EX1 从键盘上键入20个字符,将键入的字符按相同的顺序显示出来。键入时,每键入一个字符,输出一个空格。把主程序建立为过程,由DOS调用该过程,进入程序后,首先把DS的内容和0作为段地址和偏移地址入栈,以便在程序结束时用RET指令返回DOS。若在主程序开始时没有在堆栈中建立返回信息,则在

    9、程序结束时就不能直接用RET返回指令,应该使用编号为4C的功能调用返回DOS。MOV AX,4CH INT 21H,DSEG SEGMENT DATA DB 20 DUP(?)DSEG ENDSSTACK1 SEGMENT DB 200 DUP(0)STACK1 ENDSCSEG SEGMENTYYY PROC FAR ASSUME CS:CSEG,DS:DSEG,SS:STACK1,START:PUSH DS SUB AX,AX PUSH AX MOV AX,DSEG MOV DS,AX LEA SI,DATA MOV CX,20 LP1:MOV AH,01H INT 21H MOV SI,

    10、AL INC SI MOV DL,20H;空格 MOV AH,02H,INT 21H LOOP LP1 LEA SI,DATA MOV CX,14H LP2:MOV DL,SI MOV AH,02H INT 21H INC SI LOOP LP2 RET YYY ENDP CSEG ENDS END START,DSEG SEGMENT DATA DB 20 DUP(?)DSEG ENDSSTACK1 SEGMENT DB 200 DUP(0)STACK1 ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:STACK1START:MOV AX,DSEG MO

    11、V DS,AX LEA SI,DATA MOV CX,14H,LP1:MOV AH,01H INT 21H MOV SI,AL INC SI MOV DL,20H MOV AH,02H INT 21H LOOP LP1 LEA SI,DATA;若要相反顺序输出,此句省略 MOV CX,14H MOV DL,0DH;回车 MOV AH,02H INT 21H,MOV DL,0AH;换行 MOV AH,02H INT 21HLP2:MOV DL,SI MOV AH,02H INT 21H INC SI;若要相反顺序输出,此句改为 DEC SI LOOP LP2 MOV AH,4CH INT 21H

    12、CSEG ENDS END START,输入个数不定,当输入空格时停止DSEG SEGMENT DATA DB 20 DUP(?)DSEG ENDSSTACK1 SEGMENT DB 200 DUP(0)STACK1 ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:STACK1START:MOV AX,DSEG MOV DS,AX LEA SI,DATA MOV BX,0,LP1:MOV AH,01H INT 21H MOV SI,AL INC SI INC BX CMP AL,20H JE LP2 MOV DL,20H MOV AH,02H INT 21

    13、H JMP LP1,LP2:MOV CX,BX LEA SI,DATA LP3:MOV DL,SI MOV AH,02H INT 21H INC SI LOOP LP3 MOV AH,4CH INT 21HCSEG ENDS END START,EX1 从键盘上键入20个字符,将键入的字符按相反的顺序显示出来。键入时,每键入一个字符,输出一个空格。EX2 编写人机对话程序 WHAT IS YOUR NAME?输入:My name is.EX3:将变量A=10011010B的数据以二进制形式在显示器上输出。,例、1+2+3+100=?并显示出来。DATA SEGMENT BUF DB 8 DUP

    14、(0);最大长度8,初值0DATA ENDSSTACK1 SEGMENT DB 200 DUP(0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1,START:MOV AX,DATA MOV DS,AX MOV BX,1;加数 MOV AX,0;和 MOV CX,100;次数 L1:ADD AX,BX INC BX LOOP L1;5050 MOV CX,0 MOV BX,10 LEA SI,BUF,L2:MOV DX,0 DIV BX PUSH DX;保存余数 INC CX;保存个数计数 OR AX,AX JNE L2;商AX不为0则循环 L3:POP DX ADD DL,30H MOV SI,DL INC SI DEC CX JNE L3,MOV SI,BYTE PTR 0DH MOV SI+1,BYTE PTR 0AH MOV SI+2,BYTE PTR$LEA DX,BUF MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START,


    注意事项

    本文(汇编语言程序上机.ppt)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开