微机原理与接口技术第四版课后习题答案(供参考)

发布时间 : 星期四 文章微机原理与接口技术第四版课后习题答案(供参考)更新完毕开始阅读

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

(7)INC,DEC,NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操作数?

(9)乘除法运算针对无符号数和有符号数,有两种不同的指令。只有一种指令的加减法如何区别无符号数和有符号数运算?

(10)逻辑与运算为什么也称为逻辑乘? 〔解答〕

① 没有。使用二进制8位表达无符号整数,257没有对应的编码。 ② 字符“'F'”的ASCII码就是数值46H,所以没有区别。

③ 汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量。

④ 不能。数值500大于一个字节所能表达的数据量,所以不能为字节变量赋值。

⑥ 前者在指令执行时获得偏移地址,是正确的;但后者的OFFSET只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,所以无法获得偏移地址。

⑦ INC,DEC,NEG和NOT指令的操作数既是源操作数也是目的操作数。 ⑨ 加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的CF和OF标志,可利用CF和OF进行区别。

⑩ 逻辑与运算规则类似二进制的乘法,所以称其为逻辑乘。 〔习题3.3〕填空题

(1)定义字节变量的伪指令助记符是_____________,获取变量名所具有的偏移地址的操作符是_____________。

(2)计算机中有一个“01100001”编码。如果把它认为是无符号数,它是10进制数___________;如果认为它是BCD码,则表示真值_____________;又如果它是某个ASCII码,则代表字符__________。

(3)C语言用“\\n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个是回车,其ASCII码是_____________,它将光标移动到当前所在行的首位;另一个是换行,其ASCII码是_____________,它将光标移到下一行。

(4)数据段有语句“H8843 DWORD H”,代码段指令“MOV CX, WORD PTR H8843”执行后,CX=_____________。

(5)用DWORD定义的一个变量XYZ,它的类型是_____________,用“TYPE XYZ”会得到数值为_____________。如果将其以字量使用,应该用_____________说明。

(6)数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL=_____________。 〔解答〕

① BYTE,OFFSET ② 97,61,小写字母a

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

③ 0DH(13),0AH(10) ④ 8843H

⑤ DWORD,4,WORD PTR XYZ ⑥ 3 〔习题3.4〕

下列十六进制数表示无符号整数,请转换为十进制形式的真值: ① FFH ② 0H ③ 5EH ④ EFH 〔解答〕

① 255 ② 0 ③ 94 ④ 239 〔习题3.5〕

将下列十进制数真值转换为压缩BCD码: ① 12 ② 24 ③ 68 ④ 99 〔解答〕

① 12H ② 24H ③ 68H ④ 99H 〔习题3.6〕

将下列压缩BCD码转换为十进制数: ① ② ③ 00110110 ④ 〔解答〕

① 91 ② 89 ③ 36 ④ 90 〔习题3.7〕

将下列十进制数用8位二进制补码表示: ① 0 ② 127 ③-127 ④ -57 〔解答〕

① 00000000 ② 01111111 ③ ④

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

〔习题3.8〕

进行十六进制数据的加减运算,并说明是否有进位或借位: ① 1234H+7802H ② F034H+5AB0H ③ C051H-1234H ④ 9876H-ABCDH 〔解答〕

① 1234H+7802H=8A36H,无进位 ② F034H+5AB0H=4AF4H,有进位 ③ C051H-1234H=BE1DH,无借位 ④ 9876H-ABCDH=ECA9H,有借位 〔习题3.10〕

设置一个数据段,按照如下要求定义变量或符号常量: ① my1b为字符串变量:Personal Computer ② my2b为用十进制数表示的字节变量:20 ③ my3b为用十六进制数表示的字节变量:20 ④ my4b为用二进制数表示的字节变量:20 ⑤ my5w为20个未赋值的字变量 ⑥ my6c为100的常量

⑦ my7c表示字符串:Personal Computer 〔解答〕

my1b byte 'Personal Computer' my2b byte 20 my3b byte 14h

my4b byte 00010100b my5w word 20 dup(?) my6c = 100

my7c equ

〔习题3.11〕定义常量NUM,其值为5;数据段中定义字数组变量DATALIST,它的头5个字单元中依次存放-10,2,5和4,最后1个单元初值不定。 〔解答〕 num equ 5 datalist

byte -10,2,5,4,?

〔习题3.12〕从低地址开始以字节为单位,用十六进制形式给出下列语句依次分配的数值:

byte 'ABC',10,10h,'EF',3 dup(-1,?,3 dup(4)) word 10h,-5,3 dup(?)

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

〔解答〕

41 42 43 0A 10 45 46 FF 00 04 04 04 FF 00 04 04 04 FF 00 04 04 04 10 00 FB FF 00 00 00 00 00 00

〔习题3.19〕请分别用一条汇编语言指令完成如下功能:(去E)

(1)把EBX寄存器和EDX寄存器的内容相加,结果存入EDX寄存器。 (2)用寄存器EBX和ESI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

(3)用EBX和位移量0B2H的寄存器相对寻址方式把存储器中的一个双字和ECX寄存器的内容相加,并把结果送回存储器中。

(4)将32位变量VARD与数3412H相加,并把结果送回该存储单元中。 (5)把数0A0H与EAX寄存器的内容相加,并把结果送回EAX中。 〔解答〕 ① add edx,ebx ② add al,[ebx+esi] ③ add [bx+0b2h],cx ④ add varw,3412h ⑤ add eax,0a0h 〔习题3.20〕分别执行如下程序片断,说明每条指令的执行结果:(去E) (1) mov eax,80h ; EAX=__________ add eax,3 ; EAX=__________,CF=__________,SF=__________ add eax,80h ; EAX=__________,CF=__________,OF=__________ adc eax,3 ; EAX=__________,CF=__________,ZF=__________

(2) mov eax,100 ; EAX=__________ add ax,200 ; EAX=__________,CF=__________

(3) mov eax,100 ; EAX=__________ add al,200 ; EAX=__________,CF=__________

(4) mov al,7fh ; AL=__________ sub al,8 ; AL=__________,CF=__________,SF=__________ sub al,80h ; AL=__________,CF=__________,OF=__________ sbb al,3 ; AL=__________,CF=__________,ZF=__________ 〔解答〕

(1) ; EAX=80H ; EAX=83H,CF=0,SF=0

联系合同范文客服:xxxxx#qq.com(#替换为@)