=====================================
检测点2.1
=====================================
1.写出每条汇编指令执行后相关的寄存器中的值
MOV AX,62627_____AX=F4A3H=62627
MOV AH,31H _____AX=31A3H=12707
MOV AL,23H _____AX=3123H=12579
ADD AX,AX _____AX=6246H=25158
MOV BX,826CH_____BX=826CH=33388
MOV CX,AX _____CX=3246H=25158
MOV AX,BX _____AX=826CH=33388
ADD AX,BX _____AX=04D8H=1243
MOV AL,BH _____AX=0482H=26754
MOV AH,BL _____AX=6C82H=27778
ADD AH,AH _____AX=D882H=55426
*ADD AL,6 _____AX=D806H=55302
*ADD AL,AL _____AX=DB0CH=55308
*MOV AX,CX _____AX=3246H=25158
//更正为:
//AX=D888H
//AX=D810H
//AX=6246H
//错误原因,把ADD看做MOV,汇编确实是相当地烦琐/
2.只能使用目前学过的汇编指令、最多使用4条指
令,编程计算2的4次方。
MOV AX,2 把2传入寄存器AX
ADD AX,AX 2+2相当于2的2次方
ADD AX,AX 3次方
ADD AX,AX 4次方
=====================================
检测点2.2
=====================================
1.给定段地址为0001H,仅通过变化偏移地址寻址,
CPU的寻址范围为(10000H)到(1FFFFH)。
更正:CPU的寻址范围为00010 H到1000F H
2.有一数据存放在内存20000H单元中现在给定段
地址为SA,若想用偏移地址寻到此单元,则SA满足
最小为(2H),最大为(2000H)。
*提示,反过来思考,当段地址给定多少时,无论怎么
变化都寻不到20000H?
||X=1H或者X>2000H
=====================================
检测点2.3
=====================================
下面的3条指令执行后,CPU几次修改IP?都是在什
么时候?最后IP值是多少?
MOV AX.BX
SUB AX,AX
JMP AX
第一条语句,把BX值传递给AX,执行完毕,修改IP
跳转到下一句**********IP第一次修改******
第二条语句,把AX清零,执行完毕
*********************IP第二次修改*****
第三条语句,修改IP值为AX中的值,修改一次
然后指针指到0的地址,再修改1次
***************手动设置修改IP*第三、四次***
值为0
- [zwjq] 谢谢你哈,晓得啦 08/05 12:47
- [zwjq] 我那里实验1的开头就出了点问题,已经写出文章了,麻烦你帮我看一下 08/05 12:30
- [游客] 正确^_^ 08/04 16:11
- [zwjq] 我的和你对不上的是地址总线的寻址一块,还有就是第4题你的应该都少乘了一个1024,另外第七题的808 08/03 21:25
- [zwjq] 汇编里在第一个程序那一块我编译后出现 Microsoft (R) Macro Assembler 08/07 15:55