实验5
(1).
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
...
- [g47603690] 改了改了 谢谢night了 02/15 20:44
- [starrynight] 不是吧?! 赶紧改了吧 02/15 20:35
- [starrynight] 呵呵 博主还是要细心阿 不过,对上面那位游客说的话,我倒是很认同,博主应高更能够理解程序各段之间 02/15 20:33
- [g47603690] 恩恩,这里是笔误,贴上了原来的错误答案。就是多打了一个0害我半天没找到错在哪里,不过已经程序已经更正 02/15 20:31
- [starrynight] 实验5 (1). 2.CPU执行程序,程序返回前,CS=____ SS=_____ DS=_ 02/15 20:27
- [游客] 4.答:如果段中有N个数据,N<16 分配了16个字节的空间 02/15 19:20
- [g47603690] 啊,哈哈懂了,原来上多写了一个零啊。多谢楼上的了。这样的话系统就为他分配了16个字的空间 02/14 19:11
- [游客] 人称的用词,不当之处见量,系统分配的 02/14 18:03
- [游客] stack segment dw 0,0,0,0,0,0,0,0,0 stack end 02/14 18:02
- [mouse] //0到3FH是40个数据,需要循环40H次 ------- 40后面少个h 嘿嘿~ s: 02/14 16:19
[2008-02-15 16:56] 实验5
阅读全文 |
评论次数(5) |
浏览次数(720) |
所属类型(汇编作业)
[2008-02-14 16:39] 帮忙解答下这个问题,谢谢 实验5
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:...
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:...
阅读全文 |
评论次数(4) |
浏览次数(661) |
所属类型(默认类型)
[2008-02-14 13:56] 检测点6.1
1.填空处应为:POP CS:[BX]
2.assume cs:code
code segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0
start:mov ax,_____ CS
mov ss,ax
mov sp,_____ 12H
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:push [bx]
______ pop cs:[bx] ...
2.assume cs:code
code segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0
start:mov ax,_____ CS
mov ss,ax
mov sp,_____ 12H
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s:push [bx]
______ pop cs:[bx] ...
阅读全文 |
评论次数(2) |
浏览次数(553) |
所属类型(汇编作业)
[2008-02-11 17:01] 实验4
1.2)
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,40h //0到3FH是40个数据,需要循环40H次
s:mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21H
code ends
end
3)
不会,等想好了再发上来...
assume cs:code
code segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,40h //0到3FH是40个数据,需要循环40H次
s:mov ds:[bx],bx
inc bx
loop s
mov ax,4c00h
int 21H
code ends
end
3)
不会,等想好了再发上来...
阅读全文 |
评论次数(1) |
浏览次数(685) |
所属类型(汇编作业)
[2008-02-05 20:42] 实验3
执行到 POP AX时就出现错误
原程序代码如下
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
第三个问题是:PSP的头2个字节是CD20,用DEBUG加载,查看PSP的内容
中的PSP的头2个字节是CD20是什么意思?这个问题怎么操作?望知道的...
原程序代码如下
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
第三个问题是:PSP的头2个字节是CD20,用DEBUG加载,查看PSP的内容
中的PSP的头2个字节是CD20是什么意思?这个问题怎么操作?望知道的...
阅读全文 |
评论次数(3) |
浏览次数(740) |
所属类型(汇编作业)
[2008-02-05 17:43] 关于第三章的这道考试题的解答
若将以1000H为段地址的整个段空间当作栈使用,那么寄存器SP的初始值最合理的设置是_____。
1、 0000H
2、 0001H
3、 FFFFH
4、 FFFEH
这到题是第三章的检测题,刚刚在论坛上也看到有朋友在这道题上也是做错了,而且对答案也解释得不够清楚,我觉得应该是这样的,不知道对不对:
因为栈的操作是以字单元为单位的(2个内存单元),结合栈结构的图来想,指针是不会指向栈底部的(1FFFF)的因为若指向底部那么就说明这个栈只用了1个内存单元,显然是不符合栈的操作的,排除了3.
同样的指针若指向10001(栈顶端的下一个单元),也是...
1、 0000H
2、 0001H
3、 FFFFH
4、 FFFEH
这到题是第三章的检测题,刚刚在论坛上也看到有朋友在这道题上也是做错了,而且对答案也解释得不够清楚,我觉得应该是这样的,不知道对不对:
因为栈的操作是以字单元为单位的(2个内存单元),结合栈结构的图来想,指针是不会指向栈底部的(1FFFF)的因为若指向底部那么就说明这个栈只用了1个内存单元,显然是不符合栈的操作的,排除了3.
同样的指针若指向10001(栈顶端的下一个单元),也是...
阅读全文 |
评论次数(1) |
浏览次数(622) |
所属类型(默认类型)
[2008-02-05 16:45] 实验2
1.
mov ax,[0] //ax=5BEA
mov ax,[2] //ax=5CCA
mov bx,[4] //bx=30f0
mov bx,[6] //bx=6029
push ax //sp=00fe 修改的内存地址是:2200:00fe 内容为5cca
push bx //sp=00fc 修改的内存地址是:2200:00fc 内容为6029
pop ax //sp=00fe ax=6029
pop bx //sp=0100 bx=5cca
push [4] ...
mov ax,[0] //ax=5BEA
mov ax,[2] //ax=5CCA
mov bx,[4] //bx=30f0
mov bx,[6] //bx=6029
push ax //sp=00fe 修改的内存地址是:2200:00fe 内容为5cca
push bx //sp=00fc 修改的内存地址是:2200:00fc 内容为6029
pop ax //sp=00fe ax=6029
pop bx //sp=0100 bx=5cca
push [4] ...
阅读全文 |
评论次数(1) |
浏览次数(530) |
所属类型(汇编作业)
[2008-02-05 15:30] 检测3.2
1.
mov ax,1000H
mov ds,ax //定义代码段地址
mov ax,2000H
mov ss,ax
mov sp,10H //初始化栈顶
push [0]
push [2]
……
2.
mov ax,2000H
mov ds,ax //定义代码段地址
mov ax,1000H
mov ss,ax
mov sp,0010H //初始化栈顶
pop [e]
pop [c]
……
想了半天始终不能对PUSH和POP指令有个好的理解,最后这样理解了:首先要初始化...
mov ax,1000H
mov ds,ax //定义代码段地址
mov ax,2000H
mov ss,ax
mov sp,10H //初始化栈顶
push [0]
push [2]
……
2.
mov ax,2000H
mov ds,ax //定义代码段地址
mov ax,1000H
mov ss,ax
mov sp,0010H //初始化栈顶
pop [e]
pop [c]
……
想了半天始终不能对PUSH和POP指令有个好的理解,最后这样理解了:首先要初始化...
阅读全文 |
评论次数(4) |
浏览次数(566) |
所属类型(汇编作业)
[2008-02-04 14:09] 检测3.1
mov ax,1 ax=1H
mov ds,ax ds=1H
mov ax,[0] ax=2662H
mov bx,[1] bx=e626H
mov ax,bx ax=e626H
mov ax,[0] ax=2662H
mov bx,[2] bx=d6e6H
add ax,bx ax=fd48H
add ax,[4] ax=2c14H
mov ax,0 ax=0000H
mov al,[2] ax=00e6H
mov bx,0 bx=0000H
mov bl,[c] bx=0...
mov ds,ax ds=1H
mov ax,[0] ax=2662H
mov bx,[1] bx=e626H
mov ax,bx ax=e626H
mov ax,[0] ax=2662H
mov bx,[2] bx=d6e6H
add ax,bx ax=fd48H
add ax,[4] ax=2c14H
mov ax,0 ax=0000H
mov al,[2] ax=00e6H
mov bx,0 bx=0000H
mov bl,[c] bx=0...
阅读全文 |
评论次数(2) |
浏览次数(542) |
所属类型(汇编作业)
[2008-02-03 17:48] 第62页的疑问:关于mov 段寄存器,内存单元
书上说可以用这个命令把内存单元中的内容读入段寄存器DS
mov ax,1000
mov ds,ax
mov ds,[0]
但是我实验后并不行啊 如图 DS的值并没有改变为内存1000:0中的值啊 还是和未执行命令前是一样的值
望高手给个解答啊...
mov ax,1000
mov ds,ax
mov ds,[0]
但是我实验后并不行啊 如图 DS的值并没有改变为内存1000:0中的值啊 还是和未执行命令前是一样的值
望高手给个解答啊...
阅读全文 |
评论次数(6) |
浏览次数(923) |
所属类型(默认类型)
『 查看更多文章 』