早教吧 育儿知识 作业答案 考试题库 百科 知识分享

汇编语言,补码运算问题MOVAH,22HMOVBH,A0HSUBAH,BHcpu在执行sub的时候包含了两种含义:有符号运算和无符号运算22H是34的原码,94的补码A0H是160的原码,-96的补码cpu执行时是不是包括了以下四种运算

题目详情
汇编语言,补码运算问题
MOV AH,22H
MOV BH,A0H
SUB AH,BH
cpu在执行sub的时候包含了两种含义:有符号运算和无符号运算
22H是34的原码,94的补码
A0H是160的原码,-96的补码
cpu执行时是不是包括了以下四种运算呢:
34-160
34-(-96)
94-160
94-(-96)
▼优质解答
答案和解析
基本想法正确,但是有两个问题:
1.不同的表示法不能运算
2.以8位二进制码为例
94的补吗显然不是22H,而是5EH
MOV AH,22H
MOV BH,A0H
SUB AH,BH
运算后CF=1,OF=1
视为无符号数为:
34-160应得-126,实得130,结果错误
视为有符号数为:
34-(-96)应得130,实得-126,结果错误