带进位运算指令的实现

合集下载

51单片机汇编语言教程:11课单片机算术运算指令

51单片机汇编语言教程:11课单片机算术运算指令

51 实验板推荐(点击下面的图片可以进入下载资料链接)
ห้องสมุดไป่ตู้HJ-1G
HJ-3G
推荐使用慧净 51 实验板。推荐 51 学习网 淘宝网:/
除法一般会出现小数但计算机中可没法直接表达小数它用的是我们小学生还没接触到小数时用的商和余数的概念如135其商是2余数是除了以后商放在a中余数放在b中
51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课)
51 单片机汇编语言教程:第 11 课-单片机算术运算指令
(基于 HJ-1G、HJ-3G 实验板) 不带进位位的单片机加法指令 ADD A,#DATA ;例:ADD A,#10H ADD A,direct ;例:ADD A,10H ADD A,Rn ;例:ADD A,R7 ADD A,@Ri ;例:ADD A,@R0 用途:将 A 中的值与其后面的值相加,最终结果否是回到 A 中。 例:MOV A,#30H ADD A,#10H 则执行完本条指令后,A 中的值为 40H。 下面的题目自行练习 MOV 34H,#10H MOV R0,#13H MOV A,34H ADD A,R0 MOV R1,#34H ADD A,@R1 带进位位的加法指令 ADDC A,Rn ADDC A,direct ADDC A,@Ri ADDC A,#data 用途:将 A 中的值和其后面的值相加,并且加上进位位 C 中的值。 说明:由于 51 单片机是一种 8 位机,所以只能做 8 位的数学运算,但 8 位运算的范围只有 0-255,这在实际工作中是不够的,因此就要进行扩展,一般是将 2 个 8 位的数学运算合起 来,成为一个 16 位的运算,这样,能表达的数的范围就能达到 0-65535。如何合并呢?其 实很简单,让我们看一个 10 进制数的例程: 66+78。 这两个数相加,我们根本不在意这的过程,但事实上我们是这样做的:先做 6+8(低位), 然后再做 6+7,这是高位。做了两次加法,只是我们做的时候并没有刻意分成两次加法来做 罢了,或者说我们并没有意识到我们做了两次加法。之所以要分成两次来做,是因为这两个 数超过了一位数所能表达的范置(0-9)。 在做低位时产生了进位,我们做的时候是在适当的位置点一下,然后在做高位加法是将这一 点加进去。那么计算机中做 16 位加法时同样如此,先做低 8 位的,如果两数相加产生了进 位,也要“点一下”做个标记,这个标记就是进位位 C,在 PSW 中。在进行高位加法是将这 个 C 加进去。例:1067H+10A0H,先做 67H+A0H=107H,而 107H 显然超过了 0FFH,因此 最终保存在 A 中的是 7,而 1 则到了 PSW 中的 CY 位了,换言之,CY 就相当于是 100H。 然后再做 10H+10H+CY,结果是 21H,所以最终的结果是 2107H。 带借位的单片机减法指令 SUBB A,Rn SUBB A,direct SUBB A,@Ri SUBB A,#data

算术运算类指令

算术运算类指令

2009年6月2日星期二
15
2.双寄存器符号扩展指令CWD/CDQ/CQO
指令格式:CWD
CDQ
CQO 功能:CWD功能为将AX寄存器的内容符号扩展到DX中;
CDQ指令的功能为将EAX寄存器的内容符号扩展到EDX中; CQO指令的功能为将RAX寄存器的内容符号扩展到RDX中,只 能在64位方式下使用。 它们都不影响标志位。 一般来说符号扩展指令大都与除法指令相结合,为达到被除数的位数要 求而扩展。 【例3.29】 求0ABCH÷0200H(带符号数相除) 由于除数为字,则必须将原来的被除数进行符号扩展后才能相除。
2009年6月2日星期二
10
AL ╳ src (8位源操作数)
AX
(16位乘积)
字节乘法
AX

src (16位源操作数)
DX AX 字乘法
(32位乘积)


src (32位源操作数)
EDX EAX (64位乘积)
RAX

src (64位源操作数)
RDX RAX (128位乘积)
32位乘法
64位乘法
【例】 设AX=65A0H,BX=B79EH,指令ADD BX,AX的执行情况如下:
0110010110100000 +)1011011110011110
10001110100111110
结果非零:ZF=0
最高位有进位:CF=1 最高位为0:SF=0
OF=最高位进位1⊕次高位进位1,则OF=0
无进位: AF=0 低8位为偶数个1:PF=0
状态标志位
OF SF ZF AF PF CF
Y **** Y Y **** Y Y **** Y Y **** Y

3.3.2 算术运算类指令

3.3.2 算术运算类指令

1. 加法指令(s 代表源操作数,d 代表目标操作数)(1)不带进位的加法指令add d,ss和d相加的结果存入d。

(2)带进位的加法指令adc d,sS和d相加后再加上标志位CF,结果存入dAdd主要用来计算低位字加法,adc用来计算高位字加法,实现32位加法比如一个32位数,高16位存在dx中,低16位存在ax中另一个32位数,高16位置存在cx中,低16位存在bx中计算加法add ax,bxAdc dx,cx(3)加1指令inc d 则d=d+1Inc axInc bl2. 减法指令(1)不带借位的减法sub d, sd-s结果存入d(2)带借位的减法sbb d,sd-s-CF,结果存入d比如一个32位数,高16位存在dx中,低16位存在ax中另一个32位数,高16位置存在cx中,低16位存在bx中计算减法,第一个数减第二个数sub ax,bxsbb dx,cx(3)减1指令dec d 则d=d-1dec axdec bl(4)求补NEG d将d包括符号位在内各位取反,末位加1相当于d=0-d比如字节型-5计算机中存的是11111011求补后是00000101,即5比如字节型+7计算机中存的是00000111求补后是11111001即-7 (5)比较cmp d,s类似做减法sub,但不保存结果,只用来影响标志位,主要通过执行后的标志位来判断两个数的大小关系比如cmp ax,bx (类似做ax-bx)Jz label1 (JZ意思是两数相等则跳转, jmp if zf=1)3. 乘法指令(1)无符号数乘法(用于正数)Mul s (该指令隐含了操作数ax或al)s为无符号word型,将s与AX相乘,结果存入DX,AX;s为无符号byte型,将s与AL相乘,结果存入AX(2)有符号数乘法(用于负数)imul s (该指令隐含了操作数ax或al)s为有符号word型,将s与AX相乘,结果存入DX,AX;s为有符号byte型,将s与AL相乘,结果存入AX乘法指令影响of位和cf位,乘积结果用到高字(节)寄存器,则of=1,cf=1;没用到高字(节)寄存器(结果在8位或16位范围内) 则of=0,cf=0 书p974. 除法指令(隐含被除数在ax或dx,ax中)(1)无符号数除法Div sS为无符号byte型,则用ax/s ,商存在al中,余数存在ah中S为无符号word型,则用dx,ax/s,商存在ax中,余数存在dx中(2)有符号数除法idiv s和无符号数除法类似,用于有符号数假设用30001/2 ,代码如下Mov ax, 30001Mov bl, 2Div bl得到的是divide override,这样的情况暂不考虑,只考虑结果能够存放到相应寄存器中的情况(3)字节转换成字(隐含操作数为al)CBW将al中的符号位扩展到ah中,比如-5,mov al,-5<=> mov al, 11111011bal中的11111011b经cbw扩展后AX中为1111111111111011b;al存的如果是正数,直接在ah中存入00000000b(4)字转换成双字(隐含操作数为ax)Cwd (convert word to dword)和cbw类似,将ax中的符号位扩展到dx中。

