好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汇编语言实验答案(王爽).pdf

20页
  • 卖家[上传人]:第***
  • 文档编号:57863730
  • 上传时间:2018-10-25
  • 文档格式:PDF
  • 文档大小:164.97KB
  • / 20 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 汇编语言答案 检测点 1.1(第 8 页) (1) 13 (2) 1024,0,1023 (3) 8192,1024 (4) 2^30,2^20,2^10 (5) 64,1,16,4 (6) 1,1,2,2,4 (7) 512,256 (8) 二进制 注意: 1.第 4 题中的符号'^'指求幂运算(如: 2^30 指 2 的 30 次方) 检测点 2.1(第 18 页) ---------------------- (1)写出每条汇编指令执行后相关寄存器中的值 第一空:F4A3H 第二空:31A3H 第三空:3123H 第四空:6246H 第五空:826CH 第六空:6246H 第七空:826CH 第八空:04D8H 第九空:0482H 第十空:6C82H 第十一空:D882H 第十二空:D888H 第十三空:D810H 第十四空:6246H (2)只能使用目前学过的汇编指令,最多使用 4 条指令,编程计算 2 的 4 次方 解答如下: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点 2.2(第 23 页) ---------------------- (1)00010H,1000FH (2)1001H,2000H 第 2 题说明: 因为段的起始地址要为 16 的倍数。

      所以当段地址小于 1001H 或大于 2000H 时 CPU 都无法 寻到 检测点 2.3(第 33 页) 答:CPU 修改了 4 次 IP 的值情况如下: 第 1 次:执行完 mov ax,bx 后 第 2 次:执行完 sub ax,ax 后 第 3 次:读入 jmp ax 后 第 4 次:执行完 jmp ax 后 最后 IP 的值为 0 实验 1 查看 CPU 和内存,用机器指令和汇编指令编程(第 33 页) ----------------------------------------------------- 1.预备知识:Debug 的使用2.实验任务(第 43 页) (1)(2)(3) 通过 DEBUG 中的 D 命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在 内存 ffff:0005~ffff:000C(共 8 个字节单元中)处 此生产日期不能被改变, 因为其具有 ‘只读’ 属性 (4) 通过向内存中的显存写入数据,使计算机根据写入的数据进行 ASCII 转换,并将转换后且 可打印的字符输出到屏幕上 检测点 3.1(第 52 页)- (1)(题目:略) 第一空:2662H 第二空:E626H 第三空:E626H 第四空:2662H 第五空:D6E6H 第六空:FD48H 第七空:2C14H 第八空:0000H 第九空:00E6H 第十空:0000H 第十一空:0026H 第十二空:000CH 提示:此题可在 DEBUG 中利用 E 命令在本机上按照题目中所给出的内存单元及其数据进 行相应地修改,然后再用 A 命令进行写入(题目中所给出的)相应的汇编指令,最后再进行 T 命令进行逐步执行,以查看相应结果。

      (2) 1.指令序列如下: mov ax,6622h jmp 0ff0:0100 mov ax,2000hmov ds,ax mov ax,[0008] mov ax,[0002] 2.写出 CPU 执行每条指令后,CS、IP 和相关寄存器中的数值 指令序列↓寄存器→CS IPDS AX BX 初始值→2000H00001000H00 mov ax,6622h 2000H00031000H6622H0000 jmp 0ff0:0100 1000H00001000H6622H0000 mov ax,2000h 1000H00031000H2000H0000 mov ds,ax1000H00052000H2000H0000 mov ax,[0008]1000H00082000HC389H0000 mov ax,[0002]1000H000B2000HEA66H0000 3.再次体会:数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序? 答:(略) 检测点 3.2(第 66 页) (1) mov ax,2000H mov ss,ax mov sp,10H (2) mov ax,1000H mov ss,ax mov sp,0H 实验 2 用机器指令和汇编指令编程(第 70 页) 1.预备知识:Debug 的使用2.实验任务 (1)使用 Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填 空。

      从第一空开始依次如下: ax=5BEA ax=5CCA bx=30F0 bx=6029 sp=FE 220FE 5CCA sp=FC 220FC 6029 sp=FE 6029 sp=100H 5CCA sp=FE 220FE 30F0 sp=FC 220FC 2E39 说明:此题可能因机子软、硬件环境不同而导致答案不一致! (2)仔细观察图 3.19 的实验过程,然后分析:为什么 2000:0~2000:f 中的内容会发生改变? 答:因为用 T 指令进行调试时,会产生中断而为了保护现场,CPU 则先将标志寄存器进 栈、再把当前 CS 的值进栈,最后将 IP 的值进栈 实验 4 [BX]和 loop 的使用(第 113 页) (1) 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH) 程序如下: assume cs:codesg codesg segment mov ax,0020h mov ds,ax mov bx,0 mov dl,0 mov cx,40h s:mov [bx],dl inc dl inc bx loop s mov ax,4c00h int 21h codesg ends end (2) 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH),程序中只能使用 9 条指令,9 条指 令中包括“mov ax,4c00h”和“int 21h” 。

      程序如下: assume cs:codesg codesg segment mov ax,0020h mov ds,ax mov bl,0 mov cx,40h s:mov [bx],bl inc bl loop s mov ax,4c00h int 21h codesg ends end (3) 下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存 0:200 处,补全程序 上机调试,跟踪运行结果 assume cs:code code segment mov ax,code;code 为所填写的数据 mov ds,ax mov ax,0020h mov es,ax mov bx,0mov cx,18h;18h 为所填写的数据 s:mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end 提示: 1.因为题目的要求是把代码段内的指令当作数据,复制到目的地址所以,源数据段 ds 和 代码段 cs 相同,通过 mov ax,code/mov ds,ax ('/'符号是指两条指令的分隔)来设置源数据段。

      2.可以先假设要复制 8 位[1h~0ffh]数据(因为我们肉眼就可以看出此程序的长度不可能大于 0ffh 个字节)的字节数(如:10h),把程序补全,以便通过编译这时我们以准确的第一空所 填内容 code 与假想的第二空内容 10h 将程序补充完整并将其编译、连接、运行,接着进行 DEBUG,在 DEBUG 时我们可用 R 命令查看 CX 的值,这时我们可以看到 CX 的值为 1D, 由此我们可以算出该程序的长度[1Dh-5h]=18h, 之所以减 5 是为了满足题目的要求(因为 mov ax,4c00h/int 21h 这两条指令的长度等于 5) 检测点 6.1(第 119 页) (1) assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h start:mov ax,0 mov ds,ax mov bx,0 mov cx,8 s:mov ax,[bx] mov cs:[bx],ax;此条指令为所填指令 add bx,2 loop s mov ax,4c00h int 21h codesg ends end start (2)assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dw 0,0,0,0,0 start: mov ax,cs;cs 为所填第一空 mov ss,ax mov sp,1ah;此条指令为所填第二空 mov ax,0mov ds,ax mov bx,0 mov cx,8 s: push [bx] pop cs:[bx];此条指令为所填第三空 add bx,2 loop s mov ax,4c00h int 21h codesg ends end start 实验 5 编写、调试具有多个段的程序(第 123 页) (1) 1.保持不变 2. 3.X-2,X-1 (2) 1.保持不变 2. 3.X-2,X-1 4.(N/16+1)*16 [说明:N/16 只取整数部分] (3) 1.保持不变 2. 3.X+3,X+4 (4) 答:第 3 个仍然可以正确执行。

      因为如果把 end 指令后的标号 start 去掉后,编译器便会顺 序执行程序换句话说:当未给编译器预先的通知,要求其从哪开始执行程序时,编译器就 自动以'至上向下'的顺序进行编译执行源程序 (5)完整程序如下: assume cs:code a segment db 1,2,3,4,5,6,7,8 a ends b segment db 1,2,3,4,5,6,7,8 b ends c segment db 0,0,0,0,0,0,0,0 c ends code segment start:mov ax,a mov es,axmov ax,c mov ds,ax mov bx,0 mov cx,8 s1:mov ax,es:[bx] add [bx],ax add bx,2 loop s1 mov ax,b mov es,ax mov ds,ax mov bx,0 mov cx,8 s2:mov ax,es:[bx] add [bx],ax add bx,2 loop s2 mov ax,4c00h int 21h code ends end start (6)完整程序如下: assume cs:code a segment dw 1,2,3,4,5,6,7,8 a ends b segment dw 0,0,0,0,0,0,0,0 b ends code segment start: mov ax,b mov ss,ax mov sp,10h mov ax,a mov ds,ax mov bx,0mov cx,8 s:push [bx] add bx,2 loop s mov ax,4c00h int 21hcode ends end start 实验 6 实践课程中的程序(第 147 页) (2)编程:完成问题中的程序。

      问题 7.9 完整程序如下: assume cs:codesg,ss:stacksg,ds:datasg stacksg segment dw 0,0,0,0,0,0,0,0 stacksg ends datasg segment db '1. display' db '2. brows' db '3. replace' db '4. modify' datasg ends codesg segment 。

      点击阅读更多内容
      相关文档
      【统编版】高二语文选择性必修中册贾谊《过秦论》精品课件(29张PPT).pptx 【统编版】高二语文选择性必修中册11贾谊《过秦论》公开课(28张PPT).pptx 2025年高一语文初升高语文衔接开学第一课《语你相遇踏上新程》公开课 (30张PPT)课件.pptx 2025年高一语文秋季开学第一课《学好语文诗意人生》公开课 (52张PPT)课件.pptx 人音版音乐九下第2单元黄梅戏《天仙配》选段(夫妻双双把家还).pptx 人音版九年级下册音乐《2月光下的凤尾竹》模板.pptx 人音版九年级下册音乐《1瑶族舞曲》模板.pptx 人音版九年级下册音乐《猎人进行曲》模板.pptx 【高中语文】《子路+曾皙+冉有+公西华侍坐》课件+统编版高一语文必修下册.pptx 人音版九年级下册音乐《1远方的客人请你留下来》模板.pptx 人音版音乐九下第2单元《天上掉下个林妹妹》ppt.pptx 人音版九年级下册音乐《2苗岭的早晨》模板.pptx 【高中语文】高考语文复习+语言文字应用—仿写+课件.pptx 【高中语文】《红烛+》课件+统编版高一语文必修上册.pptx 人音版九年级下册音乐《1英雄赞歌》模板.pptx 【统编版】高中语文必修上册第7课《陶渊明归园田居(其一)》优质课(27张PPT)课件.pptx 【统编版】高一语文必修上第二单元《7.2归园田居(其一)》精品课(24张PPT)课件.pptx 【统编版】高一语文必修上第二单元《7.2归园田居(其一)》公开课(23张PPT)课件.pptx 【新教材】高中语文必修上册《7.2归园田居》优质课(31张PPT)课件.pptx 【统编版】高一语文必修上第二单元《7.2归园田居(其一)》优质课(25张PPT)课件.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.