ImageVerifierCode 换一换
你正在下载:

汇编2.docx

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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

汇编2.docx

1、汇编2汇编语言程序设计 实验三 汇编语言程序调试运行学号: 姓名:(1)将下面的数据段输入,取名为1.asm, 保存在MASM文件夹下,生成.lst文件,不必连接运行,查看1.lst文件,试回答:DA1,DA2 的偏移量分别为多少?COUNT的值为多少?data segmentorg 20hnum1=8num2=num1+10hda1 db IBM PC da2 db 0ah,0dhcount equ $-da1data endsend(2)输入下列指令,改正可能的错误(先不要运行程序):data segmentvar1 db 0, 25, 0dh,300var2 db 12h,a4h,6bh

2、var3 db ABCDEFvar4 dw 1234h, 5678hvar5 dw 10h dup(?)data endscode segment assume cs:code, de:databegin mov ax, data mov ds, ax lea si, var5 mov bx, offset var2 mov si, 0abh mov ax, var1+2 mov bx, si mov var5+4, var4 mov ah, 4ch int 21hcode ends end start(3) 写一个完整的程序放在代码段C_SEG 中,要求把数据段D_SEG中的AGUEND和附

3、加段E_SEG中的ADDEND相加,并把结果存放在D_SEG中的SUM中。其中AUGEND,ADDEND,SUM均为dw类型,AUGEND赋值为9251,ADDEND赋值为-5962。实验报告中要求写出源程序,简单叙述上机步骤,调试方法。调试步骤 (详见书P146153)1编辑源程序,建立一个以后缀为 .asm的文件.2汇编源程序,编译: c: MASM5masm xxxx.asm 检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。3连接目标程序,产生可执行程序。连接:c:MASM5link xxxx.obj4运行: c: MASM5 xxxx.exe5调试:c:win

4、ntsystem32debug xxxx.exe1)先用命令U反汇编整个程序,查看每条指令的物理地址,其显示内容的含义为: 内存地址 指令代码 反汇编的程序代码-u0B75:0000 1E PUSH DS 2)再用-t命令单步执行,检查各个寄存器的值变化情况6DEBUG调试可执行程序,记录数据段和附加段的内容。(4) 数组中是一组无符号数,将最小数放在M单元中,经过汇编后,形成.EXE文件,先用G=0命令执行程序,用-D命令查看M单元的内容,会发现结果不正确。用单步执行命令T查找程序中的逻辑错误。DSEG SEGMENTMSG DB 13, 15, 7, 25, 24M DB ?DSEG EN

5、DSCSEG SEGMENT ASSUME CS: CSEG, DS: DSEGSTART: MOV AX, DSEG MOV DS, AXMOV CX, 4MOV AL, MSG MOV SI, OFFSET MSG+1L1: CMP AL, SIJB NEXTMOV AL, SINEXT: LOOP L1MOV M, ALMOV AX, 4C00HINT 21HCSEG ENDSEND START(5) 试编制一个汇编语言程序,求出首地址为DATA的10个无符号字数组中的最小偶数,把它存放在AX中。画出程序框图,写出源程序清单和执行结果。Data word 0141H, 0AE00H, 0

6、7B4H, 0A508H, 0691H,word 0870H, 7542H, 0081H, 0916H, 0017H(6) 有10个数,统计正数的个数,存放在变量M中。经过汇编后,形成.EXE文件,先用G=0命令执行程序,用-D命令查看M单元的内容,会发现结果不正确。用单步执行命令T查找程序中的逻辑错误,注意每一次循环中AL寄存器中的值变化是否正确(AL寄存器中存放正数的个数)DSEG SEGMENTMSG DB 4, -2, -6, 0, 5, 67, 8, -3, 5, 6M DB ?DSEG ENDSCSEG SEGMENT ASSUME CS: CSEG, DS: DSEGSTART:

7、 MOV AX, DSEG MOV DS, AXMOV CX, 10MOV AL, 0 LEA SI, MSGL1: MOV BL, SICMP BL, 0JBE NEXTINC ALNEXT: INC SILOOP L1MOV M, ALMOV AX, 4C00HINT 21HCSEG ENDSEND START(7) 假设有一组数据:5,-4,0,3,100,-51请编一程序,判断:每个数大于0,等于0,还是小于0;并将最终结果存于以result为存储的字节单元中,(Result DB 6 dup(?))即: 1 当x0y= 0 当x=0 -1 当x0编程提示:1首先将原始数据装入起始地址

8、为XX的字节存储单元中。2其中判断部分可采用CMP指令,得到一个分支结构,分别输出“y=0”, “y=1”, “y=-1”。将结果存入result的相应单元3程序中存在一个循环结构,循环6次,调用6次分支结构后结束。(8) 数据段中的三个字符,调用子程序将其逐个显示出来。子程序的功能是显示一个字符。单步执行,观察SP、IP的变化,并用D命令查看栈顶的内容。DATA SEGMENTMAG DB ABCDATA ENDSSTACK_SEG SEGMENT DB 100 DUP(?)TOS LABEL WORDSTACK_SEG ENDSCODE SEGMENT ASSUME CS:CODE, DS

9、:DATA, SS: STACK_SEGSTART: MOV AX, STACK_SEG MOV SS, AX MOV SP, OFFSET TOS MOV AX, DATA MOV DS, AX MOV SI, 0 MOV CX, 3LL: MOV DL, MAGSI CALL MADD INC SI LOOP LL MOV Ax, 4C00H INT 21HMADD PROC MOV AH, 02H INT 21H RETMADD ENDPCODE ENDSEND START(9) 将一个给定的二进制数按位转换成相应的ASCII码字符串,送到指定的存储单元,如二进制数10010011转换成

10、字符串为10010011。要求将转换过程写成子程序,且子程序应具有较好的通用性,而必须能实现对8位和16位二进制数的转换。(用寄存器或变量实现参数传递)测试数据:Var8bit byte 10010011B Var16bit word 1010001111000100B显示单元:Show8bit byte 8 dup (?) Show16bit byte 16 dup (?)(10) 将一个给定的二进制数按位转换成相应的ASCII码字符串,送到指定的存储单元,如二进制数10010011转换成字符串为10010011。要求将转换过程写成子程序,且子程序应具有较好的通用性,而必须能实现对8位和16位二进制数的转换。(用堆栈实现传参:可以选择用子过程来平衡堆栈,也可以用调用过程来实现平衡堆栈,程序功能说明中要指出)测试数据:Var8bit byte 10010011B Var16bit word 1010001111000100B显示单元:Show 8bit byte 8 dup (?) Show 16bit byte 16 dup (?)实验报告要求:1程序说明。说明程序的功能、结构。2调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。3写出源程序清单和执行结果。

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

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