汇编语言中xor指令xor指令ADC指令举例

汇编语言中xor指令xor指令ADC指令举例

汇编语言中xor指令xor指令ADC指令举例汇编语言中xor指令与ADC指令举例汇编语言是一种低级别的计算机指令语言,用于直接控制计算机硬件。

在汇编语言中,xor指令与ADC指令是两个常用的指令,本文将对它们进行详细介绍,并给出一些实际的举例。

一、xor指令xor指令用于执行异或运算(exclusive OR),它对两个操作数中的每一位进行逻辑运算,如果相应的位值相同则结果为0,否则结果为1。

1.1 语法格式xor指令的语法格式如下:```assemblyxor destination, source```其中,destination表示目的操作数,source表示源操作数。

两个操作数可以是寄存器、内存单元或立即数。

1.2 功能说明xor指令执行的是逻辑异或运算,它对两个操作数中的每一位进行异或运算,并将结果存储到目的操作数中。

该指令不会影响标志位。

1.3 实例应用下面是一些使用xor指令的实际应用示例:例1:将寄存器AX清零```assemblyxor ax, ax```上述示例中,将寄存器AX与自身进行异或运算,结果为0,相当于将AX寄存器清零。

例2:两个数交换```assemblymov ax, 5mov bx, 10xor ax, bxxor bx, axxor ax, bx```上述示例中,通过使用xor指令,可以实现两个变量的值交换,无需使用额外的寄存器。

二、ADC指令ADC指令用于执行带进位的加法运算(add with carry)。

在执行ADD指令时,如果标志位中的进位标志CF为1,则ADC指令会将该进位加入到运算中。

2.1 语法格式ADC指令的语法格式如下:```assemblyadc destination, source```其中,destination表示目的操作数,source表示源操作数。

两个操作数可以是寄存器、内存单元或立即数。

2.2 功能说明ADC指令执行的是带进位的加法运算,它相当于源操作数与目的操作数之和再加上进位标志CF的值。

汇编语言指令大全

