求好心人讲解。。。微机原理的几个考试题目!

这门课,特别是汇编那部分我不懂~~ 结课了,又没法问老师,求好心人解答。谢谢!!!! 能详细讲解更好了!上课实在是听不会。。。。。

1.下列ASCll码串(包括空格)依次存储在起始地址为CSTRING的字节单元中:
CSTRING DB ‘BASED ADDRESSING’ 请编写指令将字符串中的第一个和第七个字符传送给DX寄存器。

2.已知堆栈段寄存器SS的内容是0FFA0H 堆栈指针寄存器SP的内容是00B0H 先执行两条把8057H 和0F79H分别进栈的PUSH指令,再执行一条POP指令试画出堆栈区和SP内容变话过程的示意图(标出存储单元的物理地址)

3.标识寄存器 中 SF符号标志位是怎么判断的啊,最高分是不是1?还是怎么? 比如62A0H 和1234H相加 是按照二进制相加的

第1个回答  推荐于2016-12-02
1.很简单,ASCII码每一个占一个字节的长度,字符串的存储地址是从CSTRING单元开始顺次排列的,所以你只要取出CSTRING单元和CSTRING+7单元的内容存储到DH和DL就行了。
MOV DL,[CSTRING];
MOV DH,[CSTRING+7];

2.MOV AX,8057H;
MOV BX,0F79H;
PUSH AX;
PUSH BX;
POP AX;
画图的话SS和SP内容已经知道,只要记住入栈的时候是先减后压,先高后低,出栈时候相反即可。

3.SF是符号位标志寄存器,标明数的符号(正负),只要看最高位是0还是1即可,0是正数,SF=0;1为负数,SF=1。62A0H和1234H换成二进制数的最高位都是0,也就是两个正数相加,结果肯定是正数,所以SF=0

这些都是很基本的,想要学好汇编的话还要继续努力啊!本回答被提问者采纳
相似回答