微机原理与接口技术(钱晓捷版)课后习题答案(21)
发布时间:2021-06-08
发布时间:2021-06-08
计算机专业--微机原理与接口技术(钱晓捷版)课后习题答案
next: mov ebx,eax
mov eax,offset msg2 call dispmsg mov eax,ebx call dispbb call dispcrlf and al,7fh jp next or al,80h mov ebx,eax
mov eax,offset msg3 call dispmsg mov eax,ebx call dispbb exit 0 end start
〔习题4.8〕
在采用奇偶校验传输数据的接收端应该验证数据传输的正确性。例如,如果采用偶校验,那么在接收到的数据中,其包含“1”的个数应该为0或偶数个,否则说明出现传输错误。现在,在接收端编写一个这样的程序,如果偶校验不正确显示错误信息,传输正确则继续。假设传送字节数据、最高位作为校验位,接收到的数据已经保存在Rdata变量中。 〔解答〕
Rdata error
done:
; 数据段 byte 57h byte 'Error !',0 ; 代码段
mov al,Rdata and al,0ffh jp done mov eax,offset error call dispmsg
;保存接收的数据
;标志PF反映“1”的个数 ;个数为偶数,正确继续 ;个数为奇数,显示出错
〔习题4.9〕
指令CDQ将EAX符号扩展到EDX,即:EAX最高为0,则EDX=0;EAX最高为1,则EDX=FFFFFFFFH。请编程实现该指令功能。 〔解答1〕
next1: done:
test eax,8000h jz next1
mov edx,0ffffffffh jmp done mov dx,0
; 测试最高位
; 最高位为0(ZF=1),转移到标号NEXT1
; 最高位为1,顺序执行:设置EDX=FFFFFFFFH ; 无条件转移,跳过另一个分支
; 最高位为0转移到此执行:设置EDX=0
〔解答2〕
使用移位指令更好。
rol eax,1 rcr edx,1
上一篇:圆柱齿轮传动的互换性
下一篇:精益生产总结