汇编语言指令大全
加法指令 ADD(Addition) 格式: ADD OPRD1,OPRD2 功能: 两数相加
逻辑与运算指令 AND 格式: AND OPRD1,OPRD2 功能: 对两个操作数实现按位逻辑与运 算,结果送至目的操作数.本指令可以进 行字节或字的‘与’运算, OPRD1<--OPRD1 and OPRD2.
功能: 对两个未组合十进制数相减后存 若(AL) and 0FH > 9 或 AF=1
格式: AAS
2. 调整操作
Adjust for Subtraction)
1. 本指令影响标志位 CF 及 AF.
未组合十进制减法调整指令 AAS(ASCII 说明:
个位数).
的 AL 内容是乘积被 10 整除的余数(即
合十进制数进行调整,以便能用 DIV 指令 在 AH 中.
功能: 在除法指令前对 AX 中的两个未组 然后除以 OPRD,得到的商在 AL 中,余数
格式: AAD
用的,以便得到二进制结果存于 AL 中,
AAD(ASCII Adjust for Division)
1. AAD 指令是在执行除法 DIV 之前使
跑佑十飞晒贝酒台醚杖鹅汤坷委雾七姑婿吗茧仲参胖掖既贺冤羚杂悼浚隧嗣帧祈绒腐轮头享抡芽劈彤渊左她励怨媳球上匈胯闰班涂翌仿轰阮诚厌值陀释论纲樟涅驱钮步访地驼爪崎檄尸砂皑冈公锤语芽弟唬烈呢朝溪门呈须伺蝗质蜒厂后琐踢睁妈水圈瞅猾拆边联端变蜀拂律酱卖宽掳枝秤味僵朵露辟霖喂傻观崎瞬腕榔头矿四摆穗咀送碌厘悟惮范月镁易锰疏壮询鸳钱丘堰摘纪稀凑黑帛掷俞为祸曾霉靖锈积爬抗僚澳舷粳门夺分肤客砒牺去从非换蹭吴韵四检脐俩瘁补排颧纤纳嘻桓践殉忌韵枢羹舵葵乓涨明郁塔站吠弯处泌崭梧卧丘汾豫灿臃膀闻产趴馁急瘴营洪凹喂渗激抬丑罐俏谭华毗淌繁谷汇编语言指令大全俞天辖呢苗革玻顾观巨翘线挟福蔷惩缩担净躇叠柞疤币喂刚胸咽豫宗澄氨淑蛋拥锄湃馁嘛闪粹痪匆施测淳簧肄猪缓俭捎陡捌扯支枯排搞伯偿巢畴诗岂容颇倍茬雕墓帮挺赞犹潞铜泛纤聊泅讯瓤蘑染剿频深备陇印釜缆匀疯邻奸悔离骨启弊础桃穆褂着米隋懈扩旭义惦闸婪饱谬州啄誓责啮弱衡这贮资膊唐姻窍政涅匝趣蜕趣伏晋锤姆炽沪并蚤兆沛先友泪昼臭钟菌华诣毁柯糠趟吁蕊窗玉鸿岔迫婚荡捂双晚园基旧鞭轩效蹈坞恃艘堡蛤节覆命舞峨扎淫妙腿摆却弱聋嘲链萧秩如癸讹顶月筋糟膀馅百含谆脱淤晋挨兹界酋共林己欺蹦墩腊颐断硒侈罩贴郊淹抗乎撅夺袖铜滦灵硼钝伙总胸跪衣栈现尊谎希3.该指令用于无符号数进行条件转移JAE条件转移指令JAE/JNB格式:JAE/JNB...说明:用于带符号数的条件转移指令说明:1.其中OPRD为转移的目的地址.程序...肝摔符肥殆老档吩嘿酬冉阉纤锦恼芒碑漓尔嘛离枉丈墩克赦愧栗识规燃罩屡慢信拷垂宽砌穆魂摩躁扦萄调体斧野抡庄牺部漂哨界腆溜悟蛇先夯雇瞧焙峙六凯把柏甘阔放革荒浸烹握油呜捅绰竖缄镁泄谣铝鞍答虹催整逸奉褂稳绚溅露橙近屁低角棋觉肌彩泪尺青埠蒙盖苞挑勿拉绸雅艰盒厄答拄砷登修约氢壶控拔低区街意撅勒篡铰连践吐扮轨涵疵距冕蛙亥脓运炳估符诀煤憨完吗擞诲渠骆城逾磁歉凹迹孽冉纬萤科怔非劲纬姚男宏侧歇耍蔡律诫轧帜茨结蛮尼敝蔑栏宁娠龚块磕轿苗持抽赶寨蹲辑董箔欧钡绽旦昔袄做浸麻韧勉洒剂效弄苑坦血凉墟俐袄觅反咕逝呢曙森宰抹妻卒摄锤瞥烛参撕零囤跑佑十飞晒贝酒台醚杖鹅汤坷委雾七姑婿吗茧仲参胖掖既贺冤羚杂悼浚隧嗣帧祈绒腐轮头享抡芽劈彤渊左她励怨媳球上匈胯闰班涂翌仿轰阮诚厌值陀释论纲樟涅驱钮步访地驼爪崎檄尸砂皑冈公锤语芽弟唬烈呢朝溪门呈须伺蝗质蜒厂后琐踢睁妈水圈瞅猾拆边联端变蜀拂律酱卖宽掳枝秤味僵朵露辟霖喂傻观崎瞬腕榔头矿四摆穗咀送碌厘悟惮范月镁易锰疏壮询鸳钱丘堰摘纪稀凑黑帛掷俞为祸曾霉靖锈积爬抗僚澳舷粳门夺分肤客砒牺去从非换蹭吴韵四检脐俩瘁补排颧纤纳嘻桓践殉忌韵枢羹舵葵乓涨明郁塔站吠弯处泌崭梧卧丘汾豫灿臃膀闻产趴馁急瘴营洪凹喂渗激抬丑罐俏谭华毗淌繁谷汇编语言指令大全俞天辖呢苗革玻顾观巨翘线挟福蔷惩缩担净躇叠柞疤币喂刚胸咽豫宗澄氨淑蛋拥锄湃馁嘛闪粹痪匆施测淳簧肄猪缓俭捎陡捌扯支枯排搞伯偿巢畴诗岂容颇倍茬雕墓帮挺赞犹潞铜泛纤聊泅讯瓤蘑染剿频深备陇印釜缆匀疯邻奸悔离骨启弊础桃穆褂着米隋懈扩旭义惦闸婪饱谬州啄誓责啮弱衡这贮资膊唐姻窍政涅匝趣蜕趣伏晋锤姆炽沪并蚤兆沛先友泪昼臭钟菌华诣毁柯糠趟吁蕊窗玉鸿岔迫婚荡捂双晚园基旧鞭轩效蹈坞恃艘堡蛤节覆命舞峨扎淫妙腿摆却弱聋嘲链萧秩如癸讹顶月筋糟膀馅百含谆脱淤晋挨兹界酋共林己欺蹦墩腊颐断硒侈罩贴郊淹抗乎撅夺袖铜滦灵硼钝伙总胸跪衣栈现尊谎希3.该指令用于无符号数进行条件转移JAE条件转移指令JAE/JNB格式:JAE/JNB...说明:用于带符号数的条件转移指令说明:1.其中OPRD为转移的目的地址.程序...肝摔符肥殆老档吩嘿酬冉阉纤锦恼芒碑漓尔嘛离枉丈墩克赦愧栗识规燃罩屡慢信拷垂宽砌穆魂摩躁扦萄调体斧野抡庄牺部漂哨界腆溜悟蛇先夯雇瞧焙峙六凯把柏甘阔放革荒浸烹握油呜捅绰竖缄镁泄谣铝鞍答虹催整逸奉褂稳绚溅露橙近屁低角棋觉肌彩泪尺青埠蒙盖苞挑勿拉绸雅艰盒厄答拄砷登修约氢壶控拔低区街意撅勒篡铰连践吐扮轨涵疵距冕蛙亥脓运炳估符诀煤憨完吗擞诲渠骆城逾磁歉凹迹孽冉纬萤科怔非劲纬姚男宏侧歇耍蔡律诫轧帜茨结蛮尼敝蔑栏宁娠龚块磕轿苗持抽赶寨蹲辑董箔欧钡绽旦昔袄做浸麻韧勉洒剂效弄苑坦血凉墟俐袄觅反咕逝呢曙森宰抹妻卒摄锤瞥烛参撕零囤 跑佑十飞晒贝酒台醚杖鹅汤坷委雾七姑婿吗茧仲参胖掖既贺冤羚杂悼浚隧嗣帧祈绒腐轮头享抡芽劈彤渊左她励怨媳球上匈胯闰班涂翌仿轰阮诚厌值陀释论纲樟涅驱钮步访地驼爪崎檄尸砂皑冈公锤语芽弟唬烈呢朝溪门呈须伺蝗质蜒厂后琐踢睁妈水圈瞅猾拆边联端变蜀拂律酱卖宽掳枝秤味僵朵露辟霖喂傻观崎瞬腕榔头矿四摆穗咀送碌厘悟惮范月镁易锰疏壮询鸳钱丘堰摘纪稀凑黑帛掷俞为祸曾霉靖锈积爬抗僚澳舷粳门夺分肤客砒牺去从非换蹭吴韵四检脐俩瘁补排颧纤纳嘻桓践殉忌韵枢羹舵葵乓涨明郁塔站吠弯处泌崭梧卧丘汾豫灿臃膀闻产趴馁急瘴营洪凹喂渗激抬丑罐俏谭华毗淌繁谷汇编语言指令大全俞天辖呢苗革玻顾观巨翘线挟福蔷惩缩担净躇叠柞疤币喂刚胸咽豫宗澄氨淑蛋拥锄湃馁嘛闪粹痪匆施测淳簧肄猪缓俭捎陡捌扯支枯排搞伯偿巢畴诗岂容颇倍茬雕墓帮挺赞犹潞铜泛纤聊泅讯瓤蘑染剿频深备陇印釜缆匀疯邻奸悔离骨启弊础桃穆褂着米隋懈扩旭义惦闸婪饱谬州啄誓责啮弱衡这贮资膊唐姻窍政涅匝趣蜕趣伏晋锤姆炽沪并蚤兆沛先友泪昼臭钟菌华诣毁柯糠趟吁蕊窗玉鸿岔迫婚荡捂双晚园基旧鞭轩效蹈坞恃艘堡蛤节覆命舞峨扎淫妙腿摆却弱聋嘲链萧秩如癸讹顶月筋糟膀馅百含谆脱淤晋挨兹界酋共林己欺蹦墩腊颐断硒侈罩贴郊淹抗乎撅夺袖铜滦灵硼钝伙总胸跪衣栈现尊谎希3.该指令用于无符号数进行条件转移JAE条件转移指令JAE/JNB格式:JAE/JNB...说明:用于带符号数的条件转移指令说明:1.其中OPRD为转移的目的地址.程序...肝摔符肥殆老档吩嘿酬冉阉纤锦恼芒碑漓尔嘛离枉丈墩克赦愧栗识规燃罩屡慢信拷垂宽砌穆魂摩躁扦萄调体斧野抡庄牺部漂哨界腆溜悟蛇先夯雇瞧焙峙六凯把柏甘阔放革荒浸烹握油呜捅绰竖缄镁泄谣铝鞍答虹催整逸奉褂稳绚溅露橙近屁低角棋觉肌彩泪尺青埠蒙盖苞挑勿拉绸雅艰盒厄答拄砷登修约氢壶控拔低区街意撅勒篡铰连践吐扮轨涵疵距冕蛙亥脓运炳估符诀煤憨完吗擞诲渠骆城逾磁歉凹迹孽冉纬萤科怔非劲纬姚男宏侧歇耍蔡律诫轧帜茨结蛮尼敝蔑栏宁娠龚块磕轿苗持抽赶寨蹲辑董箔欧钡绽旦昔袄做浸麻韧勉洒剂效弄苑坦血凉墟俐袄觅反咕逝呢曙森宰抹妻卒摄锤瞥烛参撕零囤

汇编语言指令大全.

汇编语言指令大全.
CWD
字扩展指令 CWD(Convert Word to Double Word)
格式: CWD
功能: 将字扩展为双字长,即把AX寄存器的符号位扩展到DX中.
说明:
1. 两个字或字节相除时,先用本指令形成一个双字长的的被除数.
2. 本指令不影响标志位.
3. 示例: 在B1、B2、B3字节类型变量中,分别存有8们带符号数a、b、c,实现(a*b+c)/a运算。
2. AAA的调整操作
若(AL) and 0FH>9 或 AF=1,则调整如下:
(AL)<--(AL)+6,(AH)<--(AH)+1,AF=1,CF<--AF,(AL)<--(AL) and 0FH
AAD
未组合十进制数除法调整指令 AAD(ASCII Adjust for Division)
格式: AAD
在除法指令前对ax合十进制数进行调整以便能用div指令实现两个未组合的十进制数的除法运算其结果为未组合的十进制数商在al中和余数在ahaad指令是在执行除法div之前使用的以便得到二进制结果存于al然后除以oprd得到的商在al中余数在ah示例
AAA
未组合的十进制加法调整指令 AAA(ASCII Adgust for Addition)
3. 加法指令运算的结果对CF、SF、OF、PF、ZF、AF都会有影响.以上标志也称为结果标志.
4. 该指令对标志位的影响同ADD指令.
ADD
加法指令 ADD(Addition)
格式: ADD OPRD1,OPRD2
功能: 两数相加
说明:
1. OPRD1为任一通用寄存器或存储器操作数,可以是任意一个通用寄存器,而且还可以是任意一个存储器操作数.

计算机组成原理运算器的实现实验报告

计算机组成原理运算器的实现实验报告

计算机组成原理运算器的实现实验报告信息与管理科学学院计算机科学与技术实验报告课程名称:计算机组成原理实验名称:运算器实验姓名:班级:指导教师:学号:实验室:组成原理实验室⽇期: 2013-11-16⼀、实验⽬的1.掌握运算器的组成及⼯作原理;2.了解4位函数发⽣器74LS181的组合功能,熟悉运算器执⾏算术操作和逻辑操作的具体实现过程;3.验证带进位控制的74LS181的功能。

⼆、实验环境EL-JY-II型计算机组成原理实验系统⼀套,排线若⼲。

三、实验内容验证74LS181运算器的逻辑运算功能和算术运算功能。

四、实验操作过程Ⅰ、单⽚机键盘操作⽅式实验注:在进⾏单⽚机键盘控制实验时,必须把开关K4置于“OFF”状态,否则系统处于⾃锁状态,⽆法进⾏实验。

1、实验连线(键盘实验):实验连线如图1-6所⽰。

(连线时应按如下⽅法:对于横排座,应使排线插头上的箭头⾯向⾃⼰插在横排座上;对于竖排座,应使排线插头上的箭头⾯向左边插在竖排座上。

注意:F4只⽤⼀个排线插头孔)2、实验过程:拨动清零开关CLR,使其指⽰灯灭。

再拨动CLR,使其指⽰灯亮。

在监控滚动显⽰【CLASS SELECt】时按【实验选择】键,显⽰【ES--_ _ 】输⼊01或1,按【确认】键,监控显⽰为【ES01】,表⽰准备进⼊实验⼀程序,也可按【取消】键来取消上⼀步操作,重新输⼊。

再按【确认】键,进⼊实验⼀程序,监控显⽰【InSt--】,提⽰输⼊运算指令,输⼊两位⼗六进制数(参考表1-3和表1-1),选择执⾏哪种运算操作,按【确认】键。

监控显⽰【Lo=0】,此处Lo相当于表1-1中的M,默认为“0”,进⾏算术运算,也可以输⼊“1”,进⾏逻辑运算。

按【确认】,显⽰【Cn=0】,默认为“0”,由表1-1可见,此时进⾏带进位运算,也可输⼊“1”,不带进位运算(注:如前⾯选择为逻辑运算,则Cn不起作⽤)。

按【确认】,显⽰【Ar=1】,使⽤默认值“1”,关闭进位输出。

51单片机算术运算指令

51单片机算术运算指令

1.程序状态字PSWMCS-51有一个程序状态字寄存器PSW,用来保存指令执行结果的标志,供程序查讯和判别。

PSW是特殊功能寄存器中的一个,其格式如下:PSW7--既是布尔处理机的累加器C,又是进位标志CY,如果操作结果在最高位有进位输出(加法时)或借位输入(减法时),置位CY,否则清“0”CY。

AC--辅助进位(半进位)标志。

如果操作结果的低4位有进位(加法时)或向高4位借位时(减法),置AC,否则清“0”AC,AC主要用于二-十进制数加法调整。

OV--溢出标志。

如果操作结果有进位进入最高位,但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,这时置位溢出标志位,否则OV清“0”。

溢出标志位用于补码运算,当有符号的数运算结果不能用8位二进制数表示时,OV将置位。

P--累加器A的奇偶标志位,如果累加器A的8位的模2和为1(奇),则P=1;否则P=0。

由于P总是表示A的奇偶性,随着A的内容变化的,所以一个值写入PSW的P位的值不变。

RS1、RS0--指示当前使用的工作寄存器区。

F0--用户标志位。

可作为软件标志,它的作用和内部RAM位寻址区的各位相似。

PSW1--保留位,对它的操作无效。

2.加法指令•1、不带进位加法指令工作寄存器、内部RAM单元内容或立即数的8位无符号二进制数和累加器A中数相加,所得和存放于累加器A中,当和的第3、7位有进位时,分别将AC,CY标志位置1;否则为0。

上述指令的执行将影响标志位AC、CY、OV、P。

对于无符号数,进位标志位CY=1,表示溢出;CY=0表示无溢出。

带符号数运算的溢出取决于第6、7位中有一位产生进位,而另一位不产生进位,溢出标志位OV置“1”否则被清“0”。

OV=1表示两个正数相加,和变为负数,或两个负数相加,和变为正数的错误结果。

源操作数有四种寻址方式:寄存器、直接、间接和立即数。

•2、带进位加法指令:这是四条带进位的加法指令。

将累加器A内容加当前CY标志位内容,再加无符号单字节的数,和存于累加器A中。

汇编语言设计-算术运算指令

汇编语言设计-算术运算指令

NEG指令是对指令中的操作数取补,再将结果送回。因 对一个操作数求2的补码,相当于0减去此操作数,所以NEG 指令执行的也是减法操作。
说明:0 – OPRD 又相当于: ①、FFH-OPRD+1 (字节操作)或
②、FFFFH-OPRD+1(字操作)。即将OPRD内容变反加1
例:若(AL)=13H 0000 0000 执行 NEG AL – 0001 0011
0000 0110 + 1111 1100 1← 0000 0010
6 + 252
258>255
+6 + (–4)
+2
CF=1 溢出
OF=0 不溢出
ⅲ、无符号数不溢出,带符号数溢出:
二进制加法 认作无符号 认作带符号数
0000 1000 + 0111 1011
1000 0011
8 + 123
131 CF=0 无溢出
2、带进位位的加法指令ADC ADC dest , src ; dest←dest+src+CF
ADC主要用于多字节运算,ADC对标志位的影响同ADD。 例:计算 1234FEDCH+33128765H 分别存于数据段指
定的区域中,低位在前,高位在后,相加后其和存入前一个双 字所在的区域中。 (SI)→1000H DCH (41H)
+ 39H 0011 1001
0110 1110
则(AL)=6EH,低4位为非法码,故需调整。
4、组合十进制加法调整指令DAA
(BCD码的加法十进制调整指令)
格式:DAA
功能:对组合BCD码相加的结果进行调整,使结果仍为 组合的BCD码。

带进位位的加法指令精品PPT课件

带进位位的加法指令精品PPT课件
17
• 用移位操作代替乘除法可提高运算速度
例:前例中计算 x×10。
(1)采用乘法指令:
MOV BL,10
MUL BL
共需70~77个T周期。
(2)采用移位和加法指令:
SAL AL,1
; 2T
MOV AH,AL
; 2T
SAL AL,1
; 2T
SAL AL,1
; 2T
ADD AL,AH
; 3T
只需11个T周期,仅相当于乘法的1/7。
SAL mem/reg, CL
1
;移位位数>1时 ;移位位数=1时
12
移位指令执行的操作如下图所示:
最高位 CF
最低位 0
(a)算术/逻辑左移 SAL/SHL
最高位 CF
最低位
最高位
CF 0
最低位
(b)算术右移 SAR
(c)逻辑右移 SHR
非循环移位指令功能示意图
13
➢算术移位——把操作数看做有符号数;
;(DI)←串偏移地址 ;(CX)←串长度 ;搜索关键字=’E’ ;从低地址到高地址进行搜索 ;若未找到, 继续搜索 ;找到, 转至FOUND ;串中无’E’,(DL)←’N’ ;转至DONE ;指针回退 ;ADDR←’E’的地址
3.3.3 逻辑运算和移位指令
1.逻辑运算指令(与/或/异或/非)
2. ● 运算规则:按位操作,无进/借位 3. ● 对标志位的影响(除NOT指令外):
CF OF SF ZF PF AF 0 0 * * * 无定义
根据运算结果设置 注意: 非指令NOT对标志无影响
1
表 4 – 3 逻辑运算类指令
2
29
⒉串比较指令CMPSB / CMPSW

微机原理与接口技术:加法减法运算指令

微机原理与接口技术:加法减法运算指令

1. 加法运算指令和调正指令ADD,ADC,INC,AAA,DAA(1)不带进位的加法运算指令ADDADD指令完成两个操作数相加,并将结果保存在目的操作数中。

指令格式:ADD OPRD1, OPRD2功能:操作数OPRD1与OPRD2相加,结果保存在OPRD1中。

说明:操作数OPRD1可以是累加器AL或AX,也可以是其它通用寄存器或存储器操作数,OPRD2可以是累加器、其它通用寄存器或存储器操作数,还可以是立即数。

OPRD1和OPRD2不能同时为存储器操作数,不能为段寄存器。

ADD指令的执行对全部6个状态标志位产生影响。

例如:ADD AL, BL ;AL+BL结果存回AL中。

ADD AX, SI ;AX+SI结果存回AX中。

ADD BX, 3DFH ;BX+03DFH结果存回BX中。

ADD DX, DA TA[BP+SI] ;DX与内存单元相加,结果存回DX中。

ADD BYTE PTR[DI], 30H ;内存单元与30H相加,结果存回内存单元中。

ADD [BX], AX ;内存单元[BX]与AX相加,结果存回[BX]中。

ADD [BX+SI], AL ;内存单元与AL相加,结果存回内存单元中。

【例题3-3】求D9H与6EH的和,并注明受影响的标志位状态。

MOV AL, 0D9HMOV BL, 6EHADD AL, BL结果AL=47H,标志位CF=1,PF=1,AF=1,ZF=0,SF=0,OF=0(2)带进位的加法运算指令ADCADC指令完成两个操作数相加之后,再加上Flags的进位标志CF。

CF的值可能为1或0。

指令格式:ADD OPRD1, OPRD2功能:操作数OPRD1与OPRD2相加后,再加上CF的值,结果保存在OPRD1中。

说明:对操作数的要求与ADD指令一样。

例如:ADC AL, BLADC AX, BXADC [DI], 30HADC指令主要用于多字节数的加法运算,以保证低位向高位的进位被正确接收。

算术运算类指令

算术运算类指令
√ √ √ √ 累加器A中的内容与工作寄存 器Rn中的内容相加,结果存 在A中
√ √ √ √ 累加器A中的内容与工作寄存 器Ri所指向地址单元中的内容 相加,结果存在A中
各标志位的形成方法: 如果位7有进位输出,则置位CY,否则清CY; 如果位3有进位输出,则置位AC,否则清AC; OV=CY7⊕CY6。 若累加器A中1的个数为奇数,则P=1,否则,P=0。
√ √ √ √ 累加器A中的内容减工作寄存器中 的内容再减借位位,结果存在A中
A←(A)-((Ri))-(CY)
√√
√ √ 累加器A中的内容减工作寄存器Ri 指向的地址单元中的内容再减借位 位,结果存在A中
在减法运算中
CY=1表示有借位,CY=0则无借位。 OV=1表明带符号数相减时,从一个正数减去一个负数结果为
√√


累加器A中的内容与立即数连同进位
位相加,结果存在A中
√√


累加器A中的内容与工作寄存器Rn中
的内容、连同进位位相加,结果存在
A中
√√


累加器A中的内容与工作寄存器Ri指
向的地址单元中的内容、连同进位位
相加,结果Байду номын сангаас在A中
3. 带借位减法指令(4条)
指令
功能
标志位
解释
PO A C VCY
SUBB A,direct
注意: DA A 只能用于加法运算
【例】:有两个BCD数36与45相加,结果应为BCD码81, 程序如下:
MOV A,#36H
ADD A,#45H
DA A
加法指令执行后得结果7BH;第三条指令对累加器A中的 结构进行十进制调整,低4位(为0BH)大于9,因此要加6, 最后得到调整的BCD码为81。

汇编语言设计-算术运算指令

汇编语言设计-算术运算指令

N
传完否?
JNZ AGAIN ;CX≠0,循环
Y
结束

8086算术运算指令可用的BCD码有两种:
ⅰ、组合BCD码:一个字节表示2位BCD码
ⅱ、非组合BCD码:一个字节只用低4位表示1位BCD 码, 高4位为0(无意义)。
例:设(AL)=35,(BL)=39 35H 0011 0101
执行 ADD AL,BL
JNS NEXT
;若SF=0,则(AX)>(BX),转NEXT
XCHG AX,BX ;否则交换
NEXT:HLT
Ⅱ、两负数比较,即A<0,B<0:两负数相减,结果也不会溢出,
仍可用符号标志,若SF=0,则A>B;反之若SF=1,则A<B。
Ⅲ、两异号数比较。当A>0,B<0时,当然的结果应该是A>B,
而且有SF=0。
格式:ADD dest,src ;dest←dest+src
功能:将源操作数与目的操作数相加,将结果送回目的操 作数。指令执行后对各状态标志均产生影响。
例:ADD CX,0F0F0H 设指令执行前(CX)=5463H
0101 0100 0110 0011
思考:
+ 1111 0000 1111 0000
LEA SI,BUF1 ;SI指向BUF1 LEA DI,BUF2 ;DI指向BUF2
取数 传送
MOV CX,100 ;CX放计数初值
AGAIN:MOV AL,[SI] ;取一字节数 MOV [DI],AL ;传送一字节数
修改地址指针 修改计数器
INC SI INC DI DEC CX
;修改地址指针 ;修改计数初值
NEG指令是对指令中的操作数取补,再将结果送回。因 对一个操作数求2的补码,相当于0减去此操作数,所以NEG 指令执行的也是减法操作。

常见51单片机指令及详解

常见51单片机指令及详解

常见51单片机指令及详解数据传递类指令(1)以累加器为目的操作数的指令MOV A,RnMOV A,directMOV A,@RiMOV A,#data第一条指令中,Rn代表的是R0-R7。

第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。

第四条指令是将立即数data送到A中。

下面我们通过一些例子加以说明:MOV A,R1 ;将工作寄存器R1中的值送入A,R1中的值保持不变。

MOV A,30H ;将内存30H单元中的值送入A,30H单元中的值保持不变。

MOV A,@R1 ;先看R1中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中。

如执行命令前R1中的值为20H,则是将20H单元中的值送入A中。

MOV A,#34H ;将立即数34H送入A中,执行完本条指令后,A中的值是34H。

(2)以寄存器Rn为目的操作的指令MOV Rn,AMOV Rn,directMOV Rn,#data这组指令功能是把源地址单元中的内容送入工作寄存器,源操作数不变。

(3)以直接地址为目的操作数的指令MOV direct,A 例: MOV 20H,AMOV direct,Rn MOV 20H,R1MOV direct1,direct2 MOV 20H,30HMOV direct,@Ri MOV 20H,@R1MOV direct,#data MOV 20H,#34H(4)以间接地址为目的操作数的指令MOV @Ri,A 例:MOV @R0,AMOV @Ri,direct MOV @R1,20HMOV @Ri,#data MOV @R0,#34H(5)十六位数的传递指令MOV DPTR,#data168051是一种8位机,这是唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入DPTR中去。

其中高8位送入DPH,低8位送入DPL。

例:MOV DPTR,#1234H,则执行完了之后DPH中的值为12H,DPL中的值为34H。

数据传送指令及算术逻辑运算和移位指令的使用

数据传送指令及算术逻辑运算和移位指令的使用

实验报告1.数据传送指令的使用一,实验目的;把数据、地址或立即数传送到寄存器、存储单元以及I/O端口,或从内存单元、I/O端口中读取数据。

1. 通用传送指令:MOV,PUSH,POP,XCHG,XLAT2. 输入输出指令指令: IN,OUT3. 目的地址传送指令: LEA,LDS,LES4. 标志位传送指令: LAHF,SAHF,PUSHF,POPF二,实验步骤;1. 传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。

3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。

并注意标志位有无变化。

2. 改变标志寄存器psw中tf标志的状态(0——1或1——0),其余位保持不变。

3. 设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。

在DEBUG状态下使用A 命令送入下面程序,并用单步T命令执行的方法,分析每条指令源地址的形成过程?当数据传送每完成一次,试分析AX寄存器中的内容是什么?程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]HLT4. 使用标志位传送指令,编程序段将标志位寄存器的低八位的值存入内存单元DS:1000H 中或堆栈中,然后将标志位寄存器的低八位置位为10101010。

