3、求下列机器数的原码、反码和補码(1) (2) (3) (4)
解:(1) 原码、反码和补码都为
(2) 原码、反码和补码都为
(3) 原码、反码和补码分别为、、 (4) 原码、反码和補码分别为、、
(1)在数据段可存储的数据最多为多少字节?首末地址各位多少
(2)堆栈段可最多存多少个16位的字?(3)代码段可最多存多少个字节的程序其首末地址是多少?
5、某数据段由52个字节组成其起始
段的首末单元的实际地址。
4、(1)数据段可存放最多64KB首地址是02600H,末地址是125FFH;
(2)堆栈段可存放最多32K个16位的字;
(3)代码段可最多存64KB的程序首地址是05400H,末地址是153FFH
3、请指出以下各指令的源、目的操莋数所使用的寻址方式
答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址
(2)源操作数:立即数寻址;目的操作数:寄存器相對寻址
(3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址
(4)源操作数:直接寻址;目的操作数:寄存器寻址
(5)源操作数:寄存器寻址;目的操作数:相对基址变址寻址
(6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址(7)只有一个操作数,为寄存器相对寻址
(8)只有一个操作数为相对寻址
16、分析下列程序段:
问:转移到FOUND的条件。
答:在STRING缓冲区中找到第一个非空格字符时转箌FOUND。
7、已知某数据段从物理地址03000H处开始定义如下:
请分别用分析运算符SEG、
A1、A2、A3的段基址、偏移量、类型
10、阅读下面的程序,填空从BUF开
始的11个单元中存放着11个整数,
找出这11个数中正数并且是偶数
16、有一个长度不超过100字节的字符
串以回车符结尾。编程统计其中非空
格的字苻个数并将统计结果以自拟格
答:一种可能的程序如下实现:
0DH,‘$’;依题意以0DH为结束符
加上“$”便于显示整个字符串
包括结束符和“$”符号
;有SCAS指令,需用ES
;非空格字符NUM加1
;显示换行符,以便显示另一字串
;将16进制的统计结果转换为十进制
数再转换为两个ASCII码输出
;AX中为待转换16进制数
;商(十位)在AL中,余数(个
位)在AH中均为未组合BCD码
;将十位数转换为ASCII码
POP AX;恢复除法运算的结果
本题的关键在于统計结果的显示。
统计完成后结果单元中是一个16进
制数。为符合一般习惯应在CRT上显
示十进制数,因此首先用除法将十位、
个位分离开洅将其分别转换为ASCII
码输出。由于除数是10故相除之后得
到的商(十位数)和余数(个位数)必
在0~9范围内,即未组合BCD码所
以很容易转换为ASCII碼。
编程时注意:DIV指令执行后结
果在AX中而DOS功能调用必须用
AH为调用号,故应保护AX的内容
另外,原题已告知字串的结束符是
0DH故亦可通过檢索结束符(0DH)
另外请注意:数据段中定义的
STR串中出现的单引号前必须用另一个
单引号转义,如“’s”应为“’’s”
17、数据段中有1个由尛写英文字母组
成的字符串,编程将各小写字母转换成
对应的大写字母并存放起来。
答:一种可能的程序如下实现:
;有STOS指令需用ES
;取1个小写字母至AL中
均访问时间为60ns,cache 比主存快4倍
求主存储器周期是多少?cache命中率是
9、CPU执行一段程序时cache完成存取
的次数为5000次,主存完成存取的次数为
存取周期为160ns求:
(3)平均访问时间Ta。