4程序汇编与调试讲述.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4程序汇编与调试讲述

程序汇编、连接与调试 2016-10 汇编语言程序设计上机过程 执行汇编程序的步骤 汇编代码编写 ASM-MASM,TASM ASM:宏汇编。(Macroassembler) MASM:微软公司开发的宏汇编,很常用。 TASM:Borland公司开发的宏汇编,也很常用,现在已经与MASM全面兼容。 NASM:通用网际的宏汇编。适用于跨平台的软件开发。 LINK DEBUG 汇编 Obj文件:所要的目标文件 Lst文件:列表文件,同时列出源程序和机器语言源程序清单 Crf文件:用来产生交叉引用表REF 连接和定位 Exe文件:最终的可执行程序,用户需要的。 Map文件:连接程序的列表文件,或称连接映像,给出每个段在存储器中的分配情况。 动态调试--Debug常用命令 D 查看数据单元 E 修改存储单元内容 R 查看或修改寄存器内容 G 执行程序 T 单步逐条执行程序 U 对程序代码进行反编译 A 汇编命令 Q 退出汇编环境 DATA SEGMENT X DB 15 Y DB 34 Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;初始化数据段 MOV AL,X ;X中的内容送AL MUL AL ;计算X×X MOV BX,AX ;X×X乘积送BX MOV AL,Y ;Y中的内容送AL MUL AL ;计算Y×Y ADD AX,BX ;计算X2+Y2 SHR AX,1 ;计算(X2+Y2)/2 MOV Z,AX ;结果送Z单元 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START ;汇编结束 【例】已知X和Y是数据段中的两个无符号字节单元,用程序完成表达式Z=(X2+Y2)/2的计算。 DATA SEGMENT BUF DB 30 ACTL DB ? STR DB 30 DUP(?) MESS DB Whats you name?, 0DH, 0AH, $ DMESS DB 0DH, 0AH, Hello, $ DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA MAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA 例题:简单人机对话的实现(NAME) 屏幕显示:What’s you name? 用户键入:Liping 屏幕显示:Helloliping! name.asm MOV DS, AX LEA DX, MESS MOV AH, 9 INT 21H ;显示“Whats you name?” LEA DX, BUF MOV AH, 10 INT 21H ;从键盘接收用户输入的信息 MOV AL, ACTL ;取得键入字符串的实际长度 CBW MOV SI, AX LEA BX, STR MOV [BX+SI], BYTE PTR ! ;在键入的字符串后加‘!’ MOV [BX+SI+1], BYTE PTR $ ;在‘!’后加$,以便显示 LEA DX, DMESS ;显示Hello! MOV AH, 9 INT 21H LEA DX, STR ;显示键入的字符串 MOV AH , 9 INT 21H RET CODE ENDS MAIN ENDP CODE1 SEGMENT ASSUME CS:CODE1, DS:DATA1 START:MOV AX, DATA1 MOV DS, AX XOR AX, AX ;用AX来对正数计数 XOR BX, BX ;用BX来对负数计数 XOR DX, DX ;用DX来对零计数 MOV CX, data

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档