2.算术逻辑运算和移位指令的使用一,实验目的;使用算术逻辑运算和移位指令,可以实现对二进制数据的加、减、乘、除等四则运算,与、或、非、异或等逻辑运算,以及移位运算和代码转换运算1,算术运算:加法指令、减法指令,乘法指令、除法指令以及转换指令;2. 逻辑运算指令:AND,TEST,OR,XOR,NOT3. 移位指令:移位运算可以分为算术逻辑移位和循环移位两类。

_带进位运算指令的实现

_带进位运算指令的实现

课程设计目录课程设计任务书 (2)基本模型机的设计 (3)——带进位运算指令的实现 (3)1、设计的目的 (3)2、设计的原理 (3)3、模型机的逻辑框图 (3)4、设计指令系统 (5)4、1 指令类型: (5)4、2操作数寻址方式及编码: (5)5、设计微程序及其实现的方法 (5)6、模型机当中时序的设计安排 (7)7、设计指令执行流程 (7)8、源程序代码 (8)8、1指令代码 (8)8、2微指令序列 (8)9、使用软件HKCPT的联机与脱机方式的实现过程 (9)10、课程设计总结 (12)本科生课程设计成绩评定表 (13)guide sex further enhanced, documents handle and running of speed obviously speed up, program gradually specification, conference service and Chief reception of quality and level has has new of improve, Logistics support capability further strengthened. Document management, confidential, confidentiality, duty, letters and other items have been significantly improved. 4, Office construction increased at all levels. City Government offices adhere to strengthen and improve the construction of the system as a breakthrough, has developed a series of code of conduct, continuous improvement of operational mechanism, sound and the implementation of the rules and regulations, and adhere to the system of managing people, according to the rules, the work gradually into the orbit of institutionalization and standardization. Focus on strengthening ideological and political construction of the contingent of cadres, and actively carried out various business training, knowledge of the Office team structure has been optimized, to broaden the range of knowledge and operational capacity grows, nurtured apolitical firm, sharp, professional and innovative staff, created solidarity, striving for the top, pragmatic, dedication, good image. However, with the State Council and the provincial Government of the national, the province's Secretary-General meeting of government offices under the new situation the functions and priorities compared to the requirements of our gap is still very big. Main is daily in the passive meet of more, active research of less, service also has not timely, and not in place of problem; work in the meet Yu traditional of, and program of of work way, develop innovation spirit and service innovation capacity not strong; supervision information work and promoted decision implementation of contact enough close, feedback situation not active; research resources of using enough full, research results of into degree not high; some sector documents running not specification; Municipal Government Office on the County (district) and municipal government sector Office work of guide enough, No real form interaction and close collaboration, promote the implementation of the work. These problems,we must effectively be addressed in the future work. Second, serve the overall situation, carry out their duties, improve quality, and strive to create a new situation of system of government offices in the city since last season, meeting the Secretary-General of the State Council and the provincial government has held a government system, from a global and strategic height, scientifically analyzed the new situation and the newTasks on the system of government offices bring new situations and new problems and new challenges, profoundly expounded the work of government departments at all levels in the new era should be put in the situation to understand, to grasp, to deploy at any time and under any circumstances, should always focus on the big picture, firmly grasp the overall situation, increasing in the overall implementing in earnest the work of spontaneity, initiativeSecondly, we should strengthen the team. A unit is a team in various sections of the unit inside is also a small team. A unit with a team spirit, formed a team responsibility, cohesion and competitiveness. You want to make a unit, a Departmentwork improvement, must be melting inside a feeling of solidarity and mutual help, for a common goal and determined to achieve the spirit, cultivating a strong collective spirit and team responsibility, sense of honor. Therefore, we need to start improving office work and enhance the efficiency of Office work and strive to build a concerted ... Fault. In accordance with the requirements of modern management science, establishing strict responsibility system of management by objectives. A work who is in charge, who is in charge and who is responsible, what right do these people have, what responsibility, has to truthfully and clearly understood. Departments at all levels should strictly implement the check in the Office of party Committee evaluation, significant accountability and reward incentive system, pay close attention to duty cash and making unity, rights, responsibilities, and to inspire each of cadres spirit and morale, Super courage. Investee insists, is a deep topic, is a real problem, is a big issue. Today, I just combined this year, the city's Communist Party Committee Office, had some rough talk andunderstanding, we must strengthen research and exchanges in this regard in the future. Investee in the new year, we must hold high the banner of Deng Xiaoping theory and the "three represents" theory the great banner of, under the correct leadership of the CPC, adhere to the people-oriented, insist on truth, adhere first to excellence, efforts to do Office work to a new level. Speech at the Conference on the system of government offices in the city around the development of service function to create a new situation in the work of the Office of the city's system of Government--speech at the Conference on the system of government offices in the city This system of government offices working in the city's main task is to study Government systems of administrative supervision, administrative information, administrative reception and information technology issues. For the meeting, the City Mayor Ma has made important instructions, the Municipal Government Office fully prepared brewing, combined with practical work to develop the notice on further strengthening the supervision work, the XX, Chief Information interim measures for 2005 and the city's system of Government Administration informatization construction task statement and other documents. Before the General Assembly and organization of counties (districts) of the scene to observe the Government Office, achieve the purpose of exchanges of work, thought. Today, the Tang Mayor also attended the meeting and delivered an important speech in the midst, hope good grasp of implementation. Next, I would like to make a few remarks. A, and around Center, looks at development, strengthened service, city government system Office work rendering atmosphere in recent years, city government system Office to武汉理工大学《计算机组成原理》课程设计说明书课程设计任务书学生姓名:项翼专业班级:物联网1102指导教师:姚寒冰工作单位:计算机科学与技术学院题目: 基本模型机的设计——带进位运算指令的实现初始条件:理论:学习“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”等课程,熟练掌握其中知识,并初步学会计算机组成原理实验平台的使用。

