关于第二章实验一(2)
本帖最后由 □为 于 2022-11-17 20:56 编辑实验一 查看CPU和内存,用机器指令和汇编指令编程(2)将下面的3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。 mov ax,1 add ax,ax jmp 2000:0003
求详细解答过程! □为 发表于 2012-9-25 16:51 static/image/common/back.gif
没人么……
哥慢慢道来{:5_109:}
mov ax,1 //ax:= 1
add ax,ax//ax寄存器中的数值加上ax中滴数值ax:=ax+ax;
jmp 2000:0003修改CS~IP 值为:2000:0003,也就是跳到2000:0003处;
===================================================
执行完MOV AX,,1时,CS~IP 值为:2000:0002,因为mov ax,0001的机器码为:B8 01 00 三字节,所以IP值 从0修改到2;也就是说
一起进步吧师弟{:5_95:} 自杀。。:$:$:$ 哎话说我这人就喜欢钻牛角尖… 没人么……:'(:'(:'(:'(:'( 将代码写入内存:
使用a指令。
具体输入:a 2000:0
mov ax,1
add ax,ax
jmp 2000:03
然后查看寄存器,修改cs:ip指向2000:0
开始按T单步执行,你可以观察寄存器的变化,每执行一次,多加一次方,第一次循环执行完,2的一次方,第二次执行完,2的二次方……8次几为2的八次方 蜡笔小牛牛 发表于 2012-9-25 20:10 static/image/common/back.gif
将代码写入内存:
使用a指令。
具体输入:a 2000:0
嗯嗯!!!谢啦!!~~ 嘿嘿 s0512 发表于 2012-9-25 18:29 static/image/common/back.gif
哥慢慢道来
mov ax,1 //ax:= 1
add ax,ax//ax寄存器中的数值加上ax中滴数值ax:=ax+a ...
嗯嗯 懂了!!!嘿嘿!~~~ 蜡笔小牛牛 发表于 2012-9-25 20:10 static/image/common/back.gif
将代码写入内存:
使用a指令。
具体输入:a 2000:0
嗯嗯!~~ 明白了~~~ :@ buzhdoa ni wendshengm
页:
[1]