计算机组成原理 课程设计报告 联系客服

发布时间 : 星期一 文章计算机组成原理 课程设计报告更新完毕开始阅读c31d83fb6d1aff00bed5b9f3f90f76c661374c61

5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序 (1)乘法

4位乘法的算法流程图与汇编语言程序清单:

汇编语言程序清单:

MOV R0,#07H ;初始化被乘数 MOV R1,#05H ;初始化乘数 CLR R2 ;R2 ;清零

P1: TEST R1 ;测试乘数是否为0

JZ W ;是0跳转,程序结束 RRC R1 ;进位右移 JC S ;CF=1,跳到S P2: RL R0 ;R0左移

JMP P ;跳到P P3: MOV A,R0

ADD R2,A JMP Q P4: ENDP L: JMP L

(2)除法

4位除法的算法流程图与汇编语言程序清单:

汇编语言程序清单:

MOV R0,#63H ;初始化被除数 MOV R1,#08H ;初始化除数 MOV A,R1 MOV R3,A

RR R3 ;初始化计数器 CLR R2 ;清零商

TEST R1 ;检验除数是否为0 JZ C0 ;是0,跳转报错 RL R1 RL R1 RL R1

RL R1 ;对齐被除数与除数 MOV A,R0

SUB A,R1 ;判断商是否不超过5位 JC B1 ;不超过,跳转 JMP C0 ;超过,报错 B0: MOV A,R3 SUB A,R1

JZ C1 ;控制循环次数

MOV A,R0 SUB A,R1 JC B1

JMP B2 ;余数为正,做减法 B1: ADD A,R1 ;余数为负,做加法 B2: MOV R0,A

RR R1 ;右移除数

RLC R2 ;余数为负则C=1,左移上1;余数为正则C=0,左移上0 JMP B0 ;跳转 C0: MOV R0,#0FFH ;报错 MOV R1,#0FFH MOV R2,#0FFH MOV R3,#0FFH JMP ENDD

C1: NOT R2 ;取反得商

AND R2,#0FH ;商不超过4位 ENDD: ENDP P: JMP P

6.上述程序的运行情况(跟踪结果)

按下表填写描述以上各程序运行情况的内容。按每个程序一张表进行。

1.乘法程序运行的过程 汇 编 指 令 MOV R0,#07H MOV R1,#05H CLR R2 程序机器地址 码 00 02 04 0407 0505 36 指令说明 微程序 C7FBFF CBFFFF C7FBFF CBFFFF FFF7F7 FFF7EF CBFFFF FFF7F7 FFF7EF FFFE92 CBFFFF C6FFFF CBFFFF FFF7F7 FFFABF PC ?PC 01 02 03 04 05 04 05 04 05 34 35 36 37 38 39 3A 3B 44 45 30 31 运行时寄存器或存储器的值 R0=07,EM=07,IR=04 R1=05,EM=05,IR=05 IR=36,EM=36, R2=0,A=0,W=0 TEST R1 05 39 06 IR=39,EM=39, R1=05,A=05 W=05 EM=44,IR=44 EM=12 EM=31,IR=31 R1=02 JZ P4 RRC R1 06 08 4412 31 07 08 09

CBFFFF JC P3 MOV A,R0 ADD R2,A 09 0E 0F 400E 0C 12 C6FFFF CBFFFF FFF7F7 CBFFFF FFF7EF FFFB98 CBFFFF C6FFFF CBFFFF FFF7F7 FFF8DF CBFFFF C6FFFF CBFFFF FFF7F7 FFF7EF FFFE92 CBFFFF C6FFFF CBFFFF FFF7F7 FFFABF CBFFFF C6FFFF CBFFFF FFF7F7 FFF8DF CBFFFF C6FFFF CBFFFF FFF7F7 FFF7EF FFFE92 CBFFFF C6FFFF CBFFFF FFF7F7 FFFABF CBFFFF C6FFFF CBFFFF 0A 0E 0F 10 32 40 41 0C 0D 10 11 12 48 49 24 25 26 48 49 38 39 3A 3B 44 45 30 31 32 40 41 24 25 26 48 49 38 39 3A 3B 44 45 30 31 32 40 41 EM=40,IR=40 EM=0E EM=0C,IR=0C R0=07,A=07 EM=12,IR=12 R2=0,W=0 R2=07 EM=48,IR=48 EM=0B EM=24,IR=24 R0=07,A=07 R0=0E EM=48,IR=48 EM=05 EM=39,IR=39 R1=02,A=02 W=02 A=02 EM=44,IR=44 EM=12 EM=31,IR=31 R1=02,A=02 R1=01 EM=40,IR=40 EM=0E EM=24,IR=24 R0=0E,A=0E R0=1C EM=48,IR=48 EM=05 EM=39,IR=39 R1=01,A=01 W=01 A=01 EM=44,IR=44 EM=12 EM=31,IR=31 R1=01,A=01 R1=00 EM=40,IR=40 EM=0E JMP P2 RL R0 10 0B 480B 24 11 0B 0C JMP P1 TEST R1 0C 05 4805 39 0D 05 06 JZ P4 RRC R1 06 08 4412 31 07 08 09 JC P3 RL R0 09 0B 400E 24 0A 0E 0C JMP P1 TEST R1 0C 05 4805 39 0D 05 06 JZ P4 RRC R1 06 08 4412 31 07 08 09 JC P3 09 400E 0A 0E

MOV A,R0 ADD R2,A 0E 0F 0C 12 FFF7F7 CBFFFF FFF7EF FFFB98 CBFFFF C6FFFF CBFFFF FFF7F7 FFF8DF CBFFFF C6FFFF CBFFFF FFF7F7 FFF7EF FFFE92 CBFFFF C6FFFF CBFFFF CBFFFF C6FFFF CBFFFF 0F 10 0C 0D 10 11 12 48 49 24 25 26 48 49 38 39 3A 3B 44 45 3C 48 49 EM=0C,IR=0C R0=1C,A=1C EM=12,IR=12 R2=07,W=07 R2=23 EM=48,IR=48 EM=0B EM=24,IR=24 R0=1C,A=1C R0=38 EM=48,IR=48 EM=05 EM=39,IR=39 R1=00,A=00 W=00 A=00 EM=44,IR=44 EM=12 EM=3C,IR=3C EM=48,IR=48 EM=13 JMP P2 RL R0 10 0B 480B 24 11 0B 0C JMP P1 TEST R1 0C 05 4805 39 0D 05 06 JZ P4 ENDP JMP L 06 12 13 4412 3C 4813 07 12 13 14 13

2.除法程序运行的过程 汇 编 指 令 MOV R0,#63H MOV R1,#08H MOV A,R1 MOV R3,A RR R3 程序机器地址 码 00 02 04 05 06 0463 0508 0D 0B 2B 指令说明 微程序 C7FBFF CBFFFF C7FBFF CBFFFF FFF7F7 CBFFFF FFFB9F CBFFFF FFF7F7 FFF8BF CBFFFF FFF7F7 FFF7EF FFFB99 CBFFFF PC ?PC 01 02 03 04 05 06 07 04 05 04 05 0C 0D 08 09 28 29 2A 34 35 36 37 运行时寄存器或存储器的值 EM=04,IR=04 EM=63,R0=63 EM=05,IR=05 EM=08,R1=08 EM=0D,IR=0D R1=08,A=08 EM=0B,IR=0B R3=08 EM=2B,IR=2B A=08,R3=08 R3=04 EM=36,IR=36 R2=0,A=0 W=0 CLR R2 07 36 08