计算机专业--微机原理与接口技术(钱晓捷版)课后习题答案
labl3:
labl4: mov eax,offset labl3 jmp eax ; 寄存器间接寻址 nop
mov eax,'?' call dispc mov eax,'3' call dispc
mov eax,offset labl4 mov nvar,eax jmp nvar ; 存储器间接寻址 nop
mov eax,'?' call dispc mov eax,'4' call dispc
〔习题4.5〕
使用“SHR EAX,2”将EAX中的D1位移入CF标志,然后用JC/JNC指令替代JZ/JNZ指令完成例题4-3的功能。 〔解答〕
mov eax,56h shr eax,2 jnc nom ...
; 假设一个数据 ; D1位移入CF标志
; D1=0条件成立,转移 ; 余同原程序
〔习题4.6〕
执行如下程序片断后,CMP指令分别使得5个状态标志CF、ZF、SF、OF和PF为0还是为1?它会使得哪些条件转移指令指令Jcc的条件成立、发生转移?
mov eax,20h cmp eax,80h
〔解答〕
CF=1 ZF=0 SF=1 OF=0 PF=1
可以使得条件成立、发生转移的指令有:JC JS JP JNZ JNO 〔习题4.7〕
将例题4-4程序修改为实现偶校验。建议进一步增加显示有关提示信息的功能,使得程序具有更加良好的交互性。 〔解答〕
include io32.inc .data
msg1 byte 'Please input a character: ',0
msg2 byte 'The ASCII code of the charater you entered is: ',0 msg3 byte 'The code with even parity is: ',0 .code start: mov eax,offset msg1 call dispmsg call readc