



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 计算机系统基础第二次作业3、对于以下AT&T格式汇编指令,根据操作数的长度确定对应指令助记符中的长度后缀,并说明每个操作数的寻址方式。 (1)mov 8(%ebp, %ebx, 4), %ax (2)mov %al, 12(%ebp) (3)add ( , %ebx,4), %ebx (4)or (%ebx), %dh (5)push $0xF8 (6)mov $0xFFF0, %eax (7)test %cx, %cx (8)lea 8(%ebx, %esi), %eax答:如下表所示:题目编号长度后缀源操作数目的操作数(1)w基址+比例变址+位移寄存器(2)b寄存器基址+位移(3)l比例
2、变址寄存器(4)b基址寄存器(5)l立即数栈(6)l立即数寄存器(7)w寄存器寄存器(8)l基址+变址+位移寄存器4 使用汇编器处理以下各行AT&T格式代码时都会产生错误,请说明每一行存在什么错误。(1)movl 0xFF, (%eax) (2)movb %ax, 12(%ebp) (3)addl %ecx, $0xF0 (4)orw $0xFFFF0, (%ebx) (5)addb $0xF8, (%dl) (6)movl %bx, %eax (7)andl %esi, %esx (8)movw 8(%ebp, , 4), %ax答:(1)书写错误。因为源操作数是立即数0xFF,所以需要在前
3、面加上$(2)由于源操作数(%ax)是16位,而长度后缀是字节b,所以不一致,应改为movw(3)目的操作数不能是立即数寻址(4)操作数位数超过16位,而长度后缀为16位的w,应改为orl(5)不能用8位寄存器作为目的操作数地址所在寄存器(6)源操作数寄存器与目的操作数寄存器长度不一致(7)不存在ESX寄存器(8)源操作数地址中缺少变址寄存器7 假设变量x和y分别存放在寄存器EAX和ECX中,请给出以下每条指令执行后寄存器EDX中的结果。 (1)leal (%eax), %edx (2)leal 4(%eax, %ecx), %edx (3)leal (%eax, %ecx, 8), %edx
4、 (4)leal 0xC(%ecx, %eax, 2), %edx (5)leal ( , %eax, 4), %edx (6)leal (%eax, %ecx), %edx答: (1)Redx=x /把eax的值放到edx中去(2)Redx=x+y+4 /把eax+ecx+4的值放到edx中去(3)Redx=x+8*y /把eax+8*ecx的值放到edx中去(4)Redx=y+2*x+12 /把ecx+2*eax+12的值放到edx中去(5)Redx=4*x /把4*eax的值放到edx中去(6)Redx=x+y /把eax+ecx的值放到edx中去8假设以下地址以及寄存器中存放的机器数如
5、下表所示地址机器数寄存器机器数0x80493000xfffffff0EAX0x80493000x80494000x80000008EBX0x1000x80493840x80f7ff00ECX0x100x80493800x908f12a8EDX0x80分别说明执行以下指令或寄存中的内容交发生改变?改变后的内容是什么条件标志OF 、 SF 、 ZF 和 CF 会发生什么改变。(1)指令功能为:RedxRedx+MReax=0x00000080+M0x8049300,寄存器EDX中内容改变。改变后的内容为以下运算的结果:00000080H+FFFFFFF0H 00000000000000000000
6、000010000000 + 11111111111111111111111111110000 _ 1 00000000000000000000000001110000因此,EDX中的内容改变为0x00000070。根据表3.5可知,加法指令会影响OF、SF、ZF和CF标志。OF=0,ZF=0,SF=0,CF=1。(2)指令功能为:Recx Recx-MReax+Rebx=0x00000010+M0x8049400, 寄存器ECX中内容改变。改变后的内容为以下运算的结果:00000010H-80000008H。 00000000000000000000000000010000 + 011111
7、11111111111111111111111000 _ 010000000000000000000000000001000根据表3.5可知,减法指令会影响OF、SF、ZF和CF标志。OF=1,ZF=0,SF=1,CF=10=1。(3)指令功能为:RbxRbxorMReax+Recx*8+4,寄存器BX中内容改变。改变后的内容为以下运算的结果:0x0100orM0x8049384=0100HorFF00H 0000000100000000 or 1111111100000000 _ 1111111100000000因此,BX中的内容改为0xFF00。由3.3.3节可知,OR指令执行后OF=CF
8、=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。(4)test指令不改变任何通用寄存器,但根据以下“与”操作改变标志:Rdland0x80 10000000 and 10000000 _ 10000000由3.3.3节可知,TEST指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。(5)指令功能为:MReax+RedxMReax+Redx*32,即存储单元0x8049380中的内容改变为以下运算的结果:M0x8049380*32=0x908f12a8*32,也即只要将0x908f12a8左移5位即可得到结果。 100100001000111100010010101010005=00010001111000100101010100000000因此,指令执行后,单元0x8049380中的内容改变为0x11e25500。显然,这个结果是溢出的。但是,根据表3.5可知,乘法指令不影响标志位,也即并不会使OF=1。 (6)指令功能为:RcxRcx-1,即CX寄存器的内容减一。 0000 0000 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年猴工艺品项目投资价值分析报告
- 2025至2030年滚筒式混色机项目投资价值分析报告
- 大采高综采工作面管理技术
- 2025至2030年机械焊接飞溅净气雾剂项目投资价值分析报告
- 金融教育项目路演
- 秋冬季节传染病预防疱疹性咽峡炎护理
- 2025至2030年搅拌车传动轴项目投资价值分析报告
- 2025至2030年妇宁生物液气雾剂项目投资价值分析报告
- 自贸区政策对城市碳排放的影响效应-基于PSM-DID的实证分析
- 2025至2030年光稳定剂受阻胺770项目投资价值分析报告
- DB32T 2060-2024 单位能耗限额
- 斜颈康复治疗
- 体育赛事突发事件舆情应对预案
- 生物教案:第二章第节减数分裂和受精作用第课时
- 《跨境电商直播(双语)》课件-4.1跨境直播脚本设计
- 专题25 化学反应原理综合题-平衡主线型-五年(2020-2024)高考化学真题分类汇编(原卷版)
- 风电场场内道路、平台工程施工工程施工组织设计
- 2024年新款灭火器采购协议
- 陕西省渭南市澄城县2024-2025学年七年级上学期11月期中考试数学试题(含答案)
- 律师事务所整体转让协议书范文
- 2024初级会计职称考试104题(附答案)
评论
0/150
提交评论