*********新手求助*********

xiaott 2003-05-15 07:17:38
汇编学了二个星期了,并做了一些习题,以下是小弟在做习题中总结出自己没有把握的题目,希望各位前辈指教???????????

假设程序中的数据定义如下:

BUF1 DB DUP('a')
BUF2 DW 1275H,567,0C5H
BUF3 DB 20 DUP(?)
BUF4 DB 7,4,6,9,8

按要求给出相应指令:

(1)将BUF2的第三字节数据送放CL。
(2)将0A6H送入BUF3的第10个字节单元中。
(3)用伪指令写出BUF1和BUF2二者的总长度(字节数)。
(4)用一组指令写出BUF2的第二个数据567和BUF4的第三个数据6相加,结果(和)送放BUF3。
...全文
40 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
philcage 2003-05-19
  • 打赏
  • 举报
回复
to xiaott(我能睡觉吗):
你说得对。
如果要像小广那样的想法,可以这样:
lea si,buf2
mov cl,[si+3]
xiaott 2003-05-17
  • 打赏
  • 举报
回复
小广的解答有问题吗?内容如下:

(1)mov cl,[buf2+3] ;为什么要用[]呢?BUF2+3不是第四个字节内容吗?
(2)mov al,0a6h
mov [buf3+10],al ;问题同上,BUF3+10是第11个字节的内容吗?我真的搞不清楚?
spreadwide 2003-05-16
  • 打赏
  • 举报
回复
可以啊,不过位移量不能是立即数,而是地址。
你可以 mov si,0002h
mov ax,buf[si]
zhushizu 2003-05-15
  • 打赏
  • 举报
回复
换用相对间接寻址
mov ax buf[2]
可以吗???
spreadwide 2003-05-15
  • 打赏
  • 举报
回复
(1)mov cl,[buf2+3]
(2)mov al,0a6h
mov [buf3+10],al
(3)其实在数据定义时在
BUF1 DB DUP('a')
BUF2 DW 1275H,567,0C5H
加一个 LENS DB $-BUF1
BUF3 DB 20 DUP(?)
BUF4 DB 7,4,6,9,8
然后再到要用到总长度是调用LENS,不是更简单?

(4)mov ax,[buf2+2]
mov bl,[buf4+6]
mov bh,0
add ax,bx
mov buf3,ax
hlylucky 2003-05-15
  • 打赏
  • 举报
回复
我也在初学,帮不了这个忙,有空我们再探讨吧。

21,459

社区成员

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

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