www.1862.net > 指令mul AB执行前A 18h

指令mul AB执行前A 18h

指令MOV R0,#20H执行前R0=30H,(20H)=38H,执行后R0中的内容为( ) A. 00H B. 20H C. 30H D. 38H 试题库:内容3 MCS51单片机指令系统; 正确答案:B; 难度系数:2;~~~单片机题库上面的!!

A是90H,B不变

直接当做十进制,每一位计算的结果再化成16进制就可以了

二个8位数相乘最大只能到16位,MUL AB 结果高8位放在B,低8位放在A具体乘的过程就是把二个8位数换成2进制数按照十进制的乘法方法一位一位相乘.

MUL A,B错的MUL 汇编语言无符号数乘法指令格式:MUL SRC执行的操作:字节操作数:(AX)←(AL)*(SRC)字操作数:(DX,AX)←(AX)*(SRC)双字操作数:(EDX,EAX)←(EAX)*(SRC)MUL:80C51单片机系统的乘法指令,只有一条

圣矢科技网络有限公司(以下简称圣矢科技/圣矢网络)成立于2007年,是一家集计算机技术、信息服务为一体的专业科技公司、网络公司.圣矢立足于信息技术服务领域,以市场为基础,以雄厚的技术实力为后盾,致力于加速推动中国企业网

先看一下 MUL AB 功能.将 A、B 寄存器中数据(8位)相乘,结果为16位,低8 位送 A 中,高8 位送 B 中.先化作十进制进行运算,再将结果化作二进制数存入A,B中.05H=80, 0A0H=16080x160=12800 = 3200H 则结果为(A)=00H (B)=32H

MOV R0,20H把20H这个地址的内容放到R0寄存器中,(20H)=38H 所以 (R0)=38HMOV R0,#20H#号后面跟的是立即数,就是一个数据,把20H这个数据放到R0中 (R0)=20H

50H*0A0H = 320H 你可以把十六进制都换成十进制来计算!即80*10=800 换成十六进制就是320H 执行指令之后,A=20H,B=03H,(结果高八位放在寄存器B,低八位放在A)因为结果超过了255,溢出,则ov=1,cy=0(这个是规定!)

网站地图

All rights reserved Powered by www.1862.net

copyright ©right 2010-2021。
www.1862.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com