当前位置: 首页 > news >正文

优秀企业网站今日nba数据帝

优秀企业网站,今日nba数据帝,网络登录认证,国内有没有开源的wordpress主题网计算机系统基础第二次作业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(…

计算机系统基础第二次作业

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

答:如下表所示:

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 ,所以需要在前面加上‘$’

(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)leal 0xC(%ecx, %eax, 2), %edx

(5)leal ( , %eax, 4), %edx

(6)leal (%eax, %ecx), %edx

答:

(1)R[edx]=x //把eax 的值放到edx 中去

(2)R[edx]=x+y+4 //把eax+ecx+4的值放到edx 中去

(3)R[edx]=x+8*y //把eax+8*ecx的值放到edx 中去

(4)R[edx]=y+2*x+12 //把ecx+2*eax+12的值放到edx 中去

(5)R[edx]=4*x //把4*eax的值放到edx 中去

(6)R[edx]=x+y //把eax+ecx的值放到edx 中去

8.假设以下地址以及寄存器中存放的机器数如下表所示

分别说明执行以下指令或寄存中的内容交发生改变?改变后的内容是什么条件标志OF 、 SF 、 ZF 和 CF 会发生什么改变。

(1)指令功能为:R[edx]←R[edx]+M[R[eax]]=0x00000080+M[0x8049300],寄存器EDX 中内容改变。改变后的

内容为以下运算的结果:00000080H+FFFFFFF0H

0000 0000 0000 0000 0000 0000 1000 0000

+1111 1111 1111 1111 1111 1111 1111 0000

_______________________________________________

1 0000 0000 0000 0000 0000 0000 0111 0000

因此,EDX 中的内容改变为0x00000070。根据表3.5可知,加法指令会影响OF 、SF 、ZF 和CF 标志。OF=0,ZF=0,SF=0,CF=1。

(2)指令功能为:R[ecx] ←

R[ecx]-M[R[eax]+R[ebx]]=0x00000010+M[0x8049400], 寄存器ECX 中内容改变。 改变后的内容为以下运算的结果:00000010H-80000008H 。

0000 0000 0000 0000 0000 0000 0001 0000

+0111 1111 1111 1111 1111 1111 1111 1000

_______________________________________________

0 1000 0000 0000 0000 0000 0000 0000 1000

根据表3.5可知,减法指令会影响OF 、SF 、ZF 和CF 标志。OF=1,ZF=0,SF=1,CF=1 0=1。

(3)指令功能为:R[bx]←R[bx] or M[R[eax]+R[ecx]*8+4],寄存器BX 中内容改变。改变后的内容为以下运算

的结果:0x0100 or M[0x8049384]=0100H or FF00H

0000 0001 0000 0000

or1111 1111 0000 0000

_______________________________________________

1111 1111 0000 0000

因此,BX 中的内容改为0xFF00。由3.3.3节可知,OR 指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。

(4)test 指令不改变任何通用寄存器,但根据以下“与”操作改变标志:R[dl] and 0x80

1000 0000

and1000 0000

__________________

1000 0000

由3.3.3节可知,TEST 指令执行后OF=CF=0;因为结果不为0,故ZF=0;因为最高位为1,故SF=1。

(5)指令功能为:M[R[eax]+R[edx]]←M[R[eax]+R[edx]]*32,即存储单元0x8049380中的内容改变为以下运算

的结果:M[0x8049380]*32=0x908f12a8*32,也即只要将0x908f12a8左移5位即可得到结果。1001 0000 1000 1111 0001 0010 1010 1000

=0001 0001 1110 0010 0101 0101 0000 0000

因此,指令执行后,单元0x8049380中的内容改变为0x11e25500。显然,这个结果是溢出的。但是,根据表3.5可知,乘法指令不影响标志位,也即并不会使OF=1。

(6)指令功能为:R[cx] ←R[cx]-1,即CX 寄存器的内容减一。 0000 0000 0001 0000

+ 1111 1111 1111 1111

_________________________

1 0000 0000 0000 1111

因此,指令执行后CX 中的内容从0x0010变为0x000F 。由表3.5可知,DEC 指令会影响OF 、ZF 、SF ,根据上述运算结果,得到OF=0,ZF=0,SF=0。

http://www.wooajung.com/news/34913.html

相关文章:

  • 连云港网站制作上海网站建设优化
  • 做微商进哪个网站安全吗怎么免费建立网站
  • 深圳建网站公司怎么选择百度下载
  • 网站修改备案号网络整合营销
  • 军事最新新闻播报青岛网络优化代理
  • 重新下载一个微信seo培训公司
  • 罗湖网站建设优化精准营销的三要素
  • 马蜂窝网站怎么做网络广告投放方案
  • 中国建设官网首页汕头seo不错
  • 宝鸡专业做网站百度seo标题优化软件
  • 简历旅游网站开发经验百度app下载官方免费下载最新版
  • 怎么用电脑windows做网站杭州搜索推广公司
  • 学校网站建设的优势和不足新闻博客软文自助推广
  • iis网站无法启动网络营销技能大赛优秀作品
  • 上海哪个区买房最好百度seo
  • 自己做网站步骤广告买卖网
  • 海报图片素材win优化大师官网
  • easyui做门户网站网站优化外包价格
  • 企业网站建站 广州 视频360地图怎么添加商户
  • 网站正在建设中中文网站安全检测平台
  • asp新闻发布网站模板怎么建网站教程图解
  • 深圳燃气公司上班时间seo顾问张智伟
  • 人才网站建设方案网店seo名词解释
  • 网站建设788gg网站seo查询站长之家
  • 网站开发时遇不到算法今日十大热点新闻事件
  • 昆明网站建设系统今日国内新闻大事件
  • 水资源论证网站建设公众号怎么推广
  • 建立一个公司的网站seo关键词排名优化价格
  • 福建石狮有做网站的没地推团队如何收费
  • ui做的好的网站有哪些网页设计是干嘛的