(1)
1) cpu执行程序,程序返回前,data段中的数据为多少?
答:不变
2) cpu执行程序,程序返回前,cs = code ss = stack ds=data
3)code = X 则:data = X- 2 stack = X- 1;
(2)
觉得和第一题一样
第三问:name segment
...
name ends
如果段中的数据占N个字节,程序加载后,该段实际占用的空间为最接近N的16 的倍数个字节
(3)
前两问一样;
第三问:须计算code的长度:
(4)
把end start 改为end 程序...
- [chenglibin] 谢谢,已经改过来了.. 12/07 13:38
- [chenglibin] thanks!!! 12/07 13:31
- [游客] 现在的答案是正确的。 12/07 09:39
- [游客] 嗯。 不过,还有其他的两问呢。 12/07 09:38
- [游客] 没的说。 12/07 09:37
- [游客] 正确。 12/07 09:37
- [游客] debug中的T命令等都会引发中断(T是单步中断,每步执行完毕后就停下来显示信息),而中断会使用当前 12/07 09:35
- [游客] 还没想出来PSP中的数据究竟是什么意思以及为什么要查看本题的的PSP ============= 12/07 09:29
- [游客] 没问题。 12/07 09:22
- [scuzg] 对,就是暂存了别的数据。 栈是个“公共场所”,我们自编的程序要和其他程序共用。你看到的应该 12/06 20:44
[2009-12-07 22:03] 实验五 编写,调试具有多个段的程序
阅读全文 |
评论次数(0) |
浏览次数(615) |
所属类型(汇编作业)
[2009-12-07 21:30] 检测点6.1
原题有点长,不想敲了,只把自己的答案写出来了
(1)
mov cs:[bx],ax
(2)
(1)mov ax,cs
(2)mov sp,20H
(3)pop cs:[bx]...
(1)
mov cs:[bx],ax
(2)
(1)mov ax,cs
(2)mov sp,20H
(3)pop cs:[bx]...
阅读全文 |
评论次数(0) |
浏览次数(686) |
所属类型(汇编作业)
[2009-12-07 21:25] 实验四 【bx】和loop的使用(3)
复制mov ax,4c00H前面的指令到指定内存单元处
关键步骤:
(1)寻找第一条指令的地址,因为每次程序都从cs:ip处开始执行,说以: mov ax,cs
mov ds,ax 设置复制原段地址
(2)确定循环次数,我是经过查每一条汇编指令长度确定的。
mov cx,0019H
问题:
实在没想出来更好的确定长度的方法。...
关键步骤:
(1)寻找第一条指令的地址,因为每次程序都从cs:ip处开始执行,说以: mov ax,cs
mov ds,ax 设置复制原段地址
(2)确定循环次数,我是经过查每一条汇编指令长度确定的。
mov cx,0019H
问题:
实在没想出来更好的确定长度的方法。...
阅读全文 |
评论次数(0) |
浏览次数(666) |
所属类型(汇编作业)
[2009-12-06 20:56] 实验四 【bx】和loop的使用(1)(2)
(1)(2)编程 向内存0:200~0:23F依次传送数据0~3FH。
assume cs:code
code segment
mov ax,0020H
mov ds,ax
mov bx,0000H
mov cx,40H
s: mov [bx],bl
inc bl
loop s
mov ax,4C00H
int 21H
code ends
end...
assume cs:code
code segment
mov ax,0020H
mov ds,ax
mov bx,0000H
mov cx,40H
s: mov [bx],bl
inc bl
loop s
mov ax,4C00H
int 21H
code ends
end...
阅读全文 |
评论次数(1) |
浏览次数(888) |
所属类型(汇编作业)
[2009-12-06 20:10] 实验三 编程、编译、连接、跟踪
(1)(2)
assume cs:code
code segment
mov ax,2000H AX = 2000H
mov ss,ax SS = 2000H
mov sp,0 SP = 0000H
add sp,10H SP = 0010H
pop ax AX = 6620H SP = 0012H
pop bx BX = 6C69H SP = 0014H
push ax ...
assume cs:code
code segment
mov ax,2000H AX = 2000H
mov ss,ax SS = 2000H
mov sp,0 SP = 0000H
add sp,10H SP = 0010H
pop ax AX = 6620H SP = 0012H
pop bx BX = 6C69H SP = 0014H
push ax ...
阅读全文 |
评论次数(1) |
浏览次数(895) |
所属类型(汇编作业)
[2009-12-05 20:08] 栈中数据自己变了
实验二第二题
为什么栈中的数据没修改,自己就变了呢?难道是暂存了别的数据?...
为什么栈中的数据没修改,自己就变了呢?难道是暂存了别的数据?...
阅读全文 |
评论次数(3) |
浏览次数(937) |
所属类型(疑问???)
[2009-12-05 20:02] 实验二
1.填空
mov ax,ffffH
mov ds,ax
mov ax,2200H
mov ss,ax
mov sp,0100H
mov ax,[0] ax = E8EAH
add ax,[2] ax = E9E9H
mov bx,[4] bx = 30F0H
add bx,[6] bx = 6022H
push ax sp = 00FEH;
修改的内存单元地址是220FEH,内容为E9E9H
push bx sp = 00FCH;
修改的内存单元地址是...
mov ax,ffffH
mov ds,ax
mov ax,2200H
mov ss,ax
mov sp,0100H
mov ax,[0] ax = E8EAH
add ax,[2] ax = E9E9H
mov bx,[4] bx = 30F0H
add bx,[6] bx = 6022H
push ax sp = 00FEH;
修改的内存单元地址是220FEH,内容为E9E9H
push bx sp = 00FCH;
修改的内存单元地址是...
阅读全文 |
评论次数(0) |
浏览次数(624) |
所属类型(汇编作业)
[2009-12-05 19:24] 检测点3.2 (2)
逆序复制(字单元):
10000H ~ 1000FH --> 20000H ~ 2000FH
mov ax,2000H
mov ds,ax
mov ax,1000H
mov ss,ax 设置工作栈
mov sp,0000H
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
算法同第一题只不过是栈设置在了原内存空间。...
10000H ~ 1000FH --> 20000H ~ 2000FH
mov ax,2000H
mov ds,ax
mov ax,1000H
mov ss,ax 设置工作栈
mov sp,0000H
pop [E]
pop [C]
pop [A]
pop [8]
pop [6]
pop [4]
pop [2]
pop [0]
算法同第一题只不过是栈设置在了原内存空间。...
阅读全文 |
评论次数(1) |
浏览次数(857) |
所属类型(汇编作业)
[2009-12-05 19:17] 检测点3.2 (1)
逆序复制(字单元):
10000H ~ 1000FH --->20000H ~ 2000FH
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax 设置栈
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
先设置栈,然后进行一系列入栈操作。...
10000H ~ 1000FH --->20000H ~ 2000FH
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax 设置栈
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
push [E]
先设置栈,然后进行一系列入栈操作。...
阅读全文 |
评论次数(1) |
浏览次数(908) |
所属类型(汇编作业)
[2009-12-05 19:04] 检测点3.1 (2)
各寄存器初始值:
CS = 2000H IP = 0000H DS = 1000H AX = 0000H,BX =0000H
写出CPU执行的指令序列即相关寄存器的变化:
分析:cpu应由 2000:0000处开始执行具体过程:
(1) mov ax,6622H ax = 2662H IP = 0003H
(2) jmp 0ff0:0100 cs = 2000H, IP = 0008H ->
cs = 0ff0H, IP = 0100H 相当于:
...
CS = 2000H IP = 0000H DS = 1000H AX = 0000H,BX =0000H
写出CPU执行的指令序列即相关寄存器的变化:
分析:cpu应由 2000:0000处开始执行具体过程:
(1) mov ax,6622H ax = 2662H IP = 0003H
(2) jmp 0ff0:0100 cs = 2000H, IP = 0008H ->
cs = 0ff0H, IP = 0100H 相当于:
...
阅读全文 |
评论次数(1) |
浏览次数(888) |
所属类型(汇编作业)
『 查看更多文章 』