检测点3.1
mov ax,1
mov ds,ax
mov ax,[0000] ax=2662h
mov bx,[0001] bx=e626h
mov ax,bx ax=e626h
mov ax,[0000] ax=2662h
mov bx,[0002] bx=d6e6h
add ax,bx ax=fd48h
add ax,[0004] ax=2c14h
mov ax,0 ax=0000
mov al,[0002] ax=00e6h
mov bx,0 bx=0000
mov bl,[000c] bx=0026h
add al,bl ax=000ch
第二题
cpu执行的指令序列为
mov ax,6622h ax=6622h
jmp 0ff0:0100 cs=0ff0 ip=0100
mov ax,2000h ax=2000h
mov ds,ax ds=2000h
mov ax,[0008] ax=c189h
mov ax,[0002] ax=ea66
对于存储器来说
数据和程序无区别。对于cpu来讲关键看cs:ip指向内存那里 那里就是程序
ds: 那里 那里就是数据
检测点3.2
第一题
mov ax,2000
mov ss,ax
mov sp,0010
第二题
mov ax,1000
mov ss,ax
mov sp,0000
实验2
实验任务1
ax= 5bea
ax=5cca
bx=31f0
bx=6122
sp=00fe修改的内存单元地址是220fe内容为5cca
sp=00fc修改的内存单元地址是220fc内容为6122
sp=00fe ax=6122
sp=0100 bx=5cca
sp=00fe修改的内存单元地址是220fe内容为31f0
sp=00fc修改的内存单元地址是220fc内容为2f32
第二个
这是个什么规则吧
运行到出现 mov ax,3123
他还没执行
ax=2000呢还,但是栈先变了
这是不是在模仿cpu啊
00 20 是当前寄存器ax内的值 00 00就算是个间隔符吧 01 08这不是ip么 39 0b这个是cs啊,
我又换了个栈位置 9d这个家伙换了 05还在 这别是什么命令啊
不明白什么意思,那位大哥给解释解释啊
- [wsrf] 做出来就是好样的 呵呵 02/14 10:53
- [wsrf] 正确! 02/14 10:25
- [martian] 大小写转换 02/12 18:50
- [woyuwoxin] 整完这个 脑袋有点热 ,先凉快一下 02/12 16:42
- [woyuwoxin] 恩 ,忘了是从0开始的 少加了 02/11 23:11
- [wsxqaz890] mov ax,4c00和int 21h这2个指令的长度为5个字节,所以23-5=18h 02/11 22:17
- [woyuwoxin] 改了一下,问题真多。 多谢指点,应该没问题了吧 02/10 10:06
- [woyuwoxin] 饿啊,我得仔细看看 02/10 09:32
- [tomato] 支持一下!继续加油! 02/10 09:07
- [tomato] 博主的答案有些问题,建议再统统认真看看! 02/10 09:02