求高手帮我看看答案是多少!!

xiaomiaowu 2007-10-22 05:13:11
VAR1 DW 1234H,89,255,-2,-0AH
VAR2 DB 34,78H,44,22,19,12
...
MOV AH,23H
LEA BX,VAR1+4
MOV AL,BYTE PTR[BX+1]
MOv SI,WORD PTR VAR2+3
程序段执行后AX=____,SI=________
...全文
92 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
BAYNPU 2007-10-23
  • 打赏
  • 举报
回复
怎么是这样算呢?22、19?
gaoming028 2007-10-23
  • 打赏
  • 举报
回复
34 VAR2
78 VAR2+1
44 VAR2+2
16h VAR2+3 SI低位
13h VAR2+4 SI高位
12 VAR2+5
BAYNPU 2007-10-23
  • 打赏
  • 举报
回复
请教一下:SI=1316H,这个数是如何算出来的。
czlyc006 2007-10-23
  • 打赏
  • 举报
回复
应该事2300H,原因如2楼所说。不过Intel的CPU内存排布都是采用小尾顺序。
xiaomiaowu 2007-10-22
  • 打赏
  • 举报
回复
我学的是8086的汇编
低位低字节 高位高字节的
除非是字符串 才可能前面的低位
34H VAR1+0
12H VAR1+1
59H VAR1+2
00H VAR1+3
FFH VAR1+4
00H

dongyi940333 2007-10-22
  • 打赏
  • 举报
回复
LZ看下这篇帖子:

http://topic.csdn.net/u/20070922/19/3098a653-ab30-46f4-a2d9-673a919f4e14.html
dongyi940333 2007-10-22
  • 打赏
  • 举报
回复
我用MASM6.15,用DEBUG跟踪AX是等于2300H

至于楼主所说的标准答案是23FFH,是因为所谓的大小尾(或说端)的问题.

小尾的含义就是变量的最低有效字节存储在地址值最小的地址单元中,其余字节在内存中按顺序连

续存储,如双字12345678h,如果将该双字存储在偏移0处,78h将存储在第一个字节中,56h存储在

第二个字节中,其余存储在第三和第四字节. 这时执行MOV AL,BYTE PTR[BX+1]后,AL=00H.因

为255采用小尾在内存是按FF,00的顺序存储的.


而采用大尾顺序,这时执行MOV AL,BYTE PTR[BX+1]后,AL=FFH,因为255采用大尾在内存是

按00,FF的顺序存储的.

初学不对之处请原谅!!!!



xiaomiaowu 2007-10-22
  • 打赏
  • 举报
回复
标准答案是
AX=23FFH SI=1316H
SI的没问题
AX我怎么算也是等于2300H
请问是标准答案有问题 还是我算的不对啊!!

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