1,在Intel8086环境下,对指令mov ax,[bx]描述错误的是_____。 4
1、 指令中,源操作数的段地址默认为ds中的内容
2、 指令中,源操作数的偏移地址为bx中的内容
3、 指令执行后,(al)=((ds)*16+(bx)),(ah)=((ds)*16+(bx)+1)
4、 指令执行后,((ds)*16+(bx))=(al),((ds)*16+(bx)+1)=(ah)
2, mov cx,5
s: mov ax,[bx]
add bx,2
loop s
上面指令序列,当指令第一次执行...
- [younggay] 说的很清晰,不错。 08/18 08:50
- [younggay] 如果段中的数据占N个字节,则程序加载后,该段实际占用的空间为[(N/16)+1]x16. ---- 08/18 08:47
- [2330822] 郁闷 发现怎么错的了, 第三题是字单元,而不是字节...... 08/10 16:57
- [wsrf] 博主得自己做,即使这里被别人指点了,后面还会遇到类似的问题,何不从现在起就自己来解决呢。 08/04 18:14
- [2330822] 谢谢 07/30 19:51
- [younggay] 博主的回答都没有问题,而且逻辑过程也都正确。 07/30 14:56
- [游客] 我想说的是mov cx,3FH这个指令是不是必须放在标号指定循环序列上面的一个,是不是可以再往上挪一 07/27 18:25
- [younggay] s: mov ds:[dx],bx ----------- dx使不能用来寻址的。 07/27 08:57
- [younggay] mov cx,3FH 设定循环的次数,因为是开头是数字不需要加0, 07/27 08:56
- [2330822] 然后又把第三行mov ax,0 改成mov ax,20H 把第五行 mov dx,200H 改 07/26 16:54
[2009-08-02 20:58] 困绕了好几天的博客检测题,就是过不去...有过去的帮忙看下
阅读全文 |
评论次数(2) |
浏览次数(456) |
所属类型(汇编作业)
[2009-07-31 11:43] [实验5]包含多个段的程序
1)
1,CPU执行程序,程序返回前,data段中的数据是多少?
答:和原来一样
2,CPU执行程序,程序返回前,cs=0b61,ss=0b60,ds=0b5f
3,设程序加载后,CODE段的段地址为X,则DATA段的段地址为X-2,STACK段的段地址为X-1.
2)
1,2,3问题同上,答案同上
分析:两个程序只有DATA段和STACK段的长度不同,其他都一样,DATA和STACK数据没到16的占用内存也是16,说明,不管DATA或STACK数据大小为多少,只要有一个数据就要占据16个字节的空间,17个就要占32字节的空间.
4,对于如下定义的段:
name segmen...
1,CPU执行程序,程序返回前,data段中的数据是多少?
答:和原来一样
2,CPU执行程序,程序返回前,cs=0b61,ss=0b60,ds=0b5f
3,设程序加载后,CODE段的段地址为X,则DATA段的段地址为X-2,STACK段的段地址为X-1.
2)
1,2,3问题同上,答案同上
分析:两个程序只有DATA段和STACK段的长度不同,其他都一样,DATA和STACK数据没到16的占用内存也是16,说明,不管DATA或STACK数据大小为多少,只要有一个数据就要占据16个字节的空间,17个就要占32字节的空间.
4,对于如下定义的段:
name segmen...
阅读全文 |
评论次数(1) |
浏览次数(490) |
所属类型(汇编作业)
[2009-07-30 15:03] [检测点6.1] 包含多个段的程序
1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
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
...
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
...
阅读全文 |
评论次数(1) |
浏览次数(424) |
所属类型(汇编作业)
[2009-07-29 13:00] [实验4][BX]和LOOP指令
1)编程,向内存0:200~23F依次传送数据0~63(3FH).
分析:要向内存中传送数据,首先要把他装入寄存器,由寄存器传送进内存,这里依次传送数据,递增得数据,可以使用inc指令和loop指令简化程序长度.
assume cs:fan
fan segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s: mov ds:[bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
f...
分析:要向内存中传送数据,首先要把他装入寄存器,由寄存器传送进内存,这里依次传送数据,递增得数据,可以使用inc指令和loop指令简化程序长度.
assume cs:fan
fan segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s: mov ds:[bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
f...
阅读全文 |
评论次数(2) |
浏览次数(410) |
所属类型(汇编作业)
[2009-07-26 16:47] 实验4 [bx]和loop的使用
编程,向内存0:200~0:23F依次传送数据0~63(3FH).
分析:
assume cs:fan
fan segment
mov ax,0 将0000H即0送入寄存器ax.
mov ds,ax 将0送入段寄存器ds.
mov dx,200H 这个偏移地址也是16进制的.
sub bx,bx bx数据清零,和mov bx,0 同功能,但比他少一
个字节.
mov cx,3FH 设定循环的次数,因为是开头是数字不需要加0,
16进制数值,...
分析:
assume cs:fan
fan segment
mov ax,0 将0000H即0送入寄存器ax.
mov ds,ax 将0送入段寄存器ds.
mov dx,200H 这个偏移地址也是16进制的.
sub bx,bx bx数据清零,和mov bx,0 同功能,但比他少一
个字节.
mov cx,3FH 设定循环的次数,因为是开头是数字不需要加0,
16进制数值,...
阅读全文 |
评论次数(4) |
浏览次数(450) |
所属类型(汇编作业)
[2009-07-25 10:51] 读第5章第1节[BX]问题5.1解答产生疑问
问题如图所示.
该题使用了两个mov [bx],ax命令,两次将00BE装如内存中,装入的地址应该是21002H和21004H,最后结果应该和书中不一样把,不应该是只在21002H处装入00BE,在21004H处装入BE,书中的解释也是说装入00BE,然后图为什么给的是21000H~21007H为:BE 00 BE 00 BE BE BE?
感觉书上有错误...
该题使用了两个mov [bx],ax命令,两次将00BE装如内存中,装入的地址应该是21002H和21004H,最后结果应该和书中不一样把,不应该是只在21002H处装入00BE,在21004H处装入BE,书中的解释也是说装入00BE,然后图为什么给的是21000H~21007H为:BE 00 BE 00 BE BE BE?
感觉书上有错误...
阅读全文 |
评论次数(2) |
浏览次数(359) |
所属类型(默认类型)