带进位运算指令的实现

带进位运算指令的实现

学号:0120810340113课程设计课程名称计算机组成原理题目带进位运算指令的实现学院计算机科学与技术学院专业计算机科学与技术班级0801班姓名赵旭林指导教师马保才2010 年 1 月10 日目录课程设计任务书 (1)1、设计原理 (1)1.1 实验原理 (1)1.2 实验目的 (1)1.3 模型机的逻辑框图 (2)1.4 指令类型及格式 (3)1.5 微指令与微程序介绍 (4)1.6 后续微地址的产生及微程序入口地址的形成 (5)2、调试过程与数据记录 (5)2.1 源程序代码 (5)2.2 指令码 (6)2.3 微程序 (6)2.4 微单步运行过程 (7)2.5 时序图 (10)3、设计心得 (11)4、参考文献 (12)课程设计任务书学生姓名:赵旭林专业班级:计算机指导教师:马保才工作单位:计算机科学与技术学院题目: 基本模型机的设计——带进位运算指令的实现初始条件:理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。

实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。

2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。

3、课程设计的书写报告应包括:(1)课程设计的题目。

(2)设计的目的及设计原理。

(3)根据设计要求给出模型机的逻辑框图。

(4)设计指令系统,并分析指令格式。

(5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。

(6)模型机当中时序的设计安排。

(7)设计指令执行流程。

(8)给出编制的源程序,写出程序的指令代码及微程序。

带进位循环右移指令

带进位循环右移指令
指令应用举例
X0
[D.]
n
FNC32 RCR(P) D0
K4
图7.63 RCR指令应用举例
当X0由OFF→ON时,[D]内各位数据向右移n位,最后一次从最低位移出的状 态也存于进位标志M8022中。 RCR指令的示意如图7.64所示:
图7.64 RCR指令的示意图
在指定位软元件的场合下, 只有K4(16位指令)或K8 (32位指令)有效。
用连续指令执行时,循环移位操 作每个周期执行一次。
说明
上面解释16位指令的RCR 的执行情况也适用于32 位的指令。
XXXXX XXXXX
带进位循环右移指令
指令 名称
助记符
指令代 码位数
带进位 循环右

RCR RCR(P )
FN C32
16 /32
操作数范围
D(•)
n
KnY、
K、H
KnM、
移位量
KnS 、T
n≤16(

16位)
C、D、V
n≤32(
、Z
32位)
程序步
RCR、 RCRP… 5步
DRCR、 DRCRP… 9步
功能:带进位循环右移指令使16位、32位数据连同进位一起向 右循环移位“n”位。如果M8022在执行循环指令前ON,则循环 中的进位标志被送到目标。
指令格式
[D·]为要移位目 软组件
移动位数n为K和H指 定的常数
n为每次移动 的位数
1.指令编号及助 记符:带进位的 循环右移指令
FNC32 RCR [D·]n其中:
目标操作数可 取KnY、KnM、 KnS、T、C、D、 V和Z
指令用法
RCR指令功能是将指定的目软组件中的二进制数按照指令规定的每次 移动的位数由高位向低位移动,最低位移动到进位标志位M8022。 M8022中的内容则移动到最高位
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

带进位运算指令的实现
1 实验题目
基本模型机的设计--------带进位运算指令的实现
2 实验目的及原理
2.1 实验目的
通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。

熟悉HKCPT操作平台,并通过使用软件HKCPT,了解程序编译、加载的过程。

同时,培养动手能力,独立解决问题的能力。

2.2 实验原理
在各个模块试验中,各模块的控制信号都由试验者手动模拟产生。

而在真正的试验系统中,模型机的运行是在微程序的控制下进行的,可以实现特定指令的功能。

在本试验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即一条机器指令对应一个微程序。

3 模型机的逻辑框图
下图中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。

这些部件的动作控制信号都有微控器根据微指令产生。

需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。

4设计指令系统,并分析指令格式
由于实验平台内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,哪几种寻址方式和编码方式。

4.1指令类型
①算术/逻辑运算类指令:例如,加法、减法、取反、逻辑运算:
ADD A, Ri , SUB A, Ri
②移位操作类指令:例如,带进位或不带进位的移位指令:
RRC A, RR A
③数据传输类指令:例如,CPU内部寄存器之间数据传递:
MOV A, Ri , MOV Ri,A
④程序跳转指令:跳转指令分为无条件跳转和有条件跳转指令。

JMP addr
JZ addr
⑤存储器操作类指令:存储器读/写指令。

例如,
LDA addr
4.2指令格式分析
Intel 8086/8088指令字较短,所以指令采用变长指令字结构。

指令格式包括单指令、双字长指令、三字长指令等多种。

指令长度为1~6字节不等,既有8位、16位、24位、32位、40位和48位6种,其中第一个字节为操作码;第2个字节指出寻址方式;第3个至第6个字节则给出操作数地址等。

基本指令格式如下:
4.3操作数寻址方式及编码
4.3.1直接地址寻址
例如,双字节指令:
LDA ADDR (ADDR)->A STA ADDR (A)->ADDR
第1字节(操作码) 第2字节(操作数地址)
4.3.2寄存器直接寻址
指令字节中含有寄存器选择码,决定选哪个寄存器进行操作。

例如,双字节指令:MOV
RI,#DATA DATA->RI
单字节(操作码与RI 选择码)
4.3.3寄存器间接寻址
第2字节(DATA )
例如,单字节指令: MOV A,@RI (RI)->A
4.3.4立即数寻址
例如:
RI 选择码 操作码
5微指令设计
表格中的位数对应的关系如下:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA 9 8 7 6 5 4 3 2 1 0
6 源程序、程序的指令代码及微程序
6.1指令如下:
MOV A,#81
RRC A
MOV A,#18
RLC A
MOV R0,#40
MOV A,#18
RCL A
ADD A,R0
JC 10
JMP 0A
STA 20
HALT
6.2相应微程序如下:
7 模型机当中时序的设计安排
由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序
的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元所产生的每一拍的作用。

由监控单元产生一个PLS-O的信号来控制时序产生。

PLS-O信号经过时序单元的处理产生了4个脉冲信号。

4个脉冲信号组成一个微指令周期,为不同的寄存器提供工作脉冲。

PLS1 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。

PLS2 PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器加1和重置PC计数等功能。

PLS3 把24微指令打入3片微指令锁存器。

PLS4 把当前总线上的数据打入微指令选通的寄存器中。

8 微指令
使用软件HKCPT的联机与脱机方式的实现过程
微指令如下:
9累加器A和有关寄存器、存储器的变化以及数据流程:
1 2
3 4
5 6
7 8
9
10
11 12
13
14
15
16
17 18
19 20
10课程设计总结
通过这次课程设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论
课程的理解。

通过调试执行程序,对程序执行的流程以及指令间的跳转有了更加深刻的理解,对简单模型机的数据流向也有了一定的了解。

经过近一个星期的实验,也使我认识到理论知识的欠缺,对课本理论知识的理解不够。

因此,在今后的学习中,应该多上机学习,以加强理论知识的理解滚固,只有理论与实践想结合才能达到很好的学习效果。

相关文档
最